当前位置: 首页 > article >正文

50个Excel常用公式

方法 1:使用 VLOOKUP 函数查找对应值

假设:

  • Sheet1 的 K 列包含需要查找的 IP 地址。
  • Sheet2 的 A 列是所有 IP 地址,B 列是对应的 MAC 地址。
  • 你想在 Sheet1 的 L 列显示对应的 MAC 地址。
    在 Sheet1 的 L 列输入公式:
    在 Sheet1 的 L2 单元格输入以下公式,然后向下拖动:

=VLOOKUP(K2, Sheet2!A:B, 2, FALSE)

  • K2:Sheet1 中 K 列的 IP 地址。
  • Sheet2!A:B:Sheet2 中 A 列到 B 列的范围(A 列是 IP,B 列是 MAC)。
  • 2:表示返回第 2 列(B 列)的值,即 MAC 地址。
  • FALSE:表示精确匹配。
    结果:
  • 如果 Sheet1 的 K2 中的 IP 在 Sheet2 的 A 列中存在,L2 会显示对应的 MAC 地址。
  • 如果找不到匹配的 IP,公式会返回 #N/A 错误。

方法 2:使用 INDEX-MATCH 函数查找对应值

假设:

  • Sheet1 的 K 列包含需要查找的 IP 地址。
  • Sheet2 的 A 列是所有 IP 地址,B 列是对应的 MAC 地址。
  • 你想在 Sheet1 的 L 列显示对应的 MAC 地址。
    在 Sheet1 的 L 列输入公式:
    在 Sheet1 的 L2 单元格输入以下公式,然后向下拖动:
=INDEX(Sheet2!B:B, MATCH(K2, Sheet2!A:A, 0))
  • INDEX(Sheet2!B:B, ...):从 Sheet2 的 B 列(MAC 地址列)中返回对应的值。
  • MATCH(K2, Sheet2!A:A, 0):在 Sheet2 的 A 列(IP 地址列)中查找 K2 的 IP 地址,返回匹配的行号。
  • 0:表示精确匹配。
    结果:
  • 如果 Sheet1 的 K2 中的 IP 在 Sheet2 的 A 列中存在,L2 会显示对应的 MAC 地址。
  • 如果找不到匹配的 IP,公式会返回 #N/A 错误。

方法 3:筛选 B 列中独有值(不在 A 列中)

假设:

  • A 列包含已有数据(如 IP 地址,A2:A100)。
  • B 列包含待检查数据(如 IP 地址,B2:B100)。
  • 你想在 C 列显示 B 列中独有的值。
    在 C 列输入公式:
    在 C2 单元格输入以下公式,然后向下拖动:
=IF(ISNA(VLOOKUP(B2, $A$2:$A$100, 1, FALSE)), B2, "")
  • B2:B 列中待检查的值(如 IP 地址)。
  • $A$2:$A$100:A 列的已有数据范围。
  • 1:表示查找 A 列中的匹配值。
  • FALSE:表示精确匹配。
  • ISNA(...):检查 VLOOKUP 是否返回错误(未找到)。
    结果:
  • 如果 B2 的值在 A 列中不存在,C2 会显示 B2 的值。
  • 如果 B2 的值在 A 列中存在,C2 会显示空值。

方法 4:计算两个日期之间的天数

假设:

  • A1 包含开始日期(如 2025/3/1)。
  • B1 包含结束日期(如 2025/3/10)。
  • 你想在 C1 显示相差的天数。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=DATEDIF(A1, B1, "d")
  • A1:开始日期。
  • B1:结束日期。
  • "d":表示计算天数(可替换为 "m" 算月数,"y" 算年数)。
    结果:
  • C1 会显示相差的天数(例如 9 天)。
  • 如果日期格式不正确,可能会返回错误。

方法 5:统计某列中特定文本的出现次数

假设:

  • A 列包含文本数据(A1:A100)。
  • 你想统计“苹果”出现的次数。
  • 你想在 B1 显示结果。
    在 B1 输入公式:
    在 B1 单元格输入以下公式:
=COUNTIF(A1:A100, "苹果")
  • A1:A100:数据范围。
  • "苹果":要统计的特定文本(可替换为其他值)。
    结果:
  • B1 会显示“苹果”出现的次数(例如 5 次)。
  • 如果没有匹配值,结果为 0。

方法 6:根据条件求和

