簡體   English   中英

在excel中為每一行和每一列找到一個相交值

[英]Find an intersecting value for each row and column in excel

我在 A 列的行中有每月數據。我在 B 列到 G 列的標題中也有每月數據。在 H 列中,我為所有行填充了當前月份。 我想顯示值,例如,如果行中的月份是 Jan 而當前月份是 Mar,那么找到 Jan 和 Mar 相交的值並對所有行執行此操作。 我嘗試在 J 列中使用以下公式,但它僅在工作時給出第一個值。 需要第 I 列中的結果。 為清楚起見,附上圖片。

在此處輸入圖片說明

=INDEX(B1:H2,MATCH(A2,$A$1:A2,0),MATCH(A2,$B$1:H2,0))

您可以使用 SUMPRODUCT 來實現。

我制作了一個假數據集,其與您顯示的值不同,因此我可以正確測試更改當前月份是否有效。

即使列CurrentMonth持有不同的月份,它也能工作

在此處輸入圖片說明

我的公式是:

=SUMPRODUCT(--($B$1:$G$1=H2);B2:G2)

這是它的工作原理:

  1. --($B$1:$G$1=H2)如果范圍B1:G1等於該行中的當前月份,則將返回 1 和 0 的數組。 所以如果CurrentMonth=Mar那么它將返回{0;0;1;0;0;0}
  2. 使用 SUMPRODUCT,我們將前一個數組乘以當前行中的范圍B:G ,因此對於第 2 行,它將是B2:G2 例如,它將是{0;0;1;0;0;0} * {1;2;3;4;5;6} = {0;0;3;0;0;0}並且我們總結這個數組,得到 3

只需將 INDEX 與一個 MATCH 結合使用:

=INDEX(B2:G2,,MATCH(H2,$B$1:$G$1,0))

在此處輸入圖片說明

暫無
暫無

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

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