首页 > Excel专区 > Excel教程 >

怎么获取excel单元格数组

Excel教程 2022-01-11 21:46:33

使用一个公式返回一个数组,该数组包含多个工作表中给定范围内的所有数据。如下图1至图5所示有5个工作表:

图1

图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教程

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.