假设:

  • A 列包含类别(如“蔬菜”、“水果”,A1:A100)。
  • B 列包含金额(B1:B100)。
  • 你想在 C1 显示“蔬菜”类别的总金额。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=SUMIF(A1:A100, "蔬菜", B1:B100)
  • A1:A100:条件列(类别)。
  • "蔬菜":要匹配的条件。
  • B1:B100:求和列(金额)。
    结果:
  • C1 会显示 A 列中“蔬菜”对应的 B 列金额总和(例如 150)。
  • 如果没有匹配值,结果为 0。

方法 7:根据分数判断是否及格

假设:

  • A 列包含分数(A1:A100)。
  • 你想在 B 列显示“及格”或“不及格”(及格线为 60)。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=IF(A1>=60, "及格", "不及格")
  • A1:分数单元格。
  • >=60:判断条件(可调整为其他阈值)。
  • "及格":条件为真时返回值。
  • "不及格":条件为假时返回值。
    结果:
  • 如果 A1 的分数≥60,B1 显示“及格”;否则显示“不及格”。
  • 例如 A1 为 75,B1 显示“及格”。

方法 8:提取文本中的前几个字符

假设:

  • A 列包含文本数据(A1:A100)。
  • 你想在 B 列提取每个文本的前 3 个字符。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=LEFT(A1, 3)
  • A1:文本单元格(如“010-12345678”)。
  • 3:要提取的字符数量(可调整)。
    结果:
  • B1 会显示 A1 的前 3 个字符(例如“010”)。
  • 如果 A1 字符不足 3 个,返回全部字符。

方法 9:计算平均值(忽略空值)

假设:

  • A 列包含数值数据(A1:A10)。
  • 你想在 B1 显示这些数值的平均值。
    在 B1 输入公式:
    在 B1 单元格输入以下公式:
=AVERAGE(A1:A10)
  • A1:A10:数值范围。
    结果:
  • B1 会显示 A1:A10 的平均值(例如 20)。
  • 公式会自动忽略空白单元格。

方法 10:检查两列数据是否一致

假设:

  • A 列和 B 列包含需要比较的数据(A1:A100 和 B1:B100)。
  • 你想在 C 列显示“一致”或“不一致”。
    在 C 列输入公式:
    在 C1 单元格输入以下公式,然后向下拖动:
=IF(A1=B1, "一致", "不一致")
  • A1:第一列的单元格。
  • B1:第二列的单元格。
  • "一致":A1 和 B1 相等时返回值。
  • "不一致":不相等时返回值。
    结果:
  • 如果 A1 和 B1 相同,C1 显示“一致”;否则显示“不一致”。
  • 例如 A1 为“张三”,B1 为“张三”,C1 显示“一致”。

方法 11:将数字转换为货币格式文本

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B 列将数值格式化为带货币符号的文本。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=TEXT(A1, "¥#,##0.00")
  • A1:数值单元格(如 1234.5)。
  • "¥#,##0.00":格式化模式(¥为货币符号,可替换为“$”)。
    结果:
  • B1 会显示格式化后的文本(例如“¥1,234.50”)。
  • 结果为文本格式,不能直接用于计算。

方法 12:计算当前日期与某日期的剩余天数

假设:

  • B 列包含未来日期(B1:B100)。
  • 你想在 C 列显示距离当前日期的剩余天数。
    在 C 列输入公式:
    在 C1 单元格输入以下公式,然后向下拖动:
=B1-TODAY()
  • B1:未来日期(如 2025/12/31)。
  • TODAY():当前日期(例如 2025/4/16)。
    结果:
  • C1 会显示剩余天数(例如 259 天)。
  • 确保 C 列单元格格式为“常规”或“数字”。

方法 13:提取文本中的后几个字符

假设:

  • A 列包含文本数据(A1:A100)。
  • 你想在 B 列提取每个文本的后 3 个字符。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=RIGHT(A1, 3)
  • A1:文本单元格(如“123456789”)。
  • 3:要提取的字符数量(可调整)。
    结果:
  • B1 会显示 A1 的后 3 个字符(例如“789”)。
  • 如果 A1 字符不足 3 个,返回全部字符。

方法 14:提取文本中的中间字符

假设:

  • A 列包含文本数据(A1:A100)。
  • 你想在 B 列提取每个文本从第 2 个字符开始的 3 个字符。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=MID(A1, 2, 3)
  • A1:文本单元格(如“ABC123XYZ”)。
  • 2:起始位置。
  • 3:提取的字符数量。
    结果:
  • B1 会显示提取的字符(例如“BC1”)。
  • 如果起始位置或长度超出文本范围,可能会返回部分结果。

方法 15:统计非空单元格数量

假设:

  • A 列包含数据(A1:A100)。
  • 你想在 B1 显示非空单元格的数量。
    在 B1 输入公式:
    在 B1 单元格输入以下公式:
  • A1:A100:数据范围。
    结果:
  • B1 会显示非空单元格的数量(例如 95)。
  • 空白单元格不会被计数。

