Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4126|回复: 11

[已解决]多条件不重复引用不同表中的数据

[复制链接]
发表于 2015-4-21 11:27 | 显示全部楼层 |阅读模式
本帖最后由 JILIUYONGJIN528 于 2015-4-21 17:39 编辑



在”对帐单“的表的相应位置引用”送货明细“表中的数据,且上下行不重复,求高人帮忙。

要区分不同客户,不同月份的引用,且上下行不重复!!!!!!
最佳答案
2015-4-21 14:11
我这个有些麻烦(期待更好的方法)
把送货明细表的表头按对账单的表头的顺序排好(即按 送货单号        订单号        料号        产品名称        单位        数量        含税单价        金额(RMB))送货单没有金额的添加一列,把规格列移开或在对账单中插入一列也行
A12(数组公式)=
  1. =TEXT(INDEX(送货明细!B:B,SMALL(IF(INDIRECT("送货明细!A1:A"&(COUNTA(INDIRECT("送货明细!A:A"))+1))=$D$4,ROW(INDIRECT("送货明细!A1:A"&(COUNTA(INDIRECT("送货明细!A:A"))+1))),65536),ROW(A1)))&"","yyyy-m-d")
复制代码
向下拉
B12(数组公式)=
  1. =INDEX(送货明细!E:E,SMALL(IF(INDIRECT("送货明细!A1:A"&(COUNTA(INDIRECT("送货明细!A:A"))+1))=$D$4,ROW(INDIRECT("送货明细!A1:A"&(COUNTA(INDIRECT("送货明细!A:A"))+1))),65536),ROW(B1)))&""
复制代码
向右向下拉

0.zip

473.93 KB, 下载次数: 14

求助

 楼主| 发表于 2015-4-21 11:43 | 显示全部楼层
补充一下:分月份,分客户引用送货明细表中的数据,如:做比亚迪4月份的对帐单,把送货明细表中的所有4月份的送货明细引用到对帐单表中,且上下行不重复。
回复

使用道具 举报

发表于 2015-4-21 14:11 | 显示全部楼层    本楼为最佳答案   
我这个有些麻烦(期待更好的方法)
把送货明细表的表头按对账单的表头的顺序排好(即按 送货单号        订单号        料号        产品名称        单位        数量        含税单价        金额(RMB))送货单没有金额的添加一列,把规格列移开或在对账单中插入一列也行
A12(数组公式)=
  1. =TEXT(INDEX(送货明细!B:B,SMALL(IF(INDIRECT("送货明细!A1:A"&(COUNTA(INDIRECT("送货明细!A:A"))+1))=$D$4,ROW(INDIRECT("送货明细!A1:A"&(COUNTA(INDIRECT("送货明细!A:A"))+1))),65536),ROW(A1)))&"","yyyy-m-d")
复制代码
向下拉
B12(数组公式)=
  1. =INDEX(送货明细!E:E,SMALL(IF(INDIRECT("送货明细!A1:A"&(COUNTA(INDIRECT("送货明细!A:A"))+1))=$D$4,ROW(INDIRECT("送货明细!A1:A"&(COUNTA(INDIRECT("送货明细!A:A"))+1))),65536),ROW(B1)))&""
复制代码
向右向下拉
回复

使用道具 举报

 楼主| 发表于 2015-4-21 17:31 | 显示全部楼层
