请尽快帮我解释一下这个EXCEL公式的具体涵义?

公式如下:
=CHOOSE(MOD((ROW(1:1)-1),3)+1,Sheet1!A$1,INDEX(Sheet1!A:A,INT((ROW(1:1)-1)/3)+2),"")

Choose Choose函数 返回
从参数列表中选择并返回一个值。
语法
Choose(index, choice-1[, choice-2, ... [, choice-n]])
Choose 函数的语法具有以下几个部分:
部分 描述
index 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和可选择的项目数之间。
choice 必要参数,Variant 表达式,包含可选择项目的其中之一。
说明
Choose 会根据 index 的值来返回选择项列表中的某个值。如果 index 是 1,则 Choose 会返回列表中的第 1 个选择项。如果 index 是 2,则会返回列表中的第 2 个选择项,以此类推。
可以使用 Choose 来查阅一个列表中的项目。例如,如果 index 所指定的值为 3,而 choice-1 = "one"、choice-2 = "two"、且 choice-3 = "three",那么 Choose 将返回 "three"。当 index 代表一选项组中的值时,则这项功能将会特别有用。
即使它只返回一个选项值,Choose 仍然会计算列表中的每个选择项。所以应该注意到这项副作用。例如,当在每个选择项表达式中使用了 MsgBox 函数作为其中的一部分时,每计算一个选择项,就会显示一次消息框。
当 index小于 1 或大于列出的选择项数目时,Choose 函数返回 Null。
如果 index 不是整数,则会先四舍五入为与其最接近的整数。

最多可以30个参数,第1个参数的值必须为1~29的任意一个,然后后面的29个参数为第一个参数的对应值,如:
参数1为:5 ,那么结果为后面的第5个值(也就是参数6)

MOD((ROW(1:1)-1),3)+1
ROW(1:1)是求出1:1的行号,也就是求1在第几行;
MOD(0,3)是求出3除以0的结果,也就是0;
再加1,把第一个参数定为1也就是第一个结果

Sheet1!A$1
这是第一个结果,也就是SHEET1的A1单元格值

INDEX(Sheet1!A:A,INT((ROW(1:1)-1)/3)+2)
这是第二个结果,求出SHEET1中A列第几行的单元格值

""
这是第三个结果,也就是放空(显示为空)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-30
这个表格的意思是:
假如在sheet2中A1单元格复制此公式,然后拖动向下复制:
则1.在A1单元格中显示sheet1中的A1
2.在A2单元格中显示sheet1中的A2
3.在A3单元格中什么也不显示
4.在A4单元格中显示sheet1中的A1
5.在A5单元格式显示sheet1中的A3
6.在A6单元格什么也不显示
7.在A7单元格显示sheet1中的A1
8.在A8单元格显示sheet1中的A4
9.在A9单元格什么也不显示
以此类推,三行一循环
再有什么不明白的可以给我发信息,需要公式解释,可以问我要QQ当面给你解释
第2个回答  2009-12-30
CHOOSE函数

函数CHOOSE可以使用 index_num 返回数值参数清单中的数值。使用函数 CHOOSE 可以基于索引号返回多达 29 个待选数值中的任一数值。

语法形式为:CHOOSE(index_num,value1,value2,...)

Index_num用以指明待选参数序号的参数值。Index_num 必须为 1 到 29 之间的数字、或者是包含数字 1 到 29 的公式或单元格引用。

Value1,value2,... 为 1 到 29 个数值参数,函数 CHOOSE 基于 index_num,从中选择一个数值或执行相应的操作。参数可以为数字、单元格引用,已定义的名称、公式、函数或文本。

可以参考下http://www.officexy.com/Articles/Excel/ExcelTeach/619289228283432.htm

参考资料:http://www.officexy.com/Articles/Excel/ExcelTeach/619289228283432.htm

本回答被提问者采纳
第3个回答  2009-12-30
函数最外层 =choose(n,数据1,数据2,空)

意思为当n=1的时候返回数据1也就是a$1,当n=2的时候返回数据INDEX(Sheet1!A:A,INT((ROW(1:1)-1)/3)+2),当n=3的时候返回空值

然后来分析n,在公式中为MOD((ROW(1:1)-1),3)+1,也就是说当你下拉这个公式的时候row(1:1)会从1变到2到3,4,5,6一直递增下去,公式的结果将在1,2,3,1,2,3...这样循环下去.

数据1好明白,就是当n循环到1的时候显示出A$1的值,应该是数据表的第一行数据,可以称为标题.

数据2:INDEX(Sheet1!A:A,INT((ROW(1:1)-1)/3)+2),是从A:A列中分别提取每一个数据.INT((ROW(1:1)-1)/3)+2这个返回一个数字,当行数在1-3中返回2,在4-6返回3,7-9返回4...以此类推

效果就是,你下拉公式,会把A列的数据以 "标题,数据,空格"这样循环显示下去.

子易空间站 - Excel培训专家
第4个回答  2009-12-30
qad1103 朋友,学习了。