方法 16:统计空白单元格数量

假设:

  • A 列包含数据(A1:A100)。
  • 你想在 B1 显示空白单元格的数量。
    在 B1 输入公式:
    在 B1 单元格输入以下公式:
=COUNTBLANK(A1:A100)
  • A1:A100:数据范围。
    结果:
  • B1 会显示空白单元格的数量(例如 5)。
  • 非空白单元格不会被计数。

方法 17:计算最大值

假设:

  • A 列包含数值数据(A1:A100)。
  • 你想在 B1 显示最大值。
    在 B1 输入公式:
    在 B1 单元格输入以下公式:
=MAX(A1:A100)
  • A1:A100:数值范围。
    结果:
  • B1 会显示最大值(例如 500)。
  • 如果范围为空,结果为 0。

方法 18:计算最小值

假设:

  • A 列包含数值数据(A1:A100)。
  • 你想在 B1 显示最小值。
    在 B1 输入公式:
    在 B1 单元格输入以下公式:
=MIN(A1:A100)
  • A1:A100:数值范围。
    结果:
  • B1 会显示最小值(例如 10)。
  • 如果范围为空,结果为 0。

方法 19:四舍五入到指定小数位

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B 列将数值四舍五入到 2 位小数。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=ROUND(A1, 2)
  • A1:数值单元格(如 123.456)。
  • 2:保留的小数位数。
    结果:
  • B1 会显示四舍五入后的值(例如 123.46)。
  • 如果 A1 不是数字,返回错误。

方法 20:向上取整

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B 列将数值向上取整到最接近的整数。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=CEILING(A1, 1)
  • A1:数值单元格(如 123.4)。
  • 1:取整的倍数(这里取整到 1)。
    结果:
  • B1 会显示向上取整后的值(例如 124)。
  • 如果 A1 不是数字,返回错误。

方法 21:向下取整

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B 列将数值向下取整到最接近的整数。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=FLOOR(A1, 1)
  • A1:数值单元格(如 123.7)。
  • 1:取整的倍数(这里取整到 1)。
    结果:
  • B1 会显示向下取整后的值(例如 123)。
  • 如果 A1 不是数字,返回错误。

方法 22:连接多个文本

假设:

  • A 列包含名字(A1:A100),B 列包含地址(B1:B100)。
  • 你想在 C 列将名字和地址连接起来。
    在 C 列输入公式:
    在 C1 单元格输入以下公式,然后向下拖动:
=A1 & " " & B1
  • A1:名字单元格(如“张三”)。
  • " ":连接时添加的空格。
  • B1:地址单元格(如“上海”)。
    结果:
  • C1 会显示连接后的文本(例如“张三 上海”)。
  • 如果 A1 或 B1 为空,结果会包含空格。

方法 23:查找文本中特定字符的位置

假设:

  • A 列包含文本数据(A1:A100)。
  • 你想在 B 列显示“@”字符在文本中的位置。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=FIND("@", A1)
  • "@":要查找的字符。
  • A1:文本单元格(如“user@example.com”)。
    结果:
  • B1 会显示“@”的位置(例如 5)。
  • 如果找不到“@”,返回 #VALUE! 错误。

方法 24:替换文本中的内容

假设:

  • A 列包含文本数据(A1:A100)。
  • 你想在 B 列将文本中的“旧”替换为“新”。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=SUBSTITUTE(A1, "旧", "新")
  • A1:文本单元格(如“旧版本”)。
  • "旧":要替换的文本。
  • "新":替换后的文本。
    结果:
  • B1 会显示替换后的文本(例如“新版本”)。
  • 如果 A1 中没有“旧”,返回原文本。

方法 25:根据多个条件求和

假设:

  • A 列包含类别(A1:A100),B 列包含金额(B1:B100),C 列包含数量(C1:C100)。
  • 你想在 D1 显示“蔬菜”类别且金额大于 10 的数量总和。
    在 D1 输入公式:
    在 D1 单元格输入以下公式:
=SUMIFS(C1:C100, A1:A100, "蔬菜", B1:B100, ">10")
  • C1:C100:求和列(数量)。
  • A1:A100:第一个条件列(类别)。
  • "蔬菜":第一个条件。
  • B1:B100:第二个条件列(金额)。
  • ">10":第二个条件。
    结果:
  • D1 会显示满足条件的数量总和(例如 50)。
  • 如果没有匹配值,结果为 0。

方法 26:按多个条件计数

