我需要一些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中的值。
输出
(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-4= 50和4-6= 60所示,因此语句应该是真的。
=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处理范围等的方式有关?
发布于 2018-06-13 14:18:14
我喜欢来自@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)
这在本质上是一样的,但是使用一个和语句。
=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)
发布于 2018-06-13 13:33:24
在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)
https://stackoverflow.com/questions/50837694
复制相似问题