作业帮 > 综合 > 作业

SUM(--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=R

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 07:35:38
SUM(--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1)))是什么意思啊?特别是(--(N(?看不懂,
这是一个比较复杂的数组公式.
由内到外,一层层地看:
IF(D$1:D$100=13,ROW(D$1:D$100),4^8):提取D列=13的单元格的行号,得到一个数组.
OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),):将上面这个数组作为OFFSET行偏移参数,得到一个数组引用.
N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1):由于上一步OFFSET引用的是一个零散的区域,这里用N函数转换为内存数组.然后判断这个数组是否等于A1的行号,得到一个逻辑数组.
--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1)):对上面的这个逻辑数组进行减负运算,这样转换为数值0和1,作为数值运算.
最后用SUM求和.
这个公式最终计算的是符合条件的单元格个数.具体是什么意思,要看表格内容.