假设:

  • A 列包含类别(A1:A100),B 列包含金额(B1:B100)。
  • 你想在 C1 显示“蔬菜”类别且金额大于 10 的记录数。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=COUNTIFS(A1:A100, "蔬菜", B1:B100, ">10")
  • A1:A100:第一个条件列(类别)。
  • "蔬菜":第一个条件。
  • B1:B100:第二个条件列(金额)。
  • ">10":第二个条件。
    结果:
  • C1 会显示满足条件的记录数(例如 8)。
  • 如果没有匹配值,结果为 0。

方法 27:返回当前日期

假设:

  • 你想在 A1 显示当前日期。
    在 A1 输入公式:
    在 A1 单元格输入以下公式:
=TODAY()
  • 无参数,直接返回当前日期。
    结果:
  • A1 会显示当前日期(例如 2025/4/16)。
  • 确保单元格格式为日期格式。

方法 28:返回当前日期和时间

假设:

  • 你想在 A1 显示当前日期和时间。
    在 A1 输入公式:
    在 A1 单元格输入以下公式:
=NOW()
  • 无参数,直接返回当前日期和时间。
    结果:
  • A1 会显示当前日期和时间(例如 2025/4/16 12:00)。
  • 确保单元格格式为日期时间格式。

方法 29:计算两个日期之间的工作日天数

假设:

  • A1 包含开始日期(如 2025/4/1)。
  • B1 包含结束日期(如 2025/4/10)。
  • 你想在 C1 显示工作日天数(排除周末)。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=NETWORKDAYS(A1, B1)
  • A1:开始日期。
  • B1:结束日期。
    结果:
  • C1 会显示工作日天数(例如 8)。
  • 如果日期格式不正确,返回错误。

方法 30:计算若干工作日后的日期

假设:

  • A1 包含开始日期(如 2025/4/1)。
  • 你想在 B1 显示 5 个工作日后的日期(排除周末)。
    在 B1 输入公式:
    在 B1 单元格输入以下公式:
=WORKDAY(A1, 5)
  • A1:开始日期。
  • 5:工作日天数(可调整)。
    结果:
  • B1 会显示 5 个工作日后的日期(例如 2025/4/8)。
  • 确保单元格格式为日期格式。

方法 31:检查单元格是否为空

假设:

  • A 列包含数据(A1:A100)。
  • 你想在 B 列显示每个单元格是否为空。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动
  • A1:目标单元格。
  • ISBLANK(A1):检查 A1 是否为空。
  • "空":为空时返回值。
  • "非空":不为空时返回值。
    结果:
  • 如果 A1 为空,B1 显示“空”;否则显示“非空”。
  • 例如 A1 为空,B1 显示“空”。

方法 32:检查单元格是否为数字

假设:

  • A 列包含数据(A1:A100)。
  • 你想在 B 列显示每个单元格是否为数字。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=IF(ISNUMBER(A1), "是数字", "不是数字")
  • A1:目标单元格。
  • ISNUMBER(A1):检查 A1 是否为数字。
  • "是数字":是数字时返回值。
  • "不是数字":不是数字时返回值。
    结果:
  • 如果 A1 是数字,B1 显示“是数字”;否则显示“不是数字”。
  • 例如 A1 为 123,B1 显示“是数字”。

方法 33:检查单元格是否为文本

假设:

  • A 列包含数据(A1:A100)。
  • 你想在 B 列显示每个单元格是否为文本。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=IF(ISTEXT(A1), "是文本", "不是文本")
  • A1:目标单元格。
  • ISTEXT(A1):检查 A1 是否为文本。
  • "是文本":是文本时返回值。
  • "不是文本":不是文本时返回值。
    结果:
  • 如果 A1 是文本,B1 显示“是文本”;否则显示“不是文本”。
  • 例如 A1 为“abc”,B1 显示“是文本”。

方法 34:根据多个条件查找对应值

假设:

  • A 列包含部门(A1:A100),B 列包含姓名(B1:B100),C 列包含工资(C1:C100)。
  • 你想在 D1 查找“销售部”中“张三”的工资。
    在 D1 输入公式:
    在 D1 单元格输入以下公式(需按 Ctrl+Shift+Enter 作为数组公式):
=INDEX(C1:C100, MATCH(1, (A1:A100="销售部")*(B1:B100="张三"), 0))
  • C1:C100:返回值列(工资)。
  • MATCH(1, ...):查找满足条件的行号。
  • (A1:A100="销售部")*(B1:B100="张三"):多条件匹配。
  • 0:精确匹配。
    结果:
  • D1 会显示满足条件的工资(例如 5000)。
  • 如果没有匹配值,返回 #N/A 错误。

