[英]MATCH and INDEX to return index number 2 Excel
我嘗試結合使用CONCATENATE
、 INDEX
和MATCH
function 來獲取一份概覽表,了解哪些員工每天工作 function 。
這是設置:
這應該是結果表:
這是我做的公式:
=CONCATENATE(INDEX($B$5:$B$10,MATCH($B2,C$5:C$10,0)))
並且只獲取第一個索引:
怎樣才能分別返回索引2:name3和name5?
我有一個 2016 版本之前的 Excel 版本,無法使用TEXTJOIN
或CONCAT
function。
編輯
即使 VBA 解決方案也有效,我還是嘗試使公式有效:
這就是我的工作:
=IF(COUNTIF(C$5:C$10,$B2)=0,"",IF(COUNTIF(C$5:C$10,$B2)=1;INDEX($B$5:$B$10,MATCH($B2,C$5:C$10;0)),INDEX($B$5:$B$10,MATCH($B2,C$5:C$10,0))&CHAR(10)&INDEX($B$5:$B$10,SMALL(MATCH($B2,C$5:C$10),ROWS(C$5)))))
它在這種情況下給出了正確的解決方案(假設最多有 2 個匹配項),但它很脆弱。
我在更大的設置中對其進行了測試,它兩次返回相同的名稱,但我無法弄清楚問題出在哪里。
任何想法,為什么會這樣?
一點都不漂亮。 但它確實有效。
用戶定義 function。
將此代碼放在模塊中
Function name_find(func As String, namerng As Range, searchrng As Range)
For Each r In searchrng
If r.Value = func Then
name_find = name_find & Chr(10) & Cells(r.Row, namerng.Column).Value
End If
Next r
End Function
並使用公式:
=name_find(C4,C9:C14,D9:D14)
請記住在單元格中啟用換行符。 我花了一段時間才明白為什么它不起作用:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.