SUM(--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1)))是什么意思啊?特别是(--(N(?看不懂,
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 17:00:17
![SUM(--(N(OFFSET(D$1,IF(D$1:D$100=13,ROW(D$1:D$100),4^8),))=ROW(A1)))是什么意思啊?特别是(--(N(?看不懂,](/uploads/image/z/5286152-56-2.jpg?t=SUM%28--%28N%28OFFSET%28D%241%2CIF%28D%241%3AD%24100%3D13%2CROW%28D%241%3AD%24100%29%2C4%5E8%29%2C%29%29%3DROW%28A1%29%29%29%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%E5%95%8A%3F%E7%89%B9%E5%88%AB%E6%98%AF%28--%28N%28%3F%E7%9C%8B%E4%B8%8D%E6%87%82%2C)
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下面"
收起