方法 35:按条件排序

假设:

  • A 列包含类别(A1:A100),B 列包含金额(B1:B100)。
  • 你想在 C1 按金额降序排列“蔬菜”类别的记录。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=SORT(FILTER(A1:B100, A1:A100="蔬菜"), 2, -1)
  • A1:B100:数据范围。
  • A1:A100="蔬菜":筛选条件。
  • 2:按第 2 列(金额)排序。
  • -1:降序排序(1 为升序)。
    结果:
  • C1 会显示“蔬菜”类别的记录,按金额降序排列(动态数组)。
  • 如果没有匹配值,返回错误。

方法 36:计算排名

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B 列显示每个数值的排名。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=RANK(A1, A1:A100)
  • A1:目标数值。
  • A1:A100:排名范围。
    结果:
  • B1 会显示 A1 在范围内的排名(例如 3)。
  • 排名从 1 开始,数值越大排名越靠前。

方法 37:计算排名(处理重复值)

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B 列显示每个数值的排名(处理重复值)。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=RANK.EQ(A1, A1:A100) + COUNTIF(A$1:A1, A1) - 1
  • RANK.EQ(A1, A1:A100):计算 A1 的排名。
  • COUNTIF(A$1:A1, A1) - 1:调整重复值排名。
    结果:
  • B1 会显示 A1 的排名,重复值会有唯一排名(例如 3)。
  • 例如 A1 和 A2 相同,排名分别为 1 和 2。

方法 38:按条件高亮单元格(条件格式公式)

假设:

  • A 列包含数值(A1:A100)。
  • 你想高亮大于 100 的单元格。
    设置条件格式公式:
    选中 A1:A100,进入条件格式,设置新规则,使用以下公式:
=A1>100
  • A1:目标单元格。
  • >100:高亮条件。
    结果:
  • A 列中大于 100 的单元格会被高亮(需设置格式,如填充颜色)。
  • 例如 A1 为 150,会被高亮。

方法 39:按条件计算平均值

假设:

  • A 列包含类别(A1:A100),B 列包含金额(B1:B100)。
  • 你想在 C1 显示“蔬菜”类别的平均金额。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=AVERAGEIF(A1:A100, "蔬菜", B1:B100)
  • A1:A100:条件列(类别)。
  • "蔬菜":条件。
  • B1:B100:数值列(金额)。
    结果:
  • C1 会显示“蔬菜”类别的平均金额(例如 25)。
  • 如果没有匹配值,返回 #DIV/0! 错误。

方法 40:计算百分比

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B 列显示每个数值占总和的百分比。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=A1/SUM(A1:A100)*100
  • A1:目标数值。
  • SUM(A1:A100):总和。
  • ** 100*:转换为百分比。
    结果:
  • B1 会显示 A1 占总和的百分比(例如 20)。
  • 需设置单元格格式为百分比。

方法 41:按条件连接文本(需数组公式)

假设:

  • A 列包含类别(A1:A100),B 列包含产品名(B1:B100)。
  • 你想在 C1 连接所有“蔬菜”类别的产品名。
    在 C1 输入公式:
    在 C1 单元格输入以下公式(需按 Ctrl+Shift+Enter 作为数组公式):
=TEXTJOIN(", ", TRUE, IF(A1:A100="蔬菜", B1:B100, ""))
  • **", " **:分隔符。
  • TRUE:忽略空值。
  • IF(A1:A100="蔬菜", B1:B100, ""):筛选“蔬菜”类别的产品名。
    结果:
  • C1 会显示所有“蔬菜”类别的产品名,用逗号分隔(例如“胡萝卜, 白菜”)。
  • 如果没有匹配值,返回空。

方法 42:返回第一个匹配值

假设:

  • A 列包含类别(A1:A100),B 列包含金额(B1:B100)。
  • 你想在 C1 返回第一个“蔬菜”类别的金额。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=INDEX(B1:B100, MATCH("蔬菜", A1:A100, 0))
  • B1:B100:返回值列(金额)。
  • MATCH("蔬菜", A1:A100, 0):查找“蔬菜”的行号。
  • 0:精确匹配。
    结果:
  • C1 会显示第一个“蔬菜”类别的金额(例如 30)。
  • 如果没有匹配值,返回 #N/A 错误。

方法 43:返回最后一个匹配值

假设:

  • A 列包含类别(A1:A100),B 列包含金额(B1:B100)。
  • 你想在 C1 返回最后一个“蔬菜”类别的金额。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=LOOKUP(2, 1/(A1:A100="蔬菜"), B1:B100)
  • 1/(A1:A100="蔬菜"):生成匹配条件的数组。
  • B1:B100:返回值列(金额)。
    结果:
  • C1 会显示最后一个“蔬菜”类别的金额(例如 50)。
  • 如果没有匹配值,返回错误。

