如何在Excel中设定条件引用公式以实现多列数据自动引用

数据源如附图所示。请教各位高手如何在Excel工作表中设定引用公式以实现如下效果:

(1)、当列B满足条件(如:haibo)时,则:
列AB自动引用列A的结果,
列AC自动引用列B的结果,
列AD自动引用列C的结果,
列AE自动引用列D的结果,
列G自动引用列AG的结果,
……

(2)、当列B满足条件(如:Simon)时,则:
列AI自动引用列A的结果,
列AJ自动引用列B的结果,
列AK自动引用列C的结果,
列AL自动引用列D的结果,
列G自动引用列AN的结果,
……

当列B满足其他条件时,同样自动引用类似前述的数据到其他列中。
重新描述一下我想要实现的结果:
列A、列B、列C、列D、列G是手工录入的。
其中列A是日期,列B和列C是字符,列C、列D、列G是金额数字。

当列B的字符串满足条件时(如:haibo)时,则:
列AB 等于 列A (自动引用结果),
列AC 等于 列B (自动引用结果),
列AD 等于 列C (自动引用结果),
列AE 等于 列D (自动引用结果),
列 G 等于 列AG (自动引用结果),

当列B的字符串不满足条件时,则自动忽略。

AB6
=IF(AND(COLUMN()<=MIN(IF(ISNUMBER(FIND($B6,$1:$1)),COLUMN($1:$1),""))+6,COLUMN()>=MIN(IF(ISNUMBER(FIND($B6,$1:$1)),COLUMN($1:$1),""))),INDIRECT(ADDRESS(ROW(),MOD(COLUMN(A1)-1,7)+1)),"") 复制公式至AB6按组合键ctrl+shift+enter结束公式输入,下拉填充追问

大神啊!非常感谢!这个函数复杂程度超乎想像。我完全无法搞定这公式,也无法理解它的含义。所以仍有问题:1、在列AB到列AF之间通过下拉/右拉填充方式能正确显示相应结果。但列AG的自动计算公式(AF7=AG6+AE7-AF7)遇到AE7和AF7为空时就无法计算,显示“#VALUE!”。如何解决? 2、把【列AB至列AG区域】复制并插入到左右做成同样引用数据的新区域时,公式无法实现自动引用。如何解决?

追答

错误主要出在你存放结果的表格中只用到原始表格的ABCDE列加G列数据,而F列数据未用,AG列无需计算。公式修改:

AB6

=IF(AND(COLUMN()<=MIN(IF(ISNUMBER(FIND($B6,$1:$1)),COLUMN($1:$1),""))+5,COLUMN()>=MIN(IF(ISNUMBER(FIND($B6,$1:$1)),COLUMN($1:$1),""))),INDIRECT(ADDRESS(ROW(),INDEX({1,2,3,4,5,7},MOD(COLUMN(A1)-1,7)+1))),"")

注意:上面的公式复制到AB6后,一定要按组合键ctrl+shift+enter结束输入后再右拉填充,然后一起下拉填充。挂一个测试附件,你参考一下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-02
最简单的,直接在AB1添加公式:=A1
往下拉公式就可以啦
第2个回答  2013-12-02
简单的用IF
复杂的用INDEX函数
省略100字。。。。。。。追问

不懂用公式才问的,能否补充省略的100字?先谢了。

追答

最好发你的表
[email protected]

相似回答