My Excel Approach

The first thing I had to do was import the Mosaic Creator text output into Excel.  From there I did a simple search formula that assigned each color a letter.  I'll include the code I used after each screenshot.

 

=IF(B1="","",IF(ISNUMBER(SEARCH("Black 011",B1,1)),"A",IF(ISNUMBER(SEARCH("Blue 007",B1,1)),"B",IF(ISNUMBER(SEARCH("Brown",B1,1)),"C",IF(ISNUMBER(SEARCH("Dark Bluish Gray 085",B1,1)),"D",IF(ISNUMBER(SEARCH("Dark Gray 010",B1,1)),"E",IF(ISNUMBER(SEARCH("Dark Green",B1,1)),"F",IF(ISNUMBER(SEARCH("Green 006",B1,1)),"G",IF(ISNUMBER(SEARCH("Light Bluish Gray 086",B1,1)),"H",IF(ISNUMBER(SEARCH("Light Gray 009",B1,1)),"I",IF(ISNUMBER(SEARCH("Lime 034",B1,1)),"J",IF(ISNUMBER(SEARCH("Medium Blue 042",B1,1)),"K",IF(ISNUMBER(SEARCH("Orange 004",B1,1)),"L",IF(ISNUMBER(SEARCH("Red 005",B1,1)),"M",IF(ISNUMBER(SEARCH("Reddish Brown 088",B1,1)),"N",IF(ISNUMBER(SEARCH("Tan 002",B1,1)),"O",IF(ISNUMBER(SEARCH("White 001",B1,1)),"P",IF(ISNUMBER(SEARCH("Yellow 003",B1,1)),"Q",IF(ISNUMBER(SEARCH("Dark Blue",B1,1)),"R",IF(ISNUMBER(SEARCH("Dark Tan",B1,1)),"S",IF(ISNUMBER(SEARCH("Sand Green",B1,1)),"T",IF(ISNUMBER(SEARCH("Sand Red",B1,1)),"U",IF(ISNUMBER(SEARCH("Medium Orange",B1,1)),"V",IF(ISNUMBER(SEARCH("Bright Pink",B1,1)),"W","error"))))))))))))))))))))))))

 

=IF(COLUMN()>$A$1+1,"",IF(ROW()>$B$1+1,"",INDIRECT(ADDRESS((ROW()-2)*$A$1+(COLUMN()-2)+1,1,1,TRUE,"File"))))

 

The first challenge was to figure out what cells I could combine.

In the example below, you can see that if A1 = A2 = B1 = B2, then you can replace that section with a 2x2 of all red.

 

 

I started with the biggest replacements first, so I first scrubbed the "Start" tab for places where I could find 2x4s, and put the result in the "Add 2-4" tab.

 

=IF(Start!D4="","",IF(RIGHT(C3,4)="24_1",LEFT(Start!D4,1)&"24_6",IF(RIGHT(C4,4)="24_1",LEFT(Start!D4,1)&"24_2",IF(RIGHT(D3,4)="24_1",LEFT(Start!D4,1)&"24_5",IF(RIGHT(A3,4)="24_1",LEFT(Start!D4,1)&"24_8",IF(RIGHT(B3,4)="24_1",LEFT(Start!D4,1)&"24_7",IF(RIGHT(A4,4)="24_1",LEFT(Start!D4,1)&"24_4",IF(RIGHT(B4,4)="24_1",LEFT(Start!D4,1)&"24_3",IF(AND(RIGHT(E3,4)<>"24_1",RIGHT(F3,4)<>"24_1",RIGHT(G3,4)<>"24_1",LEFT(Start!D4,1)=LEFT(Start!E4,1),LEFT(Start!D4,1)=LEFT(Start!F4,1),LEFT(Start!D4,1)=LEFT(Start!G4,1),LEFT(Start!D4,1)=LEFT(Start!D5,1),LEFT(Start!D4,1)=LEFT(Start!E5,1),LEFT(Start!D4,1)=LEFT(Start!F5,1),LEFT(Start!D4,1)=LEFT(Start!G5,1)),LEFT(Start!D4,1)&"24_1",Start!D4)))))))))

