如何根據列值爲True
?得到「應用程序類型」的連接列表 - 我的列標題 - 。可能有幾種應用程序類型。根據查找值和多個查找值獲取範圍內的標題值
請看到這一點:
的目標是把應用程序類型的數據合併到一列。例如。對於示例中的第1行,輸出將是Application 1,Application 2
。
如何根據列值爲True
?得到「應用程序類型」的連接列表 - 我的列標題 - 。可能有幾種應用程序類型。根據查找值和多個查找值獲取範圍內的標題值
請看到這一點:
的目標是把應用程序類型的數據合併到一列。例如。對於示例中的第1行,輸出將是Application 1,Application 2
。
如果您樂於使用VBA,則可以使用UDF(用戶定義函數)來實現此目的。我嘲笑你設置的簡單版本:
在單元格中公式H2
只是需要兩個範圍,當前行和標題(這需要一個絕對的參考,讓您可以向下拖動公式)
=GetHeaders(B2:F2,$B$1:$F$1)
爲了能夠使用此功能,您將需要導航到VBA編輯器,添加一個新的模塊,並在此代碼粘貼:
Public Function GetHeaders(dataRow As Range, headers As Range)
Dim i As Long
Dim result As String, split As String
split = ", "
For i = 1 To dataRow.Columns.Count
If dataRow.Cells(1, i).Value = True Then
result = result & headers.Cells(1, i).Value & split
End If
Next i
GetHeaders = Left(result, Len(result) - Len(split))
End Function
這是非常直接的,所以儘量確保您在使用之前瞭解代碼
謝謝CallumDA,工作! –
嗨CallumDA, 我試過了,但如果我要使用GetHeaders公式,我不能存儲宏,並無法使用sub和end sub做到這一點,因此,它不能連續使用。 有沒有辦法做到這一點? –
爲什麼這需要成爲一個子?它的作品,對吧? – CallumDA
您正在使用哪個版本的excel? – CallumDA
我正在使用Excel 2013. –
哦,無聊,我只是敲了一個INDEX MATCH,但只做第一個'TRUE'我要去查詢項目1上的2個TRUES,但看到'可能有幾個應用程序類型'。去一些VBA。在我放棄運營模塊之前,我希望看到一些編碼工作。 –