Excel - 确定一个工作表中的值与另一个工作表中具有不同范围的值

时间:2018-06-13 12:46:55

标签: excel if-statement excel-formula

我需要一些excel公式或格式的帮助,可以帮助我解决以下问题:

表1

(Row) |(a) ID | (b)FROM | (c) TO | (d) VALUE 
(1)      123       0        1          50
(2)      123       1        2          50
(3)      123       2        3          50
(4)      123       3        4          50
(5)      123       4        5          60
(6)      123       5        6          60

表2

(Row) |(a) ID | (b)FROM | (c) TO | (d) VALUE 
(1)      123       0        4          50
(2)      123       4        6          60

因此表1已增加到1(从和到),而表2包含具有值的范围。如果表1中的范围落在表2的范围内,则表1中的递增值应等于表2中的值。

输出

 (Row) |(a) ID | (b)FROM | (c) TO | (d) VALUE 
(1)      123       0        1          50          TRUE
(2)      123       1        2          50          TRUE 
(3)      123       2        3          50          TRUE 
(4)      123       3        4          50          TRUE
(5)      123       4        5          60          TRUE
(6)      123       5        6          60          TRUE

基本上ID{ 123'对于从0到4的增量,值为50,对于从4到6的增量,值为60,并且根据表2 0-4 = 50和4-6 = 60,因此该语句应为TRUE。

    =IF(AND(A1=table2!a:a, table1!B1>=table2!b:b,table1!a1<table!B:B),IF(table1!d2=table2!d:d, TRUE,FALSE))

可能是excel处理范围等的方式?

2 个答案:

答案 0 :(得分:1)

在table1上,单元格E2,使用此公式并向下复制:

=D2=VLOOKUP(B2,INDEX(table2!B:B,MATCH(A2,table2!A:A,0)):INDEX(table2!D:D,MATCH(A2,table2!A:A,0)+COUNTIF(table2!A:A,A2)-1),3)

答案 1 :(得分:1)

我喜欢来自@tigeravatar的答案(归功于他/她),但如果你没有订购清单,我已经在下面创建了一些不需要的东西。如果表2没有按ID号排序,您可以在单元格E2中使用此公式并复制下来:

=IFERROR(IF(B2>=INDEX(table2!$A:$D,MATCH(D2,table2!$D:$D,0),2),IF(C2<=INDEX(table2!$A:$D,MATCH(D2,table2!$D:$D,0),3),IF(A2=INDEX(table2!$A:$D,MATCH(D2,table2!$D:$D,0),1),TRUE,FALSE))),FALSE)

这基本上是相同的,但带有AND语句

=IFERROR(IF(AND(A2=INDEX(table2!$A:$D,MATCH(D2,table2!$D:$D,0),1),B2>=INDEX(table2!$A:$D,MATCH(D2,table2!$D:$D,0),2),C2<=INDEX(table2!$A:$D,MATCH(D2,table2!$D:$D,0),3)),TRUE,FALSE),FALSE)