想象一下Excel中有下表。如何获取连续的非空单元格列表。 理想情况下,这将是一个给定的单元格名称,就像这里的'Honey'等。但我会选择一个带有Excel格式名称的列表,即B,D,G。 计算单元格数> 0是相当容易的但是如何获得它们的身份
recipe No Honey Sugar Chocolate Berries Juice Milk Result
1 5 0 2 0 0 3 Honey,Chocolate,Milk
答案 0 :(得分:0)
您可以使用此VBA功能。通过将带有标题(成分)的行(范围)作为第一个参数并将行(范围)与金额(无论如何)作为第二个参数来调用它。将其放入VBA模块后,可以像使用本机Excel函数一样使用此功能。 (它不会在这里检查正确的输入,因此两个范围(标题和数量)必须包含相同数量的单元格)
Function Ingredients(headers As Range, counts As Range) As String
Dim i As Integer
Dim s As String
Dim sp As String
For i = 1 To headers.Cells.Count
If counts(i) <> 0 Then
s = s + sp + headers(i)
sp = ", "
End If
Next
Ingredients = s
End Function
例如:(如果成分在B-G栏中)
=Ingredients(B1:G1;B2:G2)