王煒鵬 发表于 2021-12-6 18:04:26

第一步:把2019年全年表里面车次那一列的格式转变为数字,不能是文本形式储存的数字。
第二步,在卸车明细表里你的公式列填上:
e2=IFERROR(INDEX('Sheet1'!$F$2:$F$8888,MATCH($A2&$B2&C2,'Sheet1'!$A$2:$A$8888&'Sheet1'!$D$2:$D$7777&'Sheet1'!$E$2:$E$6666,0)),"")

贰元 发表于 2021-12-8 13:36:05

在E.I,M.Q列都添加,其余也都是标黄的部分.例如:在黄色的E列,是对A,B,C,D与全年那个表数据做对比。在黄色的I列是以A,F,G,H列对比。后边的M列同理,但是日期都得用A列的日期。能帮着都加上吗,谢谢?还有,能对公式做一个解释吗,谢谢。

林晓义 发表于 2021-12-13 13:55:38

E2=IF(D2="","",IFERROR(IFERROR(IFERROR(VLOOKUP($A2&TRIM(B2)&TRIM(C2),IF({1,0},'Sheet1'!$A$2:$A$1611&TRIM('Sheet1'!$D$2:$D$1611)&TRIM('Sheet1'!$E$2:$E$1611),'Sheet1'!$F$2:$F$1611),2,),VLOOKUP($A2-1&TRIM(B2)&TRIM(C2),IF({1,0},'Sheet1'!$A$2:$A$1611&TRIM('Sheet1'!$D$2:$D$1611)&TRIM('Sheet1'!$E$2:$E$1611),'Sheet1'!$F$2:$F$1611),2,)),VLOOKUP($A2+1&TRIM(B2)&TRIM(C2),IF({1,0},'Sheet1'!$A$2:$A$1611&TRIM('Sheet1'!$D$2:$D$1611)&TRIM('Sheet1'!$E$2:$E$1611),'Sheet1'!$F$2:$F$1611),2,)),"没找到"))

数组三键,下拉。

火红色 发表于 2021-12-15 23:20:50

附件已重新上传。
公式的原理其实很简单。把你所说的几个条件用&连接成字符串,把那个全年的表里的各个列的条件也用&连接成字符符串,再去比较,如果能在全年的大表里找到小表里的这个字符串,那就返回那个包含公司的那个列的行号,再用index函数返回该列该行这个单元格的值。

绍吉 发表于 2021-12-17 08:43:42

其实是不是有更好的解决方案?你在那个全年的表里面用数据透视图也能筛选出各个公司的数据啊?还有,为什么不把那个全年的表和这个表合并到一个工作簿里面?这样公式看着简洁一些。

快乐猫咪 发表于 2021-12-17 21:15:25

非常谢谢,花了下时间搜索,公式运算如下:第一步:用match查找的是行数,第二部对应的查找出F列对应的公司名称,第三步如有数据就显示,没有就不显示。对吗?谢谢。
再追问个问题,如何实现从数据库那个表中搜寻,按照时间搜寻前2天,后2天的数据呢?因为这列“全年”这个表是实际干活的表,但是数据库确实到货的时间就上传的表,所以有可能比到货晚2天才卸上货,但是有时也有上传的时间比卸货时间晚的时候。如何再加公式呢,非常感谢?

鷕寶 发表于 2021-12-19 14:06:01

比如1月6日的6610神池南,到1月7日才卸货。从1月7日查不出来,从1月6日能查出来。

无名缘 发表于 2021-12-20 20:06:05

你是不是说,三天之内,光凭车次+发站就可以确定一行记录?

洛伦兹力 发表于 2021-12-21 03:49:54

是有可能,但是可能性小。

引力的微笑 发表于 2021-12-25 07:58:19

是这个意思,谢谢。这种3天之内的情况尤其冬天特别多。
谢谢,这类的怎么修改下公式呢,谢谢。
页: 1 2 3 [4]
查看完整版本: 在从一个表中查找出数据,满足第二个表后的多条件查找并提取。 ...