vault backup: 2025-05-09 22:59:40
This commit is contained in:
@ -1,5 +1,7 @@
|
||||
# 思路讲解
|
||||
|
||||
优先考虑使用 [Excel常用函数](../相关操作/4.0-other/998.Excel常用函数.md) 去解决
|
||||
|
||||
## 案例一
|
||||
|
||||
已知BOM结构如下
|
||||
@ -124,812 +126,3 @@
|
||||

|
||||
|
||||
4. 输出BOM导入清单
|
||||
|
||||
# 常用函数
|
||||
|
||||
## SUM 求和函数
|
||||
|
||||
SUM函数用于计算一系列数值的总和。基本语法如下:
|
||||
|
||||
> `=SUM(number1, [number2], ...)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `number1`:必需参数。第一个需要求和的项,可以是直接的数值、单元格引用或者包含数值的区域
|
||||
|
||||
- `[number2]`, ...:可选参数。后续需要求和的项,最多可以有 255 个参数
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `SUM` 函数可以接受多种类型的参数,包括数值、单元格引用、区域和逻辑值(TRUE 被转换为 1,FALSE 被转换为 0)
|
||||
|
||||
- 当区域中有非数值数据时,这些数据会被忽略
|
||||
|
||||
- `SUM` 函数能够自动扩展以适应拖拽填充柄时所选择的单元格范围
|
||||
|
||||
- 空单元格不会被计入总和中
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 对10,20,30求和
|
||||
>
|
||||
> =SUM(10,20,30)
|
||||
>
|
||||
> 对A1单元格到A10单元格求和
|
||||
>
|
||||
> =SUM(A1:A10)
|
||||
>
|
||||
> 对A1单元格到A10单元格、C1单元格到C10单元格求和
|
||||
>
|
||||
> =SUM(A1:A10,C1:C10)
|
||||
>
|
||||
> 混合使用
|
||||
>
|
||||
> =SUM(10, A1, B1:B10)
|
||||
|
||||
---
|
||||
|
||||
## SUMIF 单条件筛选求和
|
||||
|
||||
SUMIF函数用于根据指定条件对数值进行求和。基本语法如下:
|
||||
|
||||
> `=SUMIF(range, criteria, [sum_range])`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `range`:必需参数。用于设置条件的单元格范围
|
||||
|
||||
- `criteria`:必需参数。定义哪些单元格将被加总的标准。它可以是数字、表达式、单元格引用或文本形式
|
||||
|
||||
- `[sum_range]`:可选参数。实际求和的单元格范围。如果省略此参数,则 `range` 将同时作为 `sum_range` 使用
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `SUMIF` 函数支持使用通配符 (`*` 和 `?`) 来匹配文本。其中 `*` 表示任意数量的字符,`?` 表示单个字符
|
||||
|
||||
- 如果 `sum_range` 参数省略,`SUMIF` 函数会将 `range` 参数中的单元格视为 `sum_range`,即对符合 `criteria` 的单元格自身进行求和
|
||||
|
||||
- 如果 `range` 中没有单元格满足 `criteria`,则返回 0
|
||||
|
||||
- 如果 `criteria` 包含特殊字符(如 `=`、`>`、`<` 等),需要将它们放在双引号内。例如,`=SUMIF(A1:A10, "<=100")`
|
||||
|
||||
- 如果 `criteria` 是文字或逻辑值(例如 TRUE 或 FALSE),也需要放在双引号内
|
||||
|
||||
- 如果 `criteria` 是一个单元格引用,则不需要双引号
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> |A|B|C|
|
||||
> |---|---|---|
|
||||
> |产品|销售额|数量|
|
||||
> |Apple|50|100|
|
||||
> |Banana|30|50|
|
||||
> |Apple|40|75|
|
||||
> |Orange|60|80|
|
||||
>
|
||||
> 计算Apple产品的销售总额
|
||||
>
|
||||
> =SUMIF(A2:A5, "Apple", B2:B5)
|
||||
>
|
||||
> 计算所有产品数量超过 50 的销售额总和
|
||||
>
|
||||
> =SUMIF(C2:C5, ">50", B2:B5)
|
||||
|
||||
---
|
||||
|
||||
## SUMIFS 多条件筛选求和
|
||||
|
||||
SUMIFS函数用于根据多个条件对一组数值进行求和。基本语法如下:
|
||||
|
||||
> `=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `sum_range`:必需参数。实际求和的单元格范围
|
||||
|
||||
- `criteria_range1`:必需参数。用于设置第一个条件的单元格范围
|
||||
|
||||
- `criteria1`:必需参数。定义哪些单元格将被加总的第一个标准。它可以是数字、表达式、单元格引用或文本形式
|
||||
|
||||
- `[criteria_range2, criteria2]`, ...:可选参数。用于设置更多条件的额外单元格范围和对应的条件
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `SUMIFS` 函数支持使用通配符 (`*` 和 `?`) 来匹配文本。其中 `*` 表示任意数量的字符,`?` 表示单个字符
|
||||
|
||||
- 所有的条件都必须同时满足才能对相应的单元格进行求和
|
||||
|
||||
- 如果 `sum_range` 和任一 `criteria_range` 的大小不一致,`SUMIFS` 函数将返回错误
|
||||
|
||||
- 如果 `criteria` 包含特殊字符(如 `=`、`>`、`<` 等),需要将它们放在双引号内。例如,`=SUMIFS(C1:C10, B1:B10, "<=100")`
|
||||
|
||||
- 如果 `criteria` 是文字或逻辑值(例如 TRUE 或 FALSE),也需要放在双引号内
|
||||
|
||||
- 如果 `criteria` 是一个单元格引用,则不需要双引号
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 计算 C1 到 C10 区域内的数值总和,前提条件是在 A1 到 A10 区域内单元格内容为 "Fruit",且在 B1 到 B10 区域内单元格的值大于 20
|
||||
>
|
||||
> =SUMIFS(C1:C10, A1:A10, "Fruit", B1:B10, ">20")
|
||||
>
|
||||
> 计算 C1 到 C10 区域内的数值总和,前提条件是在 A1 到 A10 区域内单元格内容与D1单元格相同,且在 B1 到 B10 区域内单元格的值大于 20
|
||||
>
|
||||
> =SUMIFS(C1:C10, A1:A10, D1, B1:B10, E1)
|
||||
>
|
||||
> 计算 C1 到 C10 区域内的数值总和,前提条件是在 A1 到 A10 区域内单元格内容含 "apple" 文本,且在 B1 到 B10 区域内单元格的值大于 20
|
||||
>
|
||||
> =SUMIFS(C1:C10, A1:A10, "*apple*", B1:B10, ">20")
|
||||
>
|
||||
> |A|B|C|D|
|
||||
> |---|---|---|---|
|
||||
> |产品|销售额|数量|地区|
|
||||
> |Apple|50|100|North|
|
||||
> |Banana|30|50|South|
|
||||
> |Apple|40|75|North|
|
||||
> |Orange|60|80|East|
|
||||
>
|
||||
> 计算所有 "Apple" 产品且地区为 "North" 的销售额总和
|
||||
>
|
||||
> =SUMIFS(B2:B5, A2:A5, "Apple", D2:D5, "North")
|
||||
>
|
||||
> 计算所有产品数量超过 50 且地区为 "North" 的销售额总和
|
||||
>
|
||||
> =SUMIFS(B2:B5, C2:C5, ">50", D2:D5, "North")
|
||||
|
||||
---
|
||||
|
||||
## LEN 统计字符串长度
|
||||
|
||||
LEN函数用于计算文本字符串中的字符数。基本语法:
|
||||
|
||||
> `=LEN(text)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `text`:必需参数。要计算长度的文本字符串。可以是直接输入的文本字符串、单元格引用或其他函数返回的文本结果
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `LEN` 函数可以接受任何文本字符串作为参数
|
||||
|
||||
- `LEN` 函数会计算文本字符串中的所有字符,包括空格和特殊字符
|
||||
|
||||
- 如果提供的参数不是文本类型,`LEN` 函数会尝试将其转换为文本再计算长度
|
||||
|
||||
- 如果 `text` 参数为空字符串(""),`LEN` 函数将返回 0
|
||||
|
||||
- 如果 `text` 参数包含数字格式的日期或时间,`LEN` 函数将返回这些日期或时间的文本表示形式的长度
|
||||
|
||||
- 如果 `text` 参数是一个单元格引用,并且该单元格包含数字而非文本,则 `LEN` 函数将返回该数字的文本表示形式的长度
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 计算Hello World的长度(特殊字符、空格也会被记录在内)
|
||||
>
|
||||
> =LEN("Hello World")
|
||||
>
|
||||
> 计算单元格中文本的长度
|
||||
>
|
||||
> =LEN(A1)
|
||||
|
||||
---
|
||||
|
||||
## LEFT 从左侧提取指定数量的字符
|
||||
|
||||
LEFT函数用于从文本字符串的左侧提取指定数量的字符。基本语法:
|
||||
|
||||
> `=LEFT(text, [num_chars])`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `text`:必需参数。包含要提取字符的原始文本字符串
|
||||
|
||||
- `[num_chars]`:可选参数。要从文本左侧提取的字符数量。默认值为 1
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `LEFT` 函数可以从文本字符串的左侧提取指定数量的字符
|
||||
|
||||
- 如果 `[num_chars]` 参数省略,默认提取 1 个字符
|
||||
|
||||
- 如果 `[num_chars]` 参数为负数,`LEFT` 函数将返回错误
|
||||
|
||||
- 如果 `[num_chars]` 参数大于文本字符串的实际长度,`LEFT` 函数将返回整个文本字符串
|
||||
|
||||
- 如果 `text` 参数为空字符串(""),`LEFT` 函数将返回空字符串
|
||||
|
||||
- 如果 `[num_chars]` 参数为 0,`LEFT` 函数也将返回空字符串
|
||||
|
||||
- 如果 `[num_chars]` 参数大于 `text` 的长度,`LEFT` 函数将返回整个文本字符串
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 提取单个字符
|
||||
>
|
||||
> =LEFT("Hello World")
|
||||
>
|
||||
> 提取多个字符
|
||||
>
|
||||
> =LEFT("Hello World", 5)
|
||||
>
|
||||
> 提取单元格中的字符
|
||||
>
|
||||
> =LEFT(A1, 3)
|
||||
>
|
||||
> 提取单元格中全部字符
|
||||
>
|
||||
> =LEFT(A1)
|
||||
|
||||
---
|
||||
|
||||
## RIGHT 从右侧提取指定数量的字符
|
||||
|
||||
RIGHT函数用于从文本字符串的右侧提取指定数量的字符。基本语法:
|
||||
|
||||
> `=RIGHT(text, [num_chars])`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `text`:必须参数,包含要提取字符的文本字符串
|
||||
|
||||
- `[num_chars]` :可选参数,指定从文本字符串末尾开始要提取的字符数。如果省略,则默认为1
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `RIGHT` 函数可以从文本字符串的右侧提取指定数量的字符
|
||||
|
||||
- 如果 `[num_chars]` 参数省略,默认提取 1 个字符
|
||||
|
||||
- 如果 `[num_chars]` 参数为负数,`RIGHT` 函数将返回错误
|
||||
|
||||
- 如果 `[num_chars]` 参数大于文本字符串的实际长度,`RIGHT` 函数将返回整个文本字符串
|
||||
|
||||
- 如果 `text` 参数为空字符串(""),`RIGHT` 函数将返回空字符串
|
||||
|
||||
- 如果 `[num_chars]` 参数为 0,`RIGHT` 函数也将返回空字符串
|
||||
|
||||
- 如果 `[num_chars]` 参数大于 `text` 的长度,`RIGHT` 函数将返回整个文本字符串
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 提取单个字符
|
||||
>
|
||||
> =RIGHT("Hello World")
|
||||
>
|
||||
> 提取多个字符
|
||||
>
|
||||
> =RIGHT("Hello World", 5)
|
||||
>
|
||||
> 提取单元格中的字符
|
||||
>
|
||||
> =RIGHT(A1, 3)
|
||||
>
|
||||
> 提取单元格中全部字符
|
||||
>
|
||||
> =RIGHT(A1)
|
||||
|
||||
---
|
||||
|
||||
## MID 从指定位置提取指定数量的字符
|
||||
|
||||
MID函数用于从文本字符串中的指定位置开始提取指定数量的字符。基本语法:
|
||||
|
||||
> `=MID(text, start_num, num_chars)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `text`:必需参数。包含要提取字符的原始文本字符串
|
||||
|
||||
- `start_num`:必需参数。要开始提取字符的位置(索引)。索引从 1 开始
|
||||
|
||||
- `num_chars`:必需参数。要提取的字符数量
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `MID` 函数可以从文本字符串的任意位置开始提取指定数量的字符
|
||||
|
||||
- 如果 `start_num` 参数大于文本字符串的实际长度,`MID` 函数将返回空字符串
|
||||
|
||||
- 如果 `start_num` 参数为负数,`MID` 函数将返回错误
|
||||
|
||||
- 如果 `num_chars` 参数为负数,`MID` 函数将返回错误
|
||||
|
||||
- 如果 `num_chars` 参数大于从 `start_num` 开始到文本字符串结尾的字符数量,`MID` 函数将返回从 `start_num` 开始到文本字符串结尾的所有字符
|
||||
|
||||
- 如果 `text` 参数为空字符串(""),`MID` 函数将返回空字符串
|
||||
|
||||
- 如果 `start_num` 参数为 0,`MID` 函数将返回空字符串
|
||||
|
||||
- 如果 `num_chars` 参数为 0,`MID` 函数也将返回空字符串
|
||||
|
||||
- 如果 `start_num` 参数加上 `num_chars` 超出了 `text` 的长度,`MID` 函数将返回从 `start_num` 开始到文本字符串结尾的所有字符
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 提取指定位置单个字符(从第一个字符开始提取一个字符)
|
||||
>
|
||||
> =MID("Hello World", 1, 1)
|
||||
>
|
||||
> 提取指定位置的多个字符(从第七个字符开始提取五个字符)
|
||||
>
|
||||
> =MID("Hello World", 7, 5)
|
||||
>
|
||||
> 提取单元格中的文本(从第三个字符开始提取三个字符)
|
||||
>
|
||||
> =MID(A1, 3, 3)
|
||||
>
|
||||
> 提取单元格中的全部剩余文本
|
||||
>
|
||||
> =MID(A1, 7, LEN(A1)-6)
|
||||
|
||||
---
|
||||
|
||||
## TRIM 去空格
|
||||
|
||||
TRIM函数用于删除文本字符串首尾的空格,并将内部连续的空格压缩为单个空格。基本语法:
|
||||
|
||||
> `=TRIM(text)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `text`:必需参数。要清理空格的原始文本字符串
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `TRIM` 函数可以接受任何文本字符串作为参数
|
||||
|
||||
- `TRIM` 函数会删除文本字符串首尾的空格,并将内部连续的空格压缩为单个空格
|
||||
|
||||
- 如果提供的参数本身不包含多余的空格,`TRIM` 函数将返回原样
|
||||
|
||||
- 如果 `text` 参数为空字符串(""),`TRIM` 函数将返回空字符串
|
||||
|
||||
- `TRIM` 函数不会改变文本字符串中的其他字符,只处理空格
|
||||
|
||||
- `TRIM` 函数不会删除文本字符串中的非空格字符
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 清理直接输入的文本 → 结果将是 "Hello World"
|
||||
>
|
||||
> =TRIM(" Hello World ")
|
||||
>
|
||||
> 清理单元格中的文本 → 如果 A1 单元格包含 " Hello World ",结果将是 "Hello World"
|
||||
>
|
||||
> =TRIM(A1)
|
||||
>
|
||||
> 清理包含特殊字符的文本 → 结果将是 "Hello World!"
|
||||
>
|
||||
> =TRIM(" Hello World! ")
|
||||
|
||||
---
|
||||
|
||||
## MAX 取得最大值
|
||||
|
||||
MAX函数用于找出一组数值中的最大值。基本语法:
|
||||
|
||||
> `=MAX(number1, [number2], ...)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `number1`: 必需参数。第一个数值或数值范围
|
||||
|
||||
- `[number2], ...`: 可选参数。其他数值或数值范围
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `MAX` 函数可以接受任何数值或数值范围作为参数
|
||||
|
||||
- `MAX` 函数可以接受多个参数,返回所有参数中的最大值
|
||||
|
||||
- 如果提供的参数中包含文本或逻辑值 `TRUE` 和 `FALSE`,这些值将被忽略
|
||||
|
||||
- 如果所有参数都是空单元格或文本,`MAX` 函数将返回错误值 `#DIV/0!`
|
||||
|
||||
- 如果提供的参数中包含逻辑值 `TRUE` 和 `FALSE`,这些值将被忽略,除非它们直接作为参数输入
|
||||
|
||||
- `MAX` 函数可以处理多个参数,包括单元格引用、常量和数组
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 找出输入值中的最大值
|
||||
>
|
||||
> =MAX(10, 20, 30, 40)
|
||||
>
|
||||
> 找出单元格中的最大值
|
||||
>
|
||||
> =MAX(A1:A10)
|
||||
>
|
||||
> 找出多个范围内的最大值
|
||||
>
|
||||
> =MAX(A1:A10, B1:B10)
|
||||
|
||||
---
|
||||
|
||||
## MAXIFS 在特定条件下找出最大值
|
||||
|
||||
MAXIFS函数用于找出一组数值中的最大值,同时满足一个或多个条件。参数说明:
|
||||
|
||||
> `=MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `max_range`: 必需参数。包含要找出最大值的数值范围
|
||||
|
||||
- `criteria_range1`: 必需参数。第一个条件范围,用于应用 `criteria1`
|
||||
|
||||
- `criteria1`: 必需参数。应用于 `criteria_range1` 的条件
|
||||
|
||||
- `[criteria_range2, criteria2], ...`: 可选参数。额外的条件范围及其对应的条件
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `MAXIFS` 函数可以接受多个条件范围及其对应的条件
|
||||
|
||||
- `MAXIFS` 函数可以处理复杂的条件,包括文本、数字和逻辑表达式
|
||||
|
||||
- 如果提供的条件范围中没有符合所有条件的值,`MAXIFS` 函数将返回错误值 `#DIV/0!`
|
||||
|
||||
- 如果所有参数都是空单元格或文本,`MAXIFS` 函数将返回错误值 `#DIV/0!`
|
||||
|
||||
- 如果提供的条件范围中没有符合所有条件的值,`MAXIFS` 函数将返回错误值 `#DIV/0!`
|
||||
|
||||
- `MAXIFS` 函数可以处理多个参数,包括单元格引用、常量和数组
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 找出A1:A10单元格中对应于B1:B10单元格,小于10的最大值
|
||||
>
|
||||
> =MAXIFS(A1:A10, B1:B10, "<10")
|
||||
>
|
||||
> 找出 A1:A10 中对应于 B1:B10 大于 10 且 C1:C10 小于 20 的最大值
|
||||
>
|
||||
> =MAXIFS(A1:A10, B1:B10, ">10", C1:C10, "<20")
|
||||
>
|
||||
> |A|B|C|
|
||||
> |---|---|---|
|
||||
> |10|5|20|
|
||||
> |20|10|15|
|
||||
> |30|15|10|
|
||||
> |40|20|5|
|
||||
> |30|25|Text|
|
||||
>
|
||||
> 找出 A 列中满足 B 列大于 10 且 C 列小于 20 的最大值( "Text" 不会被考虑为数值,所以 `MAXIFS` 函数将忽略它)
|
||||
>
|
||||
> =MAXIFS(A1:A4, B1:B4, ">10", C1:C4, "<20")
|
||||
>
|
||||
> 找出 A 列中满足 B 列大于 10 的最大值
|
||||
>
|
||||
> =MAXIFS(A1:A4, B1:B4, ">10")
|
||||
|
||||
---
|
||||
|
||||
## MIN 取得最小值
|
||||
|
||||
MIN函数用于找出一组数值中的最小值。基本语法:
|
||||
|
||||
> `=MIN(number1, [number2], ...)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `number1`: 必需参数。第一个数值或数值范围
|
||||
|
||||
- `[number2], ...`: 可选参数。其他数值或数值范围
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `MIN` 函数可以接受任何数值或数值范围作为参数
|
||||
|
||||
- `MIN` 函数可以接受多个参数,返回所有参数中的最小值
|
||||
|
||||
- 如果提供的参数中包含文本或逻辑值 `TRUE` 和 `FALSE`,这些值将被忽略
|
||||
|
||||
- 如果所有参数都是空单元格或文本,`MIN` 函数将返回错误值 `#DIV/0!`
|
||||
|
||||
- 如果提供的参数中包含逻辑值 `TRUE` 和 `FALSE`,这些值将被忽略,除非它们直接作为参数输入
|
||||
|
||||
- `MIN` 函数可以处理多个参数,包括单元格引用、常量和数组
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 找出输入值中的最小值
|
||||
>
|
||||
> =MIN(10, 20, 30, 40)
|
||||
>
|
||||
> 找出单元格中的最小值
|
||||
>
|
||||
> =MIN(A1:A10)
|
||||
>
|
||||
> 找出多个范围内的最小值
|
||||
>
|
||||
> =MIN(A1:A10, B1:B10)
|
||||
|
||||
---
|
||||
|
||||
## MINIFS 在特定条件下找出最小值
|
||||
|
||||
MINIFS函数用于找出一组数值中的最小值,同时满足一个或多个条件。基础语法:
|
||||
|
||||
> `=MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `min_range`: 必需参数。包含要找出最小值的数值范围
|
||||
|
||||
- `criteria_range1`: 必需参数。第一个条件范围,用于应用 `criteria1`
|
||||
|
||||
- `criteria1`: 必需参数。应用于 `criteria_range1` 的条件
|
||||
|
||||
- `[criteria_range2, criteria2], ...`: 可选参数。额外的条件范围及其对应的条件
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `MINIFS` 函数可以接受多个条件范围及其对应的条件
|
||||
|
||||
- `MINIFS` 函数可以处理复杂的条件,包括文本、数字和逻辑表达式
|
||||
|
||||
- 如果提供的条件范围中没有符合所有条件的值,`MINIFS` 函数将返回错误值 `#DIV/0!`
|
||||
|
||||
- 如果所有参数都是空单元格或文本,`MINIFS` 函数将返回错误值 `#DIV/0!`
|
||||
|
||||
- 如果提供的条件范围中没有符合所有条件的值,`MINIFS` 函数将返回错误值 `#DIV/0!`
|
||||
|
||||
- `MINIFS` 函数可以处理多个参数,包括单元格引用、常量和数组
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 找出A1:A10单元格中对应于B1:B10单元格,大于10的最小值
|
||||
>
|
||||
> =MINIFS(A1:A10, B1:B10, ">10")
|
||||
>
|
||||
> 找出 A1:A10 中对应于 B1:B10 大于 10 且 C1:C10 小于 20 的最小值
|
||||
>
|
||||
> =MINIFS(A1:A10, B1:B10, ">10", C1:C10, "<20")
|
||||
>
|
||||
> |A|B|C|
|
||||
> |---|---|---|
|
||||
> |10|5|20|
|
||||
> |20|10|15|
|
||||
> |30|15|10|
|
||||
> |40|20|5|
|
||||
> |30|25|Text|
|
||||
>
|
||||
> 找出 A 列中满足 B 列大于 10 且 C 列小于 20 的最小值( "Text" 不会被考虑为数值,所以 `MINIFS` 函数将忽略它)
|
||||
>
|
||||
> =MINIFS(A1:A4, B1:B4, ">10", C1:C4, "<20")
|
||||
>
|
||||
> 找出 A 列中满足 B 列大于 10 的最小值
|
||||
>
|
||||
> =MINIFS(A1:A4, B1:B4, ">10")
|
||||
|
||||
---
|
||||
|
||||
## ISNUMBER 判断一个值是否为数字
|
||||
|
||||
ISNUMBER函数用于检查一个值是否为数字。基本语法:
|
||||
|
||||
> `=ISNUMBER(value)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `value`: 必需参数。要测试的值或单元格引用
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `ISNUMBER` 函数可以接受任何类型的值作为参数
|
||||
|
||||
- `ISNUMBER` 函数返回 TRUE 如果参数是数字,否则返回 FALSE
|
||||
|
||||
- `ISNUMBER` 函数可以用于验证公式或函数的结果是否为预期的数字类型
|
||||
|
||||
- `ISNUMBER` 函数会返回 FALSE 如果 `value` 参数是文本字符串,即使该文本看起来像数字(例如 "123")
|
||||
|
||||
- `ISNUMBER` 函数会返回 FALSE 如果 `value` 参数是错误值,例如 `#N/A` 或 `#DIV/0!`
|
||||
|
||||
- `ISNUMBER` 函数可以用于数组公式中,以测试数组中所有元素是否为数字
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 测试直接输入的值
|
||||
>
|
||||
> =ISNUMBER(123)
|
||||
>
|
||||
> 测试单元格中的数值
|
||||
>
|
||||
> =ISNUMBER(A1)
|
||||
>
|
||||
> 测试公式结果
|
||||
>
|
||||
> =ISNUMBER(SUM(A1:A5))
|
||||
|
||||
---
|
||||
|
||||
## ISBLANK 判断单元格是否为空
|
||||
|
||||
ISBLANK函数用于判断单元格是否为空。基本语法:
|
||||
|
||||
> `=ISBLANK(reference)`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `reference`: 必需参数。要测试的单元格或单元格区域
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `ISBLANK` 函数仅接受单元格引用作为参数
|
||||
|
||||
- `ISBLANK` 函数返回 TRUE 如果单元格完全为空,即没有任何数据或公式
|
||||
|
||||
- `ISBLANK` 函数返回 FALSE 如果单元格包含任何类型的数据,包括公式、错误值或空白字符串 ""
|
||||
|
||||
- `ISBLANK` 函数不会检查单元格格式或注释
|
||||
|
||||
- 如果单元格包含公式但公式结果为空,`ISBLANK` 函数仍会返回 FALSE,因为它识别到单元格中有公式存在
|
||||
|
||||
- `ISBLANK` 函数可以用于条件格式、数据有效性检查、以及动态数组公式中,以测试和处理空单元格
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> 测试单个单元格是否为空
|
||||
>
|
||||
> =ISBLANK(A1)
|
||||
>
|
||||
> 测试一片区域的单元格是否为空
|
||||
>
|
||||
> =ISBLANK(A1:B5)
|
||||
|
||||
---
|
||||
|
||||
## VLOOKUP 垂直查找引用函数
|
||||
|
||||
VLOOKUP函数用于在表格或范围的第一列查找特定值,并返回同一行中指定列的值。通常在需要根据一个关键值查找并返回相关联的数据时使用。基本语法:
|
||||
|
||||
> `=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `lookup_value`: 必需参数。要查找的值。它可以是一个值或对包含查找值的单元格的引用
|
||||
|
||||
- `table_array`: 必需参数。包含数据的表格或范围。`lookup_value` 应该在 `table_array` 的第一列中
|
||||
|
||||
- `col_index_num`: 必需参数。`table_array` 中包含返回值的列号。列号为 1 表示返回 `table_array` 的第一列的值,2 表示第二列的值,依此类推
|
||||
|
||||
- `[range_lookup]`: 可选参数。一个逻辑值,指明函数应执行精确匹配还是近似匹配。如果为 TRUE 或省略,则执行近似匹配;如果为 FALSE,则执行精确匹配
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `VLOOKUP` 函数只能在 `table_array` 的第一列中进行查找
|
||||
|
||||
- 当执行近似查找时,`table_array` 的第一列必须排序,否则结果可能不准确
|
||||
|
||||
- 如果找不到 `lookup_value`,`VLOOKUP` 函数将返回错误值 `#N/A`
|
||||
|
||||
- 确保 `lookup_value` 在 `table_array` 的第一列中
|
||||
|
||||
- 如果 `range_lookup` 参数为 FALSE 或省略,且 `lookup_value` 不存在于 `table_array` 中,`VLOOKUP` 将返回错误值 `#N/A`
|
||||
|
||||
- 当执行近似查找时,如果 `lookup_value` 小于 `table_array` 第一列中的最小值,`VLOOKUP` 也将返回错误值 `#N/A`
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> |A|B|
|
||||
> |---|---|
|
||||
> |Product|Price|
|
||||
> |Apple|$2.50|
|
||||
> |Banana|$0.75|
|
||||
> |Cherry|$3.00|
|
||||
>
|
||||
> 查找 "Banana" 的价格
|
||||
>
|
||||
> =VLOOKUP("Banana", A2:B4, 2, FALSE)
|
||||
>
|
||||
> 查找整个表格中产品的价格
|
||||
>
|
||||
> =VLOOKUP(A2:A4, A2:B4, 2, FALSE)
|
||||
>
|
||||
> 查找一个不存在的产品的价格(结果是`#N/A`)
|
||||
>
|
||||
> =VLOOKUP("Orange", A2:B4, 2, FALSE)
|
||||
|
||||
---
|
||||
|
||||
## XLOOKUP 查找引用函数
|
||||
|
||||
XLOOKUP函数用于在表格或范围中查找特定值,并返回与之相关联的另一个值。通常在需要查找数据并返回相关联的信息时使用,特别是在需要更灵活和强大查找选项的情况下。基本语法:
|
||||
|
||||
> `=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])`
|
||||
|
||||
**参数说明**
|
||||
|
||||
- `lookup_value`: 必需参数。要查找的值
|
||||
|
||||
- `lookup_array`: 必需参数。包含查找值的范围或数组
|
||||
|
||||
- `return_array`: 必需参数。与 `lookup_array` 关联的范围或数组,从中返回查找结果
|
||||
|
||||
- `[if_not_found]`: 可选参数。如果没有找到匹配项,此参数定义了返回的值。如果省略,默认返回 `#N/A` 错误
|
||||
|
||||
- `[match_mode]`: 可选参数。定义了匹配模式
|
||||
|
||||
- 0 或省略:精确匹配
|
||||
|
||||
- -1:查找最大的等于或小于 `lookup_value` 的值(近似匹配)
|
||||
|
||||
- 1:查找最小的等于或大于 `lookup_value` 的值(近似匹配)
|
||||
|
||||
- `[search_mode]`: 可选参数。定义了查找的方向
|
||||
|
||||
- 1 或省略:从左到右(或从上到下)
|
||||
|
||||
- -1:从右到左(或从下到上)
|
||||
|
||||
- 2:二分查找,要求 `lookup_array` 排序
|
||||
|
||||
- -2:二分查找,从后向前,要求 `lookup_array` 排序。
|
||||
|
||||
|
||||
**说明**
|
||||
|
||||
- `XLOOKUP` 函数可以执行精确匹配和近似匹配
|
||||
|
||||
- 它可以处理多种查找方向,包括从左到右、从右到左、从上到下和从下到上
|
||||
|
||||
- 它允许定义未找到匹配项时的返回值
|
||||
|
||||
- `XLOOKUP` 函数在查找未找到的情况下返回的错误可以自定义,而不必总是返回 `#N/A`
|
||||
|
||||
- 确保 `lookup_array` 正确排序,特别是当你使用近似匹配和二分查找模式时
|
||||
|
||||
- 如果 `lookup_array` 和 `return_array` 长度不一致,`XLOOKUP` 函数可能会返回错误结果
|
||||
|
||||
|
||||
**案例**
|
||||
|
||||
> |A|B|
|
||||
> |---|---|
|
||||
> |Apple|$2.50|
|
||||
> |Banana|$0.75|
|
||||
> |Cherry|$3.00|
|
||||
>
|
||||
> 查找 "Banana" 的价格
|
||||
>
|
||||
> =XLOOKUP("Banana", A2:A4, B2:B4)
|
||||
>
|
||||
> 找一个不存在的产品的价格,并返回默认值
|
||||
>
|
||||
> =XLOOKUP("Orange", A2:A4, B2:B4, "Product not found")
|
||||
>
|
||||
> 近似查找,返回最接近但不大于查找值的项
|
||||
>
|
||||
> =XLOOKUP(15, A2:A10, B2:B10, NA(), -1)
|
Reference in New Issue
Block a user