giveordead 发表于 2022-7-11 09:56

【求助】excel公式里单元格序列不会变化

我写了一个公式:=COUNTIF(L4:CK4,$DY$3)/(56-SUM(COUNTIF(INDIRECT({"L4:O4","R4:U4","X4:AA4","AE4:AH4","AJ4:AP4","AR4:AT4","AX4:BA4","BC4:BH4","BJ4:BL4","BN4:BP4","BT4:BX4","CA4:CF4","CH4:CJ4"}),"")))

$DY$3里是一个数字,比如10

这公式就是计算从L4到CK4中,10占所有非空白单元格的比率。56是所有有内容的格子加起来的数量
公式计算没有问题,结果也是对的。但是当我往下拖拽的时候,只有前面的countif里单元格序列递增了,后面引用内容完全没变化。
第二个格子变成这样:
=COUNTIF(L5:CK5,$DY$3)/(56-SUM(COUNTIF(INDIRECT({"L4:O4","R4:U4","X4:AA4","AE4:AH4","AJ4:AP4","AR4:AT4","AX4:BA4","BC4:BH4","BJ4:BL4","BN4:BP4","BT4:BX4","CA4:CF4","CH4:CJ4"}),"")))

我在网上搜索后发现,indirect里的序列似乎真的不会变化,于是我把公式改成:
=SUM(COUNTIF(INDIRECT({"'L'&ROW():'O'&ROW()"}),""))

结果就报错#REF!了

求问各位大佬有没有办法解决。

绕指流光 发表于 2022-7-11 10:17

首先,indirect的参数是字符串文本,填充序列、插入行等等excel操作中的“智能”动作不会把加了双引号的部分识别为可变量来操作,所以你没办法用indirect来达到效果,如果是需要引用固定行或列请用$或者F4来切换,不需要indirect参与
其次你最后的公式里的单引号并不能被识别

—— 来自 realme RMX3366, Android 12上的 S1Next-鹅版 v2.5.2-play

giveordead 发表于 2022-7-11 10:33

绕指流光 发表于 2022-7-11 10:17
首先,indirect的参数是字符串文本,填充序列、插入行等等excel操作中的“智能”动作不会把加了双引号的部 ...

那请问我用COUNTIF计算空单元格数量的话,如何选取多个范围呀。

比如说计算A1到A4,A7到A12,A15到A22这3个范围的空单元格之和

绕指流光 发表于 2022-7-11 12:04

giveordead 发表于 2022-7-11 10:33
那请问我用COUNTIF计算空单元格数量的话,如何选取多个范围呀。

比如说计算A1到A4,A7到A12,A15到A22这 ...

一定要把区域当成参数来用的话请使用countifs,支持多个区域参数,但是低版本excel没有这个函数

countif只支持一个区域参数,所以只能搭配indirect实现,或者每个区域计算一次后加起来,countif(a1:a5)+countif(a8:10)这样

—— 来自 realme RMX3366, Android 12上的 S1Next-鹅版 v2.5.2-play
页: [1]
查看完整版本: 【求助】excel公式里单元格序列不会变化