方法 44:计算标准偏差(总体)

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B1 显示数据的标准偏差(总体)。
    在 B1 输入公式:
    在 B1 单元格输入以下公式:
=STDEV.P(A1:A100)
  • A1:A100:数值范围。
    结果:
  • B1 会显示数据的标准偏差(例如 15.2)。
  • 如果范围为空或只有 1 个值,返回错误。

方法 45:计算标准偏差(样本)

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B1 显示数据的标准偏差(样本)。
    在 B1 输入公式:
    在 B1 单元格输入以下公式:
=STDEV.S(A1:A100)
  • A1:A100:数值范围。
    结果:
  • B1 会显示数据的标准偏差(例如 15.5)。
  • 如果范围为空或只有 1 个值,返回错误。

方法 46:筛选满足条件的数据

假设:

  • A 列包含类别(A1:A100),B 列包含金额(B1:B100)。
  • 你想在 C1 列出所有“蔬菜”类别的记录。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=FILTER(A1:B100, A1:A100="蔬菜")
  • A1:B100:数据范围。
  • A1:A100="蔬菜":筛选条件。
    结果:
  • C1 会显示“蔬菜”类别的所有记录(动态数组)。
  • 如果没有匹配值,返回错误。

方法 47:计算加权平均值

假设:

  • B 列包含数值(B1:B100),C 列包含权重(C1:C100)。
  • 你想在 D1 显示加权平均值。
    在 D1 输入公式:
    在 D1 单元格输入以下公式:
=SUMPRODUCT(B1:B100, C1:C100)/SUM(C1:C100)
  • B1:B100:数值列(如成绩)。
  • C1:C100:权重列。
  • SUM(C1:C100):权重总和。
    结果:
  • D1 会显示加权平均值(例如 85)。
  • 如果权重总和为 0,返回 #DIV/0! 错误。

方法 48:返回所有匹配值

假设:

  • A 列包含类别(A1:A100),B 列包含金额(B1:B100)。
  • 你想在 C1 列出所有“蔬菜”类别的金额。
    在 C1 输入公式:
    在 C1 单元格输入以下公式:
=FILTER(B1:B100, A1:A100="蔬菜")
  • B1:B100:返回值列(金额)。
  • A1:A100="蔬菜":筛选条件。
    结果:
  • C1 会显示“蔬菜”类别的所有金额(动态数组)。
  • 如果没有匹配值,返回错误。

方法 49:计算累计总和

假设:

  • A 列包含数值(A1:A100)。
  • 你想在 B 列显示从 A1 到当前行的累计总和。
    在 B 列输入公式:
    在 B1 单元格输入以下公式,然后向下拖动:
=SUM($A$1:A1)
  • $A$1:A1:从 A1 到当前行的范围。
    结果:
  • B1 会显示累计总和(例如 A1 为 10,B1 显示 10;A2 为 20,B2 显示 30)。
  • 如果 A 列有非数字值,返回错误。

方法 50:高亮重复值(条件格式公式)

假设:

  • A 列包含数据(A1:A100)。
  • 你想高亮 A 列中的重复值。
    设置条件格式公式:
    选中 A1:A100,进入条件格式,设置新规则,使用以下公式:
=COUNTIF(A$1:A$100, A1)>1
  • A$1:A$100:数据范围。
  • A1:目标单元格。
  • COUNTIF(...)>1:检查是否重复。
    结果:
  • A 列中的重复值会被高亮(需设置格式,如填充颜色)。
  • 例如 A1 和 A5 相同,会被高亮。

相关文章:

50个Excel常用公式

方法 1:使用 VLOOKUP 函数查找对应值 假设: Sheet1 的 K 列包含需要查找的 IP 地址。Sheet2 的 A 列是所有 IP 地址,B 列是对应的 MAC 地址。你想在 Sheet1 的 L 列显示对应的 MAC 地址。 在 Sheet1 的 L 列输入公式: 在 Sheet1…...

记录学习的第二十九天

还是力扣每日一题。 本来想着像昨天一样两个循环搞定的,就下面👇🏻 不过,结果肯定是超时啦,中等题是吧。 正确答案是上面的。 之后就做了ls题单第一部分,首先是定长滑窗问题 这种题都是有套路的&#xff0…...

Express学习笔记(六)——前后端的身份认证

