使用一个公式返回一个数组,该数组包含多个工作表中给定范围内的所有数据 。如下图1至图5所示有5个工作表:
文章插图
图1
【Excel公式获取多个工作表单元格区域的数据组成的数组】
文章插图
图2
文章插图
图3
文章插图
图4
文章插图
图5
如果使用上述示例工作表,则公式返回的结果类似于:
{18,””,19,63,””,””,67;””,46,””,””,”L”,””,7;”N”,”Z”,””,”F”,70,19,””;””,””,””,””,””,””,73;””,””,”T”,””,””,88,”Y”;”U”,””,”B”,”F”,”Q”,71,””;””,”H”,”U”,”R”,86,84,”Q”;11,”R”,84,””,””,43,72;39,53,””,””,”R”,60,80;””,”V”,”B”,33,””,46,39;””,”B”,””,””,”V”,””,””;”P”,””,”M”,””,””,””,85;”O”,””,9,””,””,””,””;””,”I”,9,””,”S”,”S”,59;””,”X”,”J”,””,””,””,”X”;46,72,””,22,””,67,”P”;35,32,69,”O”,””,””,”V”;24,””,””,””,”R”,””,””;””,5,”B”,69,”C”,””,””;”P”,”A”,19,””,””,”K”,”B”}
为了保持一致,在任何公式中,指定的单元格区域(示例中为A1:G4)定义为名称Rng 。同样,对于引用工作表集合的任何引用,例如:={“Sheet1″,”Sheet2″,”Sheet3″,”Sheet4″,”Sheet5”},定义为名称Sheets 。
先不看答案,自已动手试一试 。
公式
可使用公式生成中间结果:
=CELL(“contents”,INDIRECT(T(INDEX(Sheets&”!R”&MOD(ROW(INDIRECT(“A1:A”&ROWS(Rng_2)*COLUMNS(Rng_2)))-1,ROWS(Rng_2))+1&”C”&INT((ROW(INDIRECT(“A1:A”&ROWS(Rng_2)*COLUMNS(Rng_2)))-1)/ROWS(Rng_2))+1,)),))
小结
这个案例值得好好研究一下,在公式中应用了一些数学计算来获取结果 。在原文的评论中,还有不少公式,有时间可以逐个调试,增强对公式的理解 。
推荐阅读
- Excel公式技巧:从字符串中提取指定长度的连续数字子串
- Excel公式技巧之怎么判断素数
- excel怎么从列表中返回满足多个条件的数据
- excel怎么获取指定区域中每行首次出现指定值的位置
- excel表格区域内填充不重复的随机整数
- excel公式中用特定构造代替常量数组
- excel怎么使用公式排序
- excel图表怎么按顺序排列
- excel公式比较字符串中的字符
- excel根据单元格区域中出现的频率和大小返回唯一值列表