Office中国论坛/Access中国论坛
标题:
求教数组公式或其他方法解决以下问题!!谢谢!
[打印本页]
作者:
dingzc
时间:
2005-9-1 17:46
标题:
求教数组公式或其他方法解决以下问题!!谢谢!
各位高手,有个问题请教大家,应该用数组可以解决吧,我看过以前老鬼的专门谈数组的帖子,对我帮助很大,可还是还有问题没搞定,请大家帮忙:
以下excel中,想在另外的sheet中分析符合条件的供应商。其中第一种条件算法是:1,原产地是德国的是首选,如果不是德国的,总价最低的为首选,列出供应商名称; 第二种条件算法是:2,原产地是德国的依然是首选,如非德国,级别为1的为首选。
第二种方案我是这样实现的,用数组公式=INDEX(Sheet1!C$2:C$16,MATCH(1,(Sheet1!A$2:A$16=Sheet2!A2)*(Sheet1!D$2
$16="德国")*(Sheet1!B$2:B$16=1),0)),可是如果不是德国的,就显示#N/A, 该如何屏蔽呢?
第一种方法我想这样试试看:=INDEX(Sheet1!C$2:C$16,MATCH(1,(Sheet1!A$2:A$16=Sheet2!A2)*(Sheet1!D$2
$16="德国")*(MIN(Sheet1!G2:G16)),0)), 可是有问题!
请高手帮忙解决。不胜感激!!详见附件!
<TABLE cellSpacing=0 cellPadding=0 width=417 border=0 x:str>
<COLGROUP>
<COL style="WIDTH: 48pt; mso-width-source: userset; mso-width-alt: 2048" width=64>
<COL style="WIDTH: 29pt; mso-width-source: userset; mso-width-alt: 1216" width=38>
<COL style="WIDTH: 58pt; mso-width-source: userset; mso-width-alt: 2464" width=77>
<COL style="WIDTH: 38pt; mso-width-source: userset; mso-width-alt: 1632" width=51>
<COL style="WIDTH: 44pt; mso-width-source: userset; mso-width-alt: 1888" width=59>
<COL style="WIDTH: 48pt; mso-width-source: userset; mso-width-alt: 2048" span=2 width=64>
设备代码
级别
供应商简称
原产地
数量
单价
总价
AASP01
1
热电
美国
2
100
200
AASP01
2
珀金埃尔默
美国
2
200
400
AASP01
a
东西电子
美国
2
300
600
<TR height=19>
AASP01
b
普析通用
中国
2
<TD class=xl25 width=64 x:num>
作者:
dingzc
时间:
2005-9-2 01:08
版主大人,你们应该有办法解决吧。自己顶一下!!
作者:
红池坝
时间:
2005-9-2 17:29
数组公式不是很熟悉,这个老鬼哥哥应该有办法。但你的#N/A错误信息其实是可以屏蔽的,我通常是使用的If(IsErr())函数
作者:
dingzc
时间:
2005-9-2 18:58
是呀,老鬼大哥快出现吧。等你解决呢。谢谢红池版主,iserror确实可用。是不是以上问题只有数组可以解决呢,没有其他方法了吗?继续等待!!继续思考!!
作者:
scottwang
时间:
2005-9-2 20:20
试试这个是否是你要的,{=INDEX(Sheet1!$C$2
C$16,MIN(IF((IF(Sheet1!$A$2
A$16=A2,Sheet1!$D$2
D$16,"")="德国")+(IF(Sheet1!$A$2:$A$16=A2,Sheet1!$G$2:$G$16,"")=MIN(IF(Sheet1!$A$2:$A$16=A2,Sheet1!$G$2:$G$16,""))),ROW($A$2:$A$16),""))-1)} 第二条件自己改上面的公式.
作者:
dingzc
时间:
2005-9-5 19:57
谢谢scottwang,原来数组公式还可以这么用。我马上试试看。真是高手呀。谢谢了!!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3