网站首页 > 基础教程 正文
逻辑值和数组是Excel两个重要的基础知识点,犹如习武之人打通任督二脉。
数组是按次序排列的一组值,这些值也被叫做元素,例如:
{"Excel","笔记本",666,"!"}
这个数组包含4个元素,它们之间用逗号间隔。
Excel数组有以下特点:
- 花括号{}作为特有标志;
- 数组等同于数据区域;
- 元素之间用逗号或分号间隔;
- 文本元素带双引号,数字元素则不必。
花括号{}
Excel笔记:公式中的数组必须置于花括号内,否则Excel无法识别是数组。
数组与数据区域
在单元格中引用数组{1,2,3,4,5},输入以下公式:
={1,2,3,4,5}
Excel将其转换为一个数据区域。
如动图所示,引用一个数据区域,选中公式按F9预览结果,其实质是一个数组。
Excel笔记:Excel中的数组和数据区域可相互转换,数组等同于数据区域。
逗号和分号
以下两个数组,元素相同,元素之间分别用逗号和冒号间隔:
{1,2,3,4,5},{1;2;3;4;5}
B2中输入
={1,2,3,4,5}
数组显示为横向的数据区域。
B4中输入
={1;2;3;4;5}
数组显示为纵向的数据区域。
Excel笔记:逗号表示横向,分号表示纵向。
而两者组合就可以得到一个二维数组:
={1,2,3,4,5;"A","B","C","D","E";1,2,3,4,5}
文本元素
在单元格中分别引用以下4个数组:
{1,2,3,4,5}
{"1","2","3","4","5"}
{A,B,C,D,E}
{"A","B","C","D","E"}
第3个无法正常转换为数据区域,并且Excel会提示错误。
Excel笔记:文本元素需带双引号,数字元素则不必。
至于第2个,带双引号的数字元素是可以正常转换为数据区域的,数据类型为文本型的数字。
数组在公式中的应用十分广泛。
例如用VLOOKUP查询并返回多个数据,第三参数设置为数组即可:
=VLOOKUP(G4,B:E,{2,3,4},0)
把数组中的逗号改为分号,结果会纵向显示:
=VLOOKUP(H3,B:E,{2;3;4},0)
再比如,要提取字符串"6笔记本89"中的数字。
MID的第二参数设置为数组,分别提取字符串中的1~6位,返回一个数组结果:
=MID("6笔记本89",{1;2;3;4;5;6},1)
实际应用中很少直接出现数组,元素较多的时候输入比较繁琐。
常用的方式是用函数产生数组,ROW和COLUMN是两个经典应用。
ROW(1:1)返回第1行的行号1,ROW(1:6)则返回第1行到第6行的行号,以数组的方式返回。
=MID("6笔记本89",ROW(1:6),1)
双减号的作用是将各个元素转为数字,非数字元素会变成错误值,IFERROR把错误值转换成空,于是留下所有的数字元素:
=CONCAT(IFERROR(--MID("6笔记本89",ROW(1:6),1),""))
以上演示在Excel 365版本中完成。
较低版本的Excel或WPS中可以使用数组公式,但因为没有自动溢出功能,公式的输入和显示都需要另外的特殊操作。
- 上一篇: VBA-006:取指定工作表的指定列数据
- 下一篇: 用好6个公式 Excel随意查询
猜你喜欢
- 2025-01-12 8个必会的高效提取数字法,你知道几个?
- 2025-01-12 条件太太太太太多怎么求和?教你5招,轻松就搞定
- 2025-01-12 函数公式的左膀右臂:ROW、COLUMN函数知多少
- 2025-01-12 【excel】从现在开始掌握sortby函数,各类排序都不怕!
- 2025-01-12 Vlookup一次性查找多个值,4种方法,你更喜欢哪种?
- 2025-01-12 常用公式,效果挺好
- 2025-01-12 获取列号函数COLUMN的应用技巧
- 2025-01-12 INDEX函数怎么用?两种方法全在这儿
- 2025-01-12 快速查询,INDEX和MATCH函数必须会!
- 2025-01-12 EXCEL:别想得太复杂,动态的职工信息表,用INDEX函数就可搞定
- 01-128个必会的高效提取数字法,你知道几个?
- 01-12条件太太太太太多怎么求和?教你5招,轻松就搞定
- 01-12函数公式的左膀右臂:ROW、COLUMN函数知多少
- 01-12【excel】从现在开始掌握sortby函数,各类排序都不怕!
- 01-12Vlookup一次性查找多个值,4种方法,你更喜欢哪种?
- 01-12常用公式,效果挺好
- 01-12获取列号函数COLUMN的应用技巧
- 01-12INDEX函数怎么用?两种方法全在这儿
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)