SUM(--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1)))是什么意思啊?特别是(--(N(?看不懂,
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 21:54:09
SUM(--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1)))是什么意思啊?特别是(--(N(?看不懂,
SUM(--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1)))是什么意思啊?特别是(--(N(?看不懂,
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求和.
这个公式最终计算的是符合条件的单元格个数.具体是什么意思,要看表格内容.
如果数据在D1:D100中,F1中输入
=SUM(--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1)))
同时按下CTRL SHIFT 回车,输入数组公式,将F1的公式用自动填充柄下拉,就会出现13下面的一个单元格中1有几个,2有几个,3有几个,
如果想一个单元格中显示清楚些,公式也可改为
=...
全部展开
如果数据在D1:D100中,F1中输入
=SUM(--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1)))
同时按下CTRL SHIFT 回车,输入数组公式,将F1的公式用自动填充柄下拉,就会出现13下面的一个单元格中1有几个,2有几个,3有几个,
如果想一个单元格中显示清楚些,公式也可改为
="13下面"
收起