文轩馨婷 发表于 2015-4-21 14:11
我这个有些麻烦(期待更好的方法)
把送货明细表的表头按对账单的表头的顺序排好(即按 送货单号        订 ...

经过试验,不能区分客户,假如,在对帐单表中要4月份的比亚迪的所有数据引用过来,不是比亚迪的也引用过来了,公式中有缺陷。
回复

使用道具 举报

发表于 2015-4-21 17:51 | 显示全部楼层
JILIUYONGJIN528 发表于 2015-4-21 17:31
经过试验,不能区分客户,假如,在对帐单表中要4月份的比亚迪的所有数据引用过来,不是比亚迪的也引用过来 ...

把附件重新上传(含不同客户数据)
回复

使用道具 举报

 楼主| 发表于 2015-4-22 08:18 | 显示全部楼层
文轩馨婷 发表于 2015-4-21 17:51
把附件重新上传(含不同客户数据)

请看上面的压缩文件,谢谢
回复

使用道具 举报

发表于 2015-4-22 11:56 | 显示全部楼层
本帖最后由 文轩馨婷 于 2015-4-22 12:01 编辑
JILIUYONGJIN528 发表于 2015-4-22 08:18
请看上面的压缩文件,谢谢

在增加一个条件就行啦,把IF公式改一下:
之前的公式:IF(INDIRECT("送货明细!A1:A"&COUNTA(INDIRECT("送货明细!A:A")))=$D$4,ROW(INDIRECT("送货明细!A1:A"&COUNTA(INDIRECT("送货明细!A:A")))),65536)
改后:IF((INDIRECT("送货明细!A1:A"&COUNTA(INDIRECT("送货明细!A:A")))=$D$4)*(INDIRECT("送货明细!b1:b"&COUNTA(INDIRECT("送货明细!b:b")))=$B$6),ROW(INDIRECT("送货明细!A1:A"&COUNTA(INDIRECT("送货明细!A:A")))),65536)
这个公式的条件也可以定义一下【即定义:条件1=INDIRECT("送货明细!A1:A"&COUNTA(INDIRECT("送货明细!A:A")));条件2=INDIRECT("送货明细!b1:b"&COUNTA(INDIRECT("送货明细!b:b")))=$B$6)】,就不会显的那么长

IF公式就=IF((条件1=$D$4)*(条件2=$B$6),ROW(条件1),65536)

如果送货明细的每月每个客户的数据不多的话公式可以简化些:
A12=
  1. TEXT(INDEX(送货明细!D:D,SMALL(IF((送货明细!$B$1:$B$11=$B$6)*(送货明细!$A$1:$A$11=$D$4),ROW($1:$11),4^8),ROW(A1)))&"","yyyy-m-d")
复制代码
B12=
  1. INDEX(送货明细!E:E,SMALL(IF((送货明细!$B$1:$B$11=$B$6)*(送货明细!$A$1:$A$11=$D$4),ROW($1:$11),4^8),ROW(B1)))&""
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-4-22 14:38 | 显示全部楼层
本帖最后由 JILIUYONGJIN528 于 2015-4-22 14:39 编辑
文轩馨婷 发表于 2015-4-22 11:56
在增加一个条件就行啦,把IF公式改一下:
之前的公式:IF(INDIRECT("送货明细!A1:A"&COUNTA(INDIRECT("送 ...

我每个月份有好多的客户,各个客户的送货明细有多有少,我用你的这个公式输入后还是不行,请大侠帮忙在压缩文件夹中做好上传,我再看看,谢谢
回复

使用道具 举报

发表于 2015-4-22 15:00 | 显示全部楼层
JILIUYONGJIN528 发表于 2015-4-22 14:38
我每个月份有好多的客户,各个客户的送货明细有多有少,我用你的这个公式输入后还是不行,请大侠帮忙在压 ...

我现在电脑无法上传附件.......你先理解下这个公式,应该是没问题...
等修好电脑后在看看..
回复

使用道具 举报

 楼主| 发表于 2015-4-22 15:07 | 显示全部楼层
本帖最后由 JILIUYONGJIN528 于 2015-4-22 15:13 编辑
文轩馨婷 发表于 2015-4-22 15:00
我现在电脑无法上传附件.......你先理解下这个公式,应该是没问题...
等修好电脑后在看看..

我把你的这个公式复制的IF的那里,单元格就变成了空白,请查看这个附件,并请帮忙做一下,谢谢你
另外,本人也想学学这种公式的设置,应如何学习(什么书\光盘等),谢谢

0.zip

473.98 KB, 下载次数: 11

求助

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-20 07:33 , Processed in 0.312785 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表