利源 发表于 2021-11-3 04:16:00

求助大神:多维内存数组如何在公式中计算?

如下图:
(1)题目描述:A列是数据,C列是区间,要求有多少个数据在区间内
(2)F2:P10是我根据【区间】做出的辅助区域
(3)现在情况:在E2单元格中写如下公式,可以求出正确结果
=SUM(COUNTIF(A2:A26,TRANSPOSE(MMULT(MMULT(--(COLUMN(A:F)=INT((ROW(1:66)-1)/11)+1),Sheet1!F5:P10)*((MOD(ROW(1:66)-1,11)+1)=COLUMN(A:K)),ROW(1:11)^0))))+(COUNTIF(A:A,0)>0)

(4)问题点:在E3单元格中,将辅助区域中的公司得到的内存数组直接代替上面公式中的区域引用 Sheet1!F5:P10 ,不能正常计算。
(5)已做过的尝试:已经试过用 N(IF({1})) 这种方式,但还是无法将多维内存数组转为一维
(6)求助:应该如何将此例中的内存数组转为一维,或者请大神们看看还能怎么求,谢谢!

独坐西窗 发表于 2021-11-4 02:00:56

=SUM(COUNTIF($A$2:$A$26,IFERROR(COLUMN(INDIRECT("c"&LEFT(C2,FIND("-",C2)-1)+1&":c"&RIGHT(C2,LEN(C2)-FIND("-",C2))+1,))-1,C2)))

这样?

我也想说 发表于 2021-11-4 06:59:08

=COUNT(0/ISERR(FIND("-",IMSUB(A2:A26&-A2:A26&"i",TRANSPOSE(C2:C7&IFERROR(-C2:C7,""))&"i"))))

你的原公式好像都有误

行云倚风 发表于 2021-11-5 07:09:58

=SUMPRODUCT(COUNTIF(A:A,{"<","<="}&TRIM(MID(SUBSTITUTE(C2:C7&"-"&C2:C7,"-",REPT(" ",20)),{1,21},20)))*{-1,1})

篮球风采 发表于 2021-11-15 07:26:18

看到史淑敏的直接比大小,想起了大影影的这个套路=COUNT(-TEXT(A2:A26,TRANSPOSE(SUBSTITUTE("[<"&C2:C7&IFERROR(-C2:C7,"")&"];靓","-","]仔;[<="))))

咆哮的爱斯基摩 发表于 2021-11-19 04:05:53

看了大佬们答案才发现理解错了,请忽略。我再想想
不想了。。。膜拜2位大佬的答案

谢起富 发表于 2021-11-20 02:26:43

谢谢大佬!

草帽顶呵呵呵 发表于 2021-11-22 00:42:57

引用区域是没问题的,但直接使用内存数组就不行了。谢谢大佬
重新检查了一下,之前的结果确实是错的

习惯悲伤 发表于 2021-11-22 01:39:50

感谢大佬!!

小庶 发表于 2021-11-22 09:44:26

哪个是内存数组就不成了?
页: [1] 2 3
查看完整版本: 求助大神:多维内存数组如何在公式中计算?