excel index 按所选区域内部的行列位置取值,先确定数据范围,再给相对行号与列号。要按名称找位置,可配合 match 做精确匹配。本例从部门月份表取金额,标题和部门名别放进数值区域,避免把工作表行号当成区域行号。越界会报错,重名只能按匹配规则取对应位置,先约定唯一标识,需要取整列数组时先确认版本的展开方式。
区域从数据行开始,先取固定位置
E2 输入 =INDEX(B2:C4,2,1),得到 200。语法 INDEX(array,row_num,[column_num]) 中 array 为目标区域,2 是区域第二行,1 是区域第一列,所以取到 B3 的研发一月,不是工作表第 2 行第 1 列。

换列号取二月,源区域不用跟着移动
E3 输入 =INDEX($B:$C,2,2),得到 230,对应研发二月。固定范围适合后续复制,行号列号都相对于 B2:C4 计算,要是把字段行也圈入区域,原来的 2 就会指向另一行,不能只看结果是数字就认为公式没问题。
解析 MySQL 8.0 的 DDL 脚本,并将表结构导出为 Excel 格式。适用于用户需将 MySQL 的 `CREATE TABLE` 语句转换为结构化的 Excel 文件场景,导出内容包含字段名、数据类型、长度及精度等信息。支持多张表的批量处理,每张表对应 Excel 中的一个独立工作表。适用于数据库文档编写、数据字典生成及模式分析等任务。

用 MATCH 找部门和月份,避免手数位置
E4 输入 =INDEX($B$2:$C$4,MATCH("研发",$A$2:$A$4,0),MATCH("二月",$B$1:$C$1,0)),仍为 230。两个 MATCH 都用 0 做精确匹配,行标题和列标题长度分别与数值区对应,名称重复或有多余空格时先核对匹配的是哪一项。

越界先修参数,不用空白掩盖错误
本例区域只有三行,E5 用 =INDEX(B2:C4,4,1) 会返回 #REF!。先把行号改回有效位置再保存,名称查不到时 MATCH 可能返回 #N/A,应查拼写与范围,别统一包成空白,让取错位置和没有数据都看起来一样。

