目录 1. Web 开发模式 1.1 服务端渲染的 Web 开发模式 1.2 服务端渲染的优缺点 1.3 前后端分离的 Web 开发模式 1.4 前后端分离的优缺点 1.5 如何选择 Web 开发模式 2. 身份认证 2.1 什么是身份认证 2.2 为什么需要身份认证 2.3 不同开发模式下的身份认证 3. Sessio…...

Ubuntu 修改语言报错Failed to download repository information

1.进入文件(ps:vim可能出现无法修改sources.list文件的问题) sudo gedit /etc/apt/sources.list2.修改(我是直接增添以下内容在其原始源前面,没有删原始内容)文件并保存,这里会替换原文件 deb http://mirrors.aliyun.com/ubuntu/ focal mai…...

leetcode 309. Best Time to Buy and Sell Stock with Cooldown

目录 题目描述 第一步,明确并理解dp数组及下标的含义 第二步,分析并理解递推公式 1.求dp[i][0] 2.求dp[i][1] 3.求dp[i][2] 第三步,理解dp数组如何初始化 第四步,理解遍历顺序 代码 题目描述 这道题与第122题的区别就是卖…...

优化自旋锁的实现

在《C11实现一个自旋锁》介绍了分别使用TAS和CAS算法实现自旋锁的方案,以及它们的优缺点。TAS算法虽然实现简单,但是因为每次自旋时都要导致一场内存总线流量风暴,对全局系统影响很大,一般都要对它进行优化,以降低对全…...

SS25001-多路复用开关板

1 概述 1.1 简介 多路复用开关板是使用信号继电器实现2线制的多路复用开关板卡;多路复用开关是一种可以将一个输入连接到多个输出或一个输出连接到多个输入的拓扑结构。这种拓扑通常用于扫描,适合将一系列通道自动连接到公共线路的的设备。多路复用开…...

thanos sidecar和receive区别?

Thanos Sidecar 和 Thanos Receive 是 Thanos 生态系统中两个关键组件,但它们在架构中的作用和功能上有明显的区别。以下是它们的主要区别: 1. Thanos Sidecar 功能: 与 Prometheus 集成: Sidecar 是一个部署在每个 Prometheus…...

string函数的应用

字符串查找 find 方法 实例 string s "Hello World,C is awesome!";//查找子串 size_t pos1 s.find("World"); //pos16 size_t pos2 s.find("Python"); //pos2string::npos//查找字符 size_tpos3s.find(c); //pos313//从指定位置开始查找 size…...

【AI News | 20250418】每日AI进展

AI Repos 1、exa-mcp-server AI助手通过Exa获得实时网络信息获取的能力,提供结构化的搜索结果,返回包括标题、URL以及内容片段在内的结构化结果;会把最近的搜索结果缓存为资源,下次再搜索相同的内容时可以直接使用缓存&#xff1…...

Dify LLM大模型参数(一)

