EXCEL 里用多重条件相等时怎么求对应不同值? 请问excel 如何使用多重条件判断并赋值?

\u5728 EXCEL \u4e2d\u5982\u4f55\u5b9e\u73b0 \u591a\u79cd\u591a\u91cd\u6761\u4ef6\u5224\u65ad\u540e\u8f93\u51fa \u4e0d\u540c\u7684\u503c

\u770b\u4f60\u5e94\u8be5\u662f\u4f1a\u516c\u5f0f\u7684\uff0c\u5c31\u4e0d\u591a\u8bf4\u4e86\u3002\u76f4\u63a5\u544a\u8bc9\u4f60\u7528\u4ec0\u4e48\u597d\u4e86\u3002
\u7528INDEX,MATCH\u7ec4\u7740
MATCH\uff0c\u6839\u636e\u5185\u5bb9\u627e\u5230\u5bf9\u5e94\u7684\u548c\u884c\u548c\u5217
INDEX\uff0c\u6839\u636e\u884c\u5217\u627e\u5230\u503c

\u5ea6\u53cb\uff0c\u7528vlookup\u51fd\u6570\u5c31\u53ef\u4ee5\u8fbe\u5230\u76ee\u7684\u3002
\u5982\u56fe\u516c\u5f0f\u5199\u5728\u5224\u65ad\u540e\u9762\u4e00\u5217\uff1a
\u5177\u4f53\u516c\u5f0f\u4e3a\uff1a=VLOOKUP(A2,$D$2:$F$6,3,0)
\u5982\u6709\u7591\u95ee\u53ef\u4ee5\u7ee7\u7eed\u4ea4\u6d41\uff01



总思路:用sumif()函数统计当天总量,再用hlookup()嵌套match()函数确定对应价格。

具体步骤:(设重量=数量,且重量最小取0.1kg)
1、统计当天总量。
(1)生成参考数组:在第一行下方插入一行,填入各等级的下限值(0,3.1,6.1,12.1,20.1)到B2-F2。
(2)统计当天总量:
(i)先在数量列后插入三个新列作辅助列,第一列在K3中输入以下公式并填充公式到该列其余单元格:
=H3&I3
(ii)第二列L3中输入以下公式并填充公式到该列其余单元格:
=SUMIF($K$3:$K$10,K3,$J$3:$J$10)

2、确定各产品售价。
(1)用match()函数生成hlookup()函数需要的第三个参数(需要显示结果的行数)。在第三列辅助列M3中输入以下公式并填充公式到该列其余单元格:
=MATCH(I3,$A$3:$A$4)+1
(2)用hlookup()函数生成当天总量对应的产品价格。在价格列N3中输入以下公式并填充公式到该列其余单元格:
=HLOOKUP(L3,$B$2:$F$4,M3)

3、收尾工作。两种参考方法:
(1)将辅助列、辅助行隐藏。(公式仍然可行,可使用填充柄)
(2)将价格列选择性粘贴数值到原位置,删除各辅助行、列。(同时公式丢失,不推荐)

注意事项:
1、第一个辅助列的目的是区分同一天不同的产品对应的数量,该列格式可以不用考虑,仅起参考对比作用。
2、hlookup()函数、match()函数中的范围项需要根据产品种类的多少进行修改,也可通过定义区域名称动态更新(结合offset()函数)。

若用公式的话,可以考虑用一临时列计算出当天同一产品的重量(如放在N列),则N10
=sumproduct((h2:h10=h10)*(i2:i10=i10)*j2:j10)
然后,再建一临时列O,根据质量用IF函数分段,O10
=IF(N10<=3,1,IF(N10<=6,2,IF(N10<=12,3,IF(N10<=20,4,5))))
再用查表函数 计算价格
K10单元格就应该为
=vlookup(i10,a2:f3,o10+1)
L10为
=K10*J10
以上方法要建2临时列(如不建,则公式会相当长,甚至溢出),比较烦琐
如有能力用VBA自定义函数是最好的

用公式不大容易(估计分类汇总加公式可行),用VBA很简单,你还需要提供一样东西,就是每个产品的重量,我看你的表格里只有数量,那么无法计算购买X个产品的重量是多少,因为你的单价是根据重量来定的,只有知道当天累计的重量才能给他定价。如果有条件尽量给提供你的原始表格,别人帮你做好后,你自己拿去就可以用。
已经发到你邮箱里了。

K2=LOOKUP(SUMPRODUCT(($A$2:$A$9=A2)*($E$2:$E$9=E2)*$D$2:$D$9),{0,3.01,6.01,12.01,20.01},OFFSET(Sheet2!$C$2:$G$2,MATCH(E2,Sheet2!$H$3:$H$100,0),0))
往下拉即可。

凑下热闹:
K2=LOOKUP(SUM(($H$2:$H$9=H2)*($I$2:$I$9=I2)*$J$2:$J$9),{0,4,7,13,21},OFFSET($B$1:$F$1,MATCH(I2,$A$2:$A$3,),))
按ctrl+shift+enter输入,下拉填充。

扩展阅读:vlookup if多条件查询 ... if函数or多个条件并列 ... excel if多个条件嵌套 ... excel 批量替换 不同值 ... excel 多条件判断输出 ... if多条件返回不同值 ... excel 多重条件 赋值 ... excel表格双重条件排序 ... 怎么筛选自己需要的数据 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网