早教吧作业答案频道 -->其他-->
excel数组公式引用列求值大神们早上好.现有一个数组公式如下:=INDEX(B:B,SMALL(IF((A$1:A$100={"ABC","BCD","CDE"})*(C$1:C$1000),ROW($1:$100),4^8),ROW(A1)))&""然后得到的B列值如下:23423121但是我求B列的和时得到
题目详情
excel 数组公式引用列求值
大神们早上好.
现有一个数组公式如下:
=INDEX(B:B,SMALL(IF((A$1:A$100={"ABC","BCD","CDE"})*(C$1:C$1000),ROW($1:$100),4^8),ROW(A1)))&""
然后得到的B列值如下:
2
3
4
2
3
1
2
1
但是我求B列的和时得到的是空值.公式为=sum(B1:B100)
请问该如何修改呢.
大神们早上好.
现有一个数组公式如下:
=INDEX(B:B,SMALL(IF((A$1:A$100={"ABC","BCD","CDE"})*(C$1:C$1000),ROW($1:$100),4^8),ROW(A1)))&""
然后得到的B列值如下:
2
3
4
2
3
1
2
1
但是我求B列的和时得到的是空值.公式为=sum(B1:B100)
请问该如何修改呢.
▼优质解答
答案和解析
我不看你的话了 我把公式详细的说一遍
首先是数组公式 输入 修改后要按CTRL+SHIFT+回车
第一层 IF(L3="","",.)
就是如果L3是空那公式就显示空 要不就返回后面的公式 就是 下面这个咯
INDIRECT(ADDRESS(SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)),COUNTIF($L$3:L3,L3)),RIGHT(SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)*1000+COLUMN($A$3:$I$32)),COUNTIF($L$3:L3,L3)),3)-1))
indirect 是引用的意思
ADDRESS是返回一个单元格的地址的意思
连起来就是引用ADDRES返回的单元格里面的数据的意思
address分 行 和列 2个参数
SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)),COUNTIF($L$3:L3,L3))是你的行
RIGHT(SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)*1000+COLUMN($A$3:$I$32)),COUNTIF($L$3:L3,L3)),3)-1)
是你的列
如果行等于1 列等于2
那么INDIRECT(DEERESS(1,2))
就是 1 行 2列 就是B2了
好了 现在INDIRECT addres 说好了 主要讲里面的2个参数返回的原理
SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)),COUNTIF($L$3:L3,L3))
意思是 取出IF($A$3:$I$32=L3,ROW($A$3:$I$32))这里面的第COUNTIF($L$3:L3,L3)小的数字
IF($A$3:$I$32=L3,ROW($A$3:$I$32))意思是如果$A$3:$I$32=L3 那么就返回$A$3:$I$32的行号
这里其实可能不止一个相等 所以返回的是一个数组
后面COUNTIF($L$3:L3,L3) 意思是计算$L$3:L3 里面有几个L3 这里是1个 但走你公式看 下拉后$L$3:L3 会变成4 5 6 那么肯定就不是一个了
结合前面的我理解是返回$A$3:$I$32=L3 里面行号最大的那个行号 COUNTIF($L$3:L3,L3)是相同的数量 SMALL符合条件里面第“ 相同数量” 最小的一个
假设4个相同 那返回第4小的 那么就是最大的咯
下面是列
RIGHT(SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)*1000+COLUMN($A$3:$I$32)),COUNTIF($L$3:L3,L3)),3)-1)
里面SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)*1000+COLUMN($A$3:$I$32)),COUNTIF($L$3:L3,L3))类似上面的解释你应该可以理解
RIGHT意思是取最右面3个
最后减 1 是最外层的 就是RIGHT后减1
不知理解否?
首先是数组公式 输入 修改后要按CTRL+SHIFT+回车
第一层 IF(L3="","",.)
就是如果L3是空那公式就显示空 要不就返回后面的公式 就是 下面这个咯
INDIRECT(ADDRESS(SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)),COUNTIF($L$3:L3,L3)),RIGHT(SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)*1000+COLUMN($A$3:$I$32)),COUNTIF($L$3:L3,L3)),3)-1))
indirect 是引用的意思
ADDRESS是返回一个单元格的地址的意思
连起来就是引用ADDRES返回的单元格里面的数据的意思
address分 行 和列 2个参数
SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)),COUNTIF($L$3:L3,L3))是你的行
RIGHT(SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)*1000+COLUMN($A$3:$I$32)),COUNTIF($L$3:L3,L3)),3)-1)
是你的列
如果行等于1 列等于2
那么INDIRECT(DEERESS(1,2))
就是 1 行 2列 就是B2了
好了 现在INDIRECT addres 说好了 主要讲里面的2个参数返回的原理
SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)),COUNTIF($L$3:L3,L3))
意思是 取出IF($A$3:$I$32=L3,ROW($A$3:$I$32))这里面的第COUNTIF($L$3:L3,L3)小的数字
IF($A$3:$I$32=L3,ROW($A$3:$I$32))意思是如果$A$3:$I$32=L3 那么就返回$A$3:$I$32的行号
这里其实可能不止一个相等 所以返回的是一个数组
后面COUNTIF($L$3:L3,L3) 意思是计算$L$3:L3 里面有几个L3 这里是1个 但走你公式看 下拉后$L$3:L3 会变成4 5 6 那么肯定就不是一个了
结合前面的我理解是返回$A$3:$I$32=L3 里面行号最大的那个行号 COUNTIF($L$3:L3,L3)是相同的数量 SMALL符合条件里面第“ 相同数量” 最小的一个
假设4个相同 那返回第4小的 那么就是最大的咯
下面是列
RIGHT(SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)*1000+COLUMN($A$3:$I$32)),COUNTIF($L$3:L3,L3)),3)-1)
里面SMALL(IF($A$3:$I$32=L3,ROW($A$3:$I$32)*1000+COLUMN($A$3:$I$32)),COUNTIF($L$3:L3,L3))类似上面的解释你应该可以理解
RIGHT意思是取最右面3个
最后减 1 是最外层的 就是RIGHT后减1
不知理解否?
看了 excel数组公式引用列求值...的网友还看了以下:
财务学原理问题下列项目中,不属于现金持有动机中交易动机的是().A.派发现金股利B.支付工资C.缴 2020-04-25 …
已知有序数组(a,b,c,d),现按下列方式重新写成数组(a1,b1,c1,d1)使a1=a+b, 2020-05-13 …
excel数组公式引用列求值大神们早上好.现有一个数组公式如下:=INDEX(B:B,SMALL( 2020-05-14 …
关于生物的遗传和变异现象,下列说法正确的是()A.遗传和变异不能出现在同一生物体上B.遗传和变异现 2020-05-14 …
下列现象中由光的干涉产生的是()A.天空中出现彩虹B.阳光通过三棱镜形成彩色光带C.肥皂泡在阳光照 2020-05-16 …
当我们说明一个类C实现一个接口I,下面说法()不正确A.接口I是类C一个超类型B.类C也实现了接口 2020-05-17 …
下列现象不属于熔化现象的是A铁块变成铁水B冰块在阳光下变水C食盐放在水中变成盐水D蜡熔化成液体下列 2020-06-02 …
下列几个光现象中属于干涉现象的是()A.雨后的天空中出现彩虹B.阳光通过三棱镜形成彩色光带C.肥皂 2020-06-18 …
下列现象中,与分子热运动有关的是()A.尘土飞扬B.烟雾缭绕C.臭气熏天D.余下列现象中,与分子热 2020-07-02 …
试管上沾有硫黄可利用如下反应进行洗涤:3S+6NaOH2Na2S+Na2SO3+3H2O。此过程中 2020-07-10 …