簡體   English   中英

EXCEL:使用索引/匹配創建具有多個結果的數組公式

[英]EXCEL: Create Array Formula out of INDEX/MATCH with multiple results

我的目標是將包含不同項目、員工和每月工作時間的大型 excel 表轉換為每個員工的概覽。 應該可以顯示員工參與的項目以及他每個月每個項目工作的小時數。 原始工作表如下所示:

在此處查看簡化的 Excel 表

我通過過濾 INDEX/MATCH function 設法找到了人 A 從事的項目。 我將公式應用於列出員工並收到多個項目結果的整行。 我的問題是如何將公式轉換為更有效的公式,以將所有匹配的結果(項目)復制到一列中(參見1 )。

這是我到目前為止所擁有的,如果與某個區域的員工姓名匹配; output是他參與的項目的第一場比賽:

=INDEX(B2:J3;1;MATCH("Person A";Sheet1:B3;E3;0))

如何將其復制到底部單元格以復制所有匹配的結果? 用這個創建一個數組公式有幫助嗎?

您可以在單元格 B9 中使用以下公式:

=IFERROR(INDEX($2:$2,SMALL(IF($3:$3=$B$8,COLUMN($3:$3)-COLUMN(INDEX($3:$3,1,1))+1),ROWS(A$1:A1))),"")

它對第 2 行進行索引,並在第 3 行中查找與 B8 (=Person A) 中的值相等的第一個匹配項的列號。 向下拖動時,它將尋找第二個匹配ROWS(A$1:A1)將變為ROWS(A$1:A2) = 2。

對於人 B,您可以在單元格 B14 中使用此公式:

=IFERROR(INDEX($2:$2,SMALL(IF($3:$3=$B$13,COLUMN($3:$3)-COLUMN(INDEX($3:$3,1,1))+1),ROWS(A$1:A1))),"")

我希望這就是你要找的東西。

PS 如果您在單元格 C9 中粘貼以下公式,您將在 2019 年 10 月獲得項目 XY 中人員 A 的總和結果: =IF(OR($B9="",C$8=""),"",SUMPRODUCT(($B$2:$K$2=$B9)*($B$3:$K$3=$B$8)*($A$4:$A$6=C$8),B4:K6))

注意:前提是單元格 C8 中的值等於單元格 A4 中的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM