如何查看 Excel 公式:显示、查找与批量提取方法

目录

在 Excel 中,单元格默认显示公式的计算结果,而不是公式本身。如果想检查计算过程或排查公式错误,就需要查看单元格中使用的公式。Excel 提供了多种查看公式的方法。你可以查看单个单元格的公式,也可以显示整个工作表中的所有公式。此外,还可以快速定位包含公式的单元格、对照查看公式与计算结果,或使用 Python 批量提取多个 Excel 文件中的公式。下表整理了不同需求对应的方法,方便你快速选择。

你的需求 推荐方法
查看某个单元格中的公式 编辑栏或编辑模式
显示工作表中的所有公式 显示公式或 Ctrl + ` 快捷键
查找包含公式的单元格 定位条件
同时查看公式和计算结果 FORMULATEXT 函数
批量提取多个工作表或工作簿中的公式 Python 自动化

什么时候需要查看 Excel 公式?

查看公式的常见使用场景包括:

  • 核查财务报表: 检查计算公式是否正确,确保数据准确。
  • 排查计算错误: 找出导致计算结果异常的公式。
  • 检查他人制作的表格: 了解公式的计算逻辑和单元格引用关系。
  • 检查复制后的公式: 确认公式引用是否随着复制位置正确调整。
  • 审查工作簿: 核对公式是否符合业务规则或审计要求。

如何查看单个单元格中的公式

如果想了解某个单元格中的数值是如何计算出来的,可以通过编辑栏或编辑模式直接查看公式,而不必修改工作表。

方法 1:使用编辑栏

  1. 选中包含公式的单元格。
  2. 查看工作表上方的编辑栏,即可看到该单元格中的公式。

例如,假设 B2 和 C2 的值分别为 100 和 150,D2 使用公式 =SUM(B2:C2) 计算出结果 250。选中 D2 单元格后,就可以在编辑栏中看到该公式。

Excel 编辑栏中显示公式 =SUM(B2:C2),而 D2 单元格显示计算结果 250

方法 2:使用编辑模式

如果希望直接在工作表中查看公式及其引用的单元格,可以按照以下步骤操作:

  1. 双击包含公式的单元格,或在 Windows 中按 F2。

  2. Excel 会在单元格内显示公式,并高亮显示公式引用的单元格。

    Excel 编辑模式下单元格内显示公式,并突出显示被引用的单元格

  3. 按 Esc 退出编辑模式,不保存任何修改。

提示: 如果编辑栏没有显示,可以进入视图 > 显示,然后勾选编辑栏。

如何显示 Excel 工作表中的所有公式

审核大型财务报表或报表模板时,逐个查看单元格会比较费时。Excel 提供了内置功能,可以一次显示整个工作表中的公式。

方法 1:使用“显示公式”按钮

  1. 打开需要查看的工作表。

  2. 在 公式 选项卡的公式审核组中,点击 显示公式。

  3. Excel 会将单元格中显示的计算结果切换为对应的公式。

    Excel 工作表启用显示公式功能后,单元格中显示公式表达式而不是计算结果

提示: 再次点击 显示公式,即可恢复正常的结果显示方式。

方法 2:使用快捷键

在 Windows 中按 Ctrl + `(反引号键,通常位于 Esc 键下方),可以在公式显示和计算结果显示之间切换。

注意: 该功能只影响当前工作表中公式的显示方式,不会修改底层公式或计算结果。

如果只需要保留公式的静态计算结果,可以参阅如何删除 Excel 中的公式或函数并保留数据的方法。

如何查找包含公式的单元格

如果你不想显示所有公式,而只是希望快速找到使用了公式的单元格,可以使用 Excel 的定位条件功能。

  1. 选择需要查找的工作表或单元格区域。

  2. 进入 开始 > 查找和选择 > 定位条件。

    通过 Excel 开始选项卡中的查找和选择命令打开定位条件对话框

  3. 选择 公式。

  4. 点击 确定。

Excel 会选中包含公式的单元格。你还可以在定位条件对话框的公式选项下,按照公式返回的结果类型进行筛选。有关详细说明,请参阅 Microsoft 官方文档:查找包含公式的单元格。

如何同时查看公式及其计算结果

如果需要将公式与计算结果进行比较,可以使用 FORMULATEXT 函数。它会把指定单元格中的公式作为文本显示在另一个单元格中,不影响原公式的计算。

例如,假设 D2 通过公式 =SUM(B2:C2) 计算并显示结果 250。

要在结果旁边显示该公式,可以按以下步骤操作:

  1. 选择旁边的空白单元格,例如 E2。

  2. 输入以下公式:

    1
    =FORMULATEXT(D2)
  3. 按 Enter。E2 会显示 =SUM(B2:C2),而 D2 仍显示计算结果 250。

  4. 向下拖动填充柄,查看其他行中的公式。

效果如下:

Excel 使用 FORMULATEXT 函数在计算结果旁显示对应的公式文本

这种方法适合检查财务计算、审核报表,或记录电子表格中使用的公式。

注意: 根据 Microsoft 的FORMULATEXT 函数官方文档,如果引用的单元格不包含公式、公式超过 8,192 个字符、工作表保护导致公式无法显示,或者引用的外部工作簿处于关闭状态,该函数会返回 #N/A。

如果希望在 FORMULATEXT 出错时让单元格保持空白,可以使用:

1
=IFERROR(FORMULATEXT(D2),"")

由于 IFERROR 会捕获所有错误,而不仅仅是 #N/A,因此只有在你确实希望用空白代替错误信息时,才建议采用这种写法。

为什么在 Excel 中看不到公式?

如果公式没有按预期显示,可以检查以下常见问题:

  • 编辑栏没有显示: 进入 视图 > 显示 > 编辑栏,启用编辑栏。
  • 公式被隐藏: 工作表可能受到保护,使公式无法在编辑栏中显示。如果你有相应权限,可以进入 审阅 > 撤销工作表保护。如果希望重新保护工作表后仍能查看这些公式,请选择相应单元格,打开 设置单元格格式 > 保护,取消勾选 隐藏。
  • 单元格显示公式文本而非计算结果: 首先检查 公式 选项卡中的 显示公式 是否已启用。如果只有部分单元格显示公式文本,请检查这些单元格是否设置为文本格式,或者公式前是否有单引号。必要时将格式改为常规,删除多余的前导单引号,再按 F2 和 Enter 重新输入公式。
  • FORMULATEXT 返回 #N/A: 检查引用的单元格是否包含公式。引用已关闭的外部工作簿中的单元格也可能导致该错误。

使用 Python 批量提取 Excel 公式

对于需要处理多个 Excel 文件的开发者或用户来说,手动逐个检查工作表中的公式会比较耗时。借助 Python,可以从多个工作簿中自动提取公式表达式及其单元格地址,而不需要通过 Excel 手动打开每个文件。

以下示例使用 Free Spire.XLS for Python,演示如何从多个 Excel 工作簿中提取公式,并将结果保存为文本文件。运行时不需要安装 Microsoft Excel。

第 1 步:安装 Free Spire.XLS

在终端中运行以下 pip 命令:

1
pip install spire.xls.free

第 2 步:从多个 Excel 工作簿中提取公式

创建一个名为 Excel Files 的文件夹,并将需要处理的 .xlsx 工作簿放入其中。

下面的脚本会依次读取每个工作簿,查找包含公式的单元格,并将单元格位置和公式表达式导出到文本文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from pathlib import Path
from spire.xls import Workbook

# 输入文件夹与输出文件
input_dir = Path("Excel Files")
output_file = Path("Extracted Formulas.txt")

# 检查输入文件夹
if not input_dir.is_dir():
raise FileNotFoundError(f"未找到输入文件夹:{input_dir}")

# 获取文件夹中的所有 Excel 文件
excel_files = sorted(
file for file in input_dir.glob("*.xlsx")
if file.is_file() and not file.name.startswith("~$")
)

if not excel_files:
raise FileNotFoundError(f"指定文件夹中未找到 XLSX 文件:{input_dir}")

formula_count = 0

# 从所有工作簿中提取公式
with output_file.open("w", encoding="utf-8") as output:
for input_file in excel_files:

# 加载工作簿
workbook = Workbook()
try:
workbook.LoadFromFile(str(input_file))

# 遍历所有工作表
for i in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[i]

# 获取已分配的单元格区域
used_range = sheet.AllocatedRange

# 查找并提取公式
for cell in used_range:
if cell.HasFormula:
cell_address = cell.RangeAddressLocal.replace("$", "")
formula = cell.Formula

# 将工作簿、工作表、单元格地址和公式写入文本文件
output.write(f"{input_file.name} | {sheet.Name}!{cell_address}: {formula}\n")
formula_count += 1
finally:
workbook.Dispose()

第 3 步:查看提取出的公式

运行脚本后,打开 Extracted Formulas.txt。输出结果类似以下内容:

1
2
3
预算.xlsx | 预算!E2: =IF(D2>1000,D2*0.1,0)
销售报表.xlsx | 总结!D2: =SUM(B2:C2)
销售报表.xlsx | 总结!D3: =SUM(B3:C3)

每一行都包含源工作簿名称、工作表名称、单元格位置和公式,方便后续搜索、检查或整理文档。

注意: 该脚本只读取公式表达式,不会修改原始工作簿,也不会显式重新计算公式。Free Spire.XLS 对旧版 .xls 文件的工作表数量和行数有限制,但这些限制不适用于 .xlsx 文件。

总结

如果只需要查看一个公式,可以使用编辑栏或编辑模式;如果需要查看整个工作表中的公式,则使用显示公式。要快速定位公式单元格,可以使用定位条件;要同时比较公式和计算结果,可以使用 FORMULATEXT。如果需要从大量 .xlsx 工作簿中提取公式,则可以使用 Python 自动完成。

常见问题解答

Q1:可以同时显示 Excel 公式和计算结果吗?

A1:可以。使用 FORMULATEXT 函数即可。例如,如果 D2 包含公式,可以在另一个单元格输入 =FORMULATEXT(D2),在保留 D2 计算结果的同时显示对应的公式文本。

Q2:如何在 Excel 中显示公式,而不是计算结果?

A2:如果只想查看某个单元格的公式,可以选中它并查看编辑栏。如果希望显示整个工作表中的公式,可以在 公式 选项卡中启用 显示公式。

Q3:为什么 Excel 显示公式而不是计算结果?

A3:如果整个工作表都显示公式,可能是启用了 显示公式。按 Ctrl + `,或进入 公式 > 显示公式 关闭该功能。如果只有部分单元格显示公式文本,请检查它们是否被设置为文本格式,或者公式前是否存在单引号。

Q4:不打开 Microsoft Excel,也能提取 Excel 公式吗?

A4:可以。使用 Free Spire.XLS 等 Python 库,可以通过程序加载工作簿并提取公式,而无需启动 Microsoft Excel 应用程序。