在Excel中汇总各个列的单元格值

excel的截图

我想要列A显示:

概要
黑色[3XL] * 1,黑色[4XL] * 1
黑色[6XL] * 3
黑色[2XL] * 1

我可以使用哪些公式?

你可以在A2中input这个公式:

=MID(IF(ISBLANK(B2), "", ", " & B$1 & "*" & B2) & IF(ISBLANK(C2), "", ", " & C$1 & "*" & C2) & IF(ISBLANK(D2), "", ", " & D$1 & "*" & D2) & IF(ISBLANK(E2), "", ", " & E$1 & "*" & E2) & IF(ISBLANK(F2), "", ", " & F$1 & "*" & F2) & IF(ISBLANK(G2), "", ", " & G$1 & "*" & G2) & IF(ISBLANK(H2), "", ", " & H$1 & "*" & H2) & IF(ISBLANK(I2), "", ", " & I$1 & "*" & I2), 3, 200) 

…并向下复制该公式。

我find了解决scheme。 在A2中input以下代码:

 =IF(B2,B$1 & "*" & B2 & ", ", "") & IF(C2,C$1 & "*" & C2 & ", ", "") & IF(D2,D$1 & "*" & D2 & ", ", "")... 

然后拖下来。

如果允许VBA的另一种方法是使用一个现成的连接函数,像这样一个数组公式:

 =StringConcat(",",IF(B2:I2="","",B$1:I$1&"*"&B2:I2)) 

必须使用Ctrl Shift Enter作为数组公式input

在这里输入图像说明

在A2中使用以下代码并向下复制。 = MID(CONCATENATE(IF(B2 <>“”,“,”&B $ 1&“ ”&B2,“”),IF(C2 <>“”,“,”&C $ 1&“ ”&C2,“”),IF (F2“>” ),IF(E2 <>“”,“,”&E $ 1&“ ”&E2,“” 如果(G2 <>“”,“,”&G $ 1&“ ”&G2,“”“),IF(H2 <>”“,”,“&H $ 1 &“ ”&H2,“”),IF(I2 <>“”,“,”&I $ 1&“ ”&I2,“”)),3,1000)