excel多条件比较的简单问题

netcup 2008-03-12 05:32:21
A表和 B表结构相同都是如下结构:
品名 规格 产地 价格
阿莫西林 50s 石家庄 5

现在b表中价格列为空,需要给他按匹配A表进行赋值。
当A.品名=B.品名 AND A.规格=B.规格 AND A.产地=B.产地 三个条件都满足时
B.价格=A.价格

...全文
440 21 打赏 收藏 举报
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hjun0 2012-03-04
学习了
  • 打赏
  • 举报
回复
zipall 2008-03-14
很遗憾没有帮到你。
  • 打赏
  • 举报
回复
zipall 2008-03-13
[Quote=引用 12 楼 netcup 的回复:]
但是建立的主键拉开也不行,还是只有一个品名啊,而不是他们三个相加的
[/Quote]

请确认一件事情:你的原始A表的数据在A:D列,如果不在,请对6楼公式做相应修改。
  • 打赏
  • 举报
回复
gracexu 2008-03-13
我想了想,还是用高级筛选功能,但是要反复做这件事,
1。在B表里高级筛选,选出跟A表一样的行,把它们用颜色标明,这样就分清楚新的和旧的了。
2。在A表里高级筛选,选出B表中一样的行,复制到一个新的地方。
3。把A表中找出来的行和B表中新的行合并在一起就好了。
  • 打赏
  • 举报
回复
gracexu 2008-03-13
补充一下,高级筛选功能很容易的就能把品名规格产地都一样的价格找出来,
但问题是,如果你数据量很大,找出不完全符合的倒成了一个问题。
  • 打赏
  • 举报
回复
gracexu 2008-03-13
那个If 方法是不对的,逻辑不通。
zipall提的建议很好啊,在A,B表建立唯一的索引栏,然后用vlookup函数就好啦。
用VBA也可以做,但是事情搞复杂啦。
  • 打赏
  • 举报
回复
netcup 2008-03-13
是在不行我导入SQLSERVER做。
  • 打赏
  • 举报
回复
netcup 2008-03-13
非常感谢,去掉$确实变了。
但是经过测试,IF是静态的,只能同一行并且符合条件的才为真,但是有的也符合条件,就是顺序不同,则只要有一个顺序不同,后面的数值全部都是0.
请问如何动态的匹配呢?B表检索A表中相同的呢?
看来一意孤行的方法应该是对的

但是建立的主键拉开也不行,还是只有一个品名啊,而不是他们三个相加的
  • 打赏
  • 举报
回复
zipall 2008-03-13
[Quote=引用 9 楼 netcup 的回复:]
请问怎么样才能让它也一起变讷?
[/Quote]

$去掉就变成相对引用了。
  • 打赏
  • 举报
回复
zipall 2008-03-13
[Quote=引用 8 楼 netcup 的回复:]
刚才测试了下,两个表的品名都是中文,都设置成文本格式,但是明明字一样,EXCEL里却显示两个不相等?
[/Quote]
是否因为空格多少不同的缘故? ctrl+H输入一个空格后全部替换,可以删除所有的空格。

[Quote=引用 8 楼 netcup 的回复:]
另外,一意孤行地方法,新建立的主键还是品名,不是三个合并的啊。
[/Quote]

把列拉宽一点再看看?

  • 打赏
  • 举报
回复
netcup 2008-03-13
发现问题了:
07向医院药品价格表是A表,
B表的价格=IF([07乡医院药品价格表.xls]Sheet1!$B$5=B5,[07乡医院药品价格表.xls]Sheet1!$F$5,0)

Sheet1!$B$5=B5
Sheet1!$F$5
里面的$5不会随着B表的下拉而改变,始终是5,我手动把他改成和B表一样的行,则没问题了。
请问怎么样才能让它也一起变讷?
  • 打赏
  • 举报
回复
netcup 2008-03-13
刚才测试了下,两个表的品名都是中文,都设置成文本格式,但是明明字一样,EXCEL里却显示两个不相等?
另外,一意孤行地方法,新建立的主键还是品名,不是三个合并的啊。
  • 打赏
  • 举报
回复
netcup 2008-03-13
非常感谢一意孤行!!帮助我好几次了!!
  • 打赏
  • 举报
回复
zipall 2008-03-13
在A表的第一列前插入一列,在A1输入公式
=B1&C1&D1
双击填充柄得到一个由3个字段合并在一起的辅助列(最好用高级筛选里的“选择不重复记录”验证一下该列是否有重复值)

在B表的D2输入公式
=VLOOKUP(A2&B2&C2,A!A:E,5,0)
双击填充柄,就得到你要的结果了。


函数的具体含义和用法请参考excel帮助文件。
  • 打赏
  • 举报
回复
netcup 2008-03-13
现在是这个情况:
我们的主管部门给了我们一个XLS文件,里面有几千个品种让我们标注价格,而且工期短工作量大。
去年就已经给了这么一个XLS文件了,格式都一样,就是今年和去年的品种有些差异。
这些官老爷们可不管你什么编码呀什么的,就是很直观的这几列就让你一个个的标注。
因此我们想偷个懒,把去年品名规格产地都一样的价格复制给今年新的文件里就完了。
  • 打赏
  • 举报
回复
netcup 2008-03-13
谢谢一意孤行,最后导入SQLSERVER搞定了,呵呵。不过还是感谢。
  • 打赏
  • 举报
回复
netcup 2008-03-13
谢谢一意孤行,最后导入SQLSERVER搞定了,呵呵。不过还是感谢。
  • 打赏
  • 举报
回复
okexcel 2008-03-13
1楼的方法,我觉得不太对。
如果为区分不同的品名、规格和产地而进行编码的话,那么编码量一定很大,将来管理这些编码也是一件难事。

因此编码前一定要进行科学的规划,使得编码便于记忆和管理。

而且应该的对应的下拉菜单,一层层选择输入,不仅方便而且还不容易出错。


如果数据量不大,可以用VBA进行匹配。
  • 打赏
  • 举报
回复
liujie625 2008-03-12
如此建立表格会很累,建议楼主给所有不同类的药品一个编码,确保每个编码的惟一性,那就很方便,可以试一下VLOOKUP公式
  • 打赏
  • 举报
回复
netcup 2008-03-12
谢谢楼上,呵呵。明天验证后结贴给分。
  • 打赏
  • 举报
回复
加载更多回复(1)
相关推荐
发帖
Microsoft Office应用

6180

社区成员

Microsoft Office应用
社区管理员
  • Microsoft Office应用社区
加入社区
帖子事件
创建了帖子
2008-03-12 05:32
社区公告
暂无公告