如何取得一組值並與多個條件行進行比較

如何取得一組值並與多個條件行進行比較

我想要實現的目標的範例:

例子

A  B  C   D  E  F
1  1  <=  2  2  1
2  2  <=  4  23 8
3  4  <=  7  5  3
4  7  <=  10 40 10
5  10 <=  12 7  3
6  12 <=  17 8  4
7  17 <=  19 12 5

我想從 E 列中取出每個數字,然後確定它屬於哪一行 A,如果條件是數字 E >B 且 <=D (使用每行中具有不同值的整個範圍 B1:D999 )。

然後,F 列將傳回 E 列中數字的行號 A。

如果 B 和 D 列的每一行都是我的標準,例如 B1<=D1、B2<=D2、B3<=D3 等,我想比較 E 列中的每個數字,看看它們屬於哪個範圍。例如,E6=40,該數字屬於 B12<=D12 範圍,在 A12 行中值為 10)。所以我想從 E6 旁邊的儲存格 F6 中的 A 行取得該數字。我有大約 500 個數字,B、D 和 E 列中還包含小數,而 A 列僅包含整數。

A3 行表示從 1 到包括 2 的數字,A4 行表示大於 2 到包括 4 的數字。 3,所以F值與A3=1相同。

答案1

這是 p 的一個變體。菲多特的做法。沿著升序方向進行查找會捕捉錯誤的範圍,而調整中間範圍值會導致範圍邊界值的結果遺失。如果您進行降序查找,正常的 MATCH 會起作用。

依 A、B 或 D 列降序對表格進行排序。 F3 中的公式為:

=INDEX(A:A,MATCH(E3,D:D,-1),)

如果這些欄位中還有其他內容,請讓範圍引用絕對位址,例如 $A$3:$A$12 和 $D$3:$D$12。這只需要 A 列和 D 列進行查找,因此我沒有費心填寫範例中的 B 列或 C 列內容:

在此輸入影像描述

如果您的 A 列只是一個表格行標識符,並且可以保持升序,則甚至可以簡化。 MATCH回傳表中的序號,序號依升序對應A列,因此公式可以簡化為:

=MATCH(E3,$D$3:$D$12,-1)

在此輸入影像描述

請注意,為了使 MATCH 結果符合 A 清單行索引,需要使用絕對引用指定查找範圍。

答案2

在 F3 中試試這個:

=IFERROR(INDEX(A:A,MATCH(E3,D:D,0)),INDEX(A:A,MATCH(E3,D:D,1))+1)

但我認為你必須添加:

A1  ---> -1
A2  ---> 0
D1  ---> 0
D2  ---> 1

以覆蓋「缺失的範圍」。

相關內容