能否将Excel中IF函数的固定行引用改为算术序列形式?
实现算术序列式的单元格引用对比
直接写A(1+36X)这种语法Excel是不识别的,得用函数动态构造单元格引用,给你两种可行方案:
方案一:用INDEX函数(推荐,非易失性,计算更稳定)
把原公式改成这种形式:=IF(A1=INDEX(A:A,1+36*X), [你的判断结果], [否则的结果])这里的
X可以是具体自然数(比如1、2),也可以用单元格引用(比如B1,在B列手动输入1、2、3...);如果要下拉批量计算,用ROW()函数让X随所在行自动递增:=IF(A1=INDEX(A:A,1+36*ROW()), "匹配", "不匹配")比如公式在第1行时,
ROW()返回1,对应引用A37;下拉到第2行,ROW()返回2,对应引用A73,正好符合算术序列的需求。方案二:用INDIRECT函数(易失性,适合简单场景)
通过字符串拼接生成单元格地址,写法如下:=IF(A1=INDIRECT("A"&(1+36*X)), [你的判断结果], [否则的结果])同样
X可手动输入、单元格引用或用ROW()生成,示例:=IF(A1=INDIRECT("A"&(1+36*ROW())), "匹配", "不匹配")
注意事项
- 要保证
1+36*X的结果不超过工作表最大行号,否则会返回#REF!错误。 - 如果序列起始不是X=1,比如X从0开始对应A1,把公式里的
1+36*X改成1+36*(X-1)即可。
内容的提问来源于stack exchange,提问作者Oblivion
相关产品推荐
相关产品推荐