深入了解大语言模型(LLM)的参数设置 模型的参数对模型的输出效果有着至关重要的影响。不同的模型会拥有不同的参数,而这些参数的设置将直接影响模型的生成结果。以下是 DeepSeek 模型参数的详细介绍: 温度(Tempera…...

展示数据可视化的魅力,如何通过图表、动画等形式让数据说话

在当今信息爆炸的时代,数据的量级和复杂性不断增加。如何从海量数据中提取有价值的信息,并将其有效地传达给用户,成为了一个重要的课题。数据可视化作为一种将复杂数据转化为直观图形、图表和动画的技术,能够帮助用户快速理解数据…...

基于Redis的4种延时队列实现方式

延时队列是一种特殊的消息队列,它允许消息在指定的时间后被消费。在微服务架构、电商系统和任务调度场景中,延时队列扮演着关键角色。例如,订单超时自动取消、定时提醒、延时支付等都依赖延时队列实现。 Redis作为高性能的内存数据库&#x…...

时序预测 | Matlab实现基于VMD-WOA-ELM和VMD-ELM变分模态分解结合鲸鱼算法优化极限学习机时间序列预测

时序预测 | Matlab实现基于VMD-WOA-ELM和VMD-ELM变分模态分解结合鲸鱼算法优化极限学习机时间序列预测 目录 时序预测 | Matlab实现基于VMD-WOA-ELM和VMD-ELM变分模态分解结合鲸鱼算法优化极限学习机时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab…...

静态测试:软件质量保障的第一道防线

在软件测试领域,静态测试往往是被低估却极其重要的环节。与动态测试不同,静态测试不需要执行代码,而是在软件开发早期阶段就能发现潜在问题。本文将深入探讨静态测试的概念、方法、优势以及如何在项目中有效实施。 什么是静态测试&#xff1…...

星露谷物语 7000+ 大型MOD整合包

衣服美化、家具美化、地图美化、人物肖像美化 全地图装修存档、人物美化、扩展包、环境美化、家具、动植物、通用前置包、新增NPC、功能、服装发饰妆 帽子发型农场小镇美化大型玩法拓展实用功能mod 动漫人物形象MOD 地点/动物/地图/功能/机械/家具/建筑/界面美化/扩展/农场/食谱…...

基于EasyX库开发的球球大作战游戏

目录 球球大作战 一、开发环境 二、流程图预览 三、代码逻辑 1、初始化时间 2、设置开始界面大小 3、设置开始界面 4、让玩家选择速度 5、设置玩家小球、人机小球、食物的属性 6、一次性把图绘制到界面里 7、进入死循环 8、移动玩家小球 9、移动人机 10、食物刷新…...

《系统分析师-第三阶段—总结(一)》

背景 采用三遍读书法进行阅读,此阶段是第三遍。 过程 第一章 第二章 总结 在这个过程中,对导图的规范越来越清楚,开始结构化,找关系,找联系。...

AI——K近邻算法

文章目录 一、什么是K近邻算法二、KNN算法流程总结三、Scikit-learn工具1、安装2、导入3、简单使用 三、距离度量1、欧式距离2、曼哈顿距离3、切比雪夫距离4、闵可夫斯基距离5、K值的选择6、KD树 一、什么是K近邻算法 如果一个样本在特征空间中的k个最相似(即特征空…...

L2-006 树的遍历

L2-006 树的遍历 问题描述格式输入格式输出样例输入样例输出评测用例规模与约定解析参考程序难度等级 问题描述 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 格式输入 输入第一行给出一个正整数N&#xff0…...

java线程池原理及使用和处理流程

实际测试使用如下: package com.study;import java.util.concurrent.*;/*** 线程池作用:* 1、线程的复用* 2、资源管理* 3、任务调度* --------------执行过程--------------* 第1-3个任务进来时,直接创建任务并执行* 第4-8个任务进来时&…...

用 NLP + Streamlit,把问卷变成能说话的反馈

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...

TCP/IP和UDP协议的发展历程

TCP/IP和UDP协议的发展历程 引言 互联网的发展史是人类技术创新的辉煌篇章,而在这一发展过程中,通信协议发挥了奠基性的作用。TCP/IP(传输控制协议/互联网协议)和UDP(用户数据报协议)作为互联网通信的基础…...

Function Calling的时序图(含示例)

🧍 用户: 发起请求,输入 prompt(比如:“请告诉我北京的天气”)。 🟪 应用: 将用户输入的 prompt 和函数定义(包括函数名、参数结构等)一起发给 OpenAI。 …...

DICOM通讯(ACSE->DIMSE->Worklist)

DICOM 通讯协议中的 ACSE → DIMSE → Worklist 这条通讯链路。DICOM 通讯栈本身是一个多层的协议结构,就像 OSI 模型一样,逐层封装功能。 一、DICOM 通讯协议栈总体架构 DICOM 通讯使用 TCP/IP 建立连接,其上面封装了多个协议层次&#xf…...

若依框架修改左侧菜单栏默认选中颜色

1.variables.sacc中修改为想要的颜色 2.给目标设置使用的颜色...

搜广推校招面经七十八

字节推荐算法 一、实习项目:多任务模型中的每个任务都是做什么?怎么确定每个loss的权重 这个根据实际情况来吧。如果实习时候用了moe,就可能被问到。 loss权重的话,直接根据任务的重要性吧。。。 二、特征重要性怎么判断的&…...

广搜bfs-P1443 马的遍历

P1443 马的遍历 题目来源-洛谷 题意 要求马到达棋盘上任意一个点最少要走几步 思路 国际棋盘规则是马的走法是-日字形,也称走马日,即x,y一个是走两步,一个是一步 要求最小步数,所以考虑第一次遍历到的点即为最小步数&#xff…...

强化学习算法系列(六):应用最广泛的算法——PPO算法

强化学习算法 (一)动态规划方法——策略迭代算法(PI)和值迭代算法(VI) (二)Model-Free类方法——蒙特卡洛算法(MC)和时序差分算法(TD) (三)基于动作值的算法——Sarsa算法与Q-Learning算法 (四…...

Vue3 + TypeScript中provide和inject的用法示例

基础写法&#xff08;类型安全&#xff09; typescript // parent.component.vue import { provide, ref } from vue import type { InjectionKey } from vue// 1. 定义类型化的 InjectionKey const COUNTER_KEY Symbol() as InjectionKey<number> const USER_KEY Sy…...