Then I checked for 4-2s up and down.

 

=IF(Start!D4="","",IF(LEFT(RIGHT('Add 2-4'!D4,4),2)="24",'Add 2-4'!D4,IF(RIGHT(C4,4)="42_1",LEFT('Add 2-4'!D4,1)&"42_2",IF(RIGHT(D3,4)="42_1",LEFT('Add 2-4'!D4,1)&"42_3",IF(RIGHT(C3,4)="42_1",LEFT('Add 2-4'!D4,1)&"42_4",IF(RIGHT(D2,4)="42_1",LEFT('Add 2-4'!D4,1)&"42_5",IF(RIGHT(C2,4)="42_1",LEFT('Add 2-4'!D4,1)&"42_6",IF(RIGHT(D1,4)="42_1",LEFT('Add 2-4'!D4,1)&"42_7",IF(RIGHT(C1,4)="42_1",LEFT('Add 2-4'!D4,1)&"42_8",IF(AND(RIGHT(E1,4)<>"42_1",RIGHT(E2,4)<>"42_1",RIGHT(E3,4)<>"42_1",'Add 2-4'!D4='Add 2-4'!E4,'Add 2-4'!D4='Add 2-4'!D5,'Add 2-4'!D4='Add 2-4'!E5,'Add 2-4'!D4='Add 2-4'!D6,'Add 2-4'!D4='Add 2-4'!E6,'Add 2-4'!D4='Add 2-4'!D7,'Add 2-4'!D4='Add 2-4'!E7),LEFT('Add 2-4'!D4,1)&"42_1",'Add 2-4'!D4))))))))))

 

Looking back at that tab, I then searched for 2x2s.

=IF(Start!D4="","",IF(OR(LEFT(RIGHT('Add 4-2'!D4,4),2)="24",(LEFT(RIGHT('Add 2-4'!D4,4),2)="42")),'Add 4-2'!D4,IF(RIGHT(C4,4)="22_1",LEFT('Add 4-2'!D4,1)&"22_2",IF(RIGHT(D3,4)="22_1",LEFT('Add 4-2'!D4,1)&"22_3",IF(RIGHT(C3,4)="22_1",LEFT('Add 4-2'!D4,1)&"22_4",IF(AND(RIGHT(E3,4)<>"22_1",'Add 4-2'!D4='Add 4-2'!E4,'Add 4-2'!D4='Add 4-2'!D5,'Add 4-2'!D4='Add 4-2'!E5),LEFT('Add 4-2'!D4,1)&"22_1",'Add 4-2'!D4))))))

Then looked for 1x2s.

=IF(Start!D4="","",IF(OR(LEFT(RIGHT('Add 2-2'!D4,4),2)="24",(LEFT(RIGHT('Add 2-2'!D4,4),2)="42"),LEFT(RIGHT('Add 2-2'!D4,4),2)="22"),'Add 2-2'!D4,IF(RIGHT(C4,4)="12_1",LEFT('Add 2-2'!D4,1)&"12_2",IF(AND('Add 2-2'!D4='Add 2-2'!E4),LEFT('Add 2-2'!D4,1)&"12_1",'Add 2-2'!D4))))

 

And finally 2x1s up and down

 

=IF(Start!D4="","",IF(OR(LEFT(RIGHT('Add 1-2'!D4,4),2)="24",(LEFT(RIGHT('Add 1-2'!D4,4),2)="42"),LEFT(RIGHT('Add 1-2'!D4,4),2)="22",LEFT(RIGHT('Add 1-2'!D4,4),2)="12"),'Add 1-2'!D4,IF(RIGHT(D3,4)="21_1",LEFT('Add 1-2'!D4,1)&"21_2",IF(AND('Add 1-2'!D4='Add 1-2'!D5),LEFT('Add 1-2'!D4,1)&"21_1",'Add 1-2'!D4))))

To get the coloring for each cell, and the borders for the Lego pieces, I used a bunch of conditional formatting statements.

The end result in Excel. (black text was changed to white for the black Lego pieces) 

Once that was done, I could do a simple search to see how many of each color and what type I would need.