跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

如何在Excel中粘贴转置并保留公式引用?

Author Sun Last modified

在使用 Excel 时,经常需要使用“转置”功能将数据的方向从列切换为行,或者反过来。然而,当这些数据包含公式时,就会出现一个常见问题——默认情况下,Excel 会调整单元格引用以匹配新的方向。如下方截图所示,这种自动调整通常会破坏预期的计算,特别是在复杂或链接的数据集中。了解如何在粘贴转置数据的同时保留原始公式引用,对于处理财务模型、工程计算或链接仪表板等需要保持公式完整性的用户来说至关重要。本文将解释几种实用方法来实现这一目标,讨论它们的最佳和最差应用场景,并提供故障排除建议以确保操作更加顺畅。
paste transposed and keep formula

使用 F4 键将公式引用转换为绝对引用并转置数据

使用查找和替换功能转置并保留引用

使用 Kutools for Excel 转置并保留引用

VBA代码 - 转置单元格同时保留公式引用(相对或绝对)

Excel 公式 - 使用 INDIRECT 或地址构造手动重新创建转置公式


使用 F4 键将公式引用转换为绝对引用并转置数据

1. 选择公式单元格

单击包含要调整公式的单元格。

2. 打开公式栏

单击公式栏以将光标置于公式内部。

3. 转换为绝对引用

在公式栏中选择整个公式,然后按 F4 键。

这会在相对引用、绝对引用和混合引用之间切换引用格式。

对公式中的所有单元格引用重复此步骤,直到它们全部变为绝对引用。

4. 复制数据

选择要复制的数据区域并按 Ctrl + C

5. 粘贴为转置数据

右键单击目标单元格,然后选择“选择性粘贴” → “转置”。

提示:
绝对引用确保公式始终引用相同的单元格,即使在复制或移动后也是如此。转置数据可以将行转换为列或将列转换为行,非常适合重新组织数据布局。


使用查找和替换功能转置并保留引用

为了在转置一组单元格的同时保留原始公式引用,您可以使用查找和替换功能临时将公式转换为文本,重新定位它们,然后再将其还原为公式。这种方法适用于中小型数据集,尤其在您没有安装额外插件或更倾向于不使用 VBA 的情况下非常有用。

1. 首先,选择包含要转置公式的单元格范围。按 Ctrl + H 打开“查找和替换”对话框。

2. 在 查找和替换 对话框中,在 = 查找内容 字段中输入 并在 #= 替换为 字段中输入 通过替换等号,此步骤将活动公式转换为纯文本。这样做可以防止 Excel 在复制和转置过程中转换公式单元格引用。
set options in the Find and Replace dialog

3. 单击 全部替换。将出现一个对话框,显示替换的数量。单击 确定 然后 关闭 退出对话框。
formulas are replaced with strings

4. 选中现在已转换为文本的单元格,按 Ctrl + C 进行复制。移动到您希望粘贴的位置,右键单击,并从上下文菜单中选择 选择性粘贴 > 转置 以转置并粘贴。请注意,如果您有一个大型数据集或您的公式使用了易变函数,则可能需要仔细检查粘贴结果。
click Transpose to paste the cells in transposition

5. 粘贴完成后,再次按 Ctrl + H 打开 查找和替换 对话框。现在,反转原始替换:在 #= 查找内容 框中输入 并在 = 替换为 框中输入 这将把文本转换回功能性公式。
set options in the Find and Replace dialog

6. 单击 全部替换然后 确定 > 关闭 完成操作。您的公式现在已转置并保留了原始范围中的引用。
doc transpose keep reference6

这种手动方法最适合小型数据集。对于更复杂的范围或混合引用样式的情况,请仔细检查结果,以确保公式能如预期般重新计算。如果存在命名范围或外部引用,则在转置后可能需要重新检查这些引用。


使用 Kutools for Excel 转置并保留引用

如果您经常需要转置包含公式的数据,Kutools for Excel 提供了一种简化的解决方案。其“转换引用”工具允许您在转置之前快速将所有公式引用转换为绝对引用。这样可以确保转置后原始引用保持不变,最大限度地减少手动干预和公式损坏的风险。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

安装 Kutools for Excel 后,请按照以下步骤操作:

1. 选择包含需要转置公式的单元格,然后单击 Kutools > 更多 (在公式组中) > 转换引用这将打开引用转换对话框。
click Convert Refers feature of kutools

2. 在 转换公式引用 对话框中,选择 至绝对 选项并单击 确定。此步骤确保所选公式中的所有单元格引用都设置为绝对引用(带有 $ 符号)。因此,在转置单元格时,引用不会发生偏移。
check To absolute option
the references in selected formula cells have been converted to absolute

3. 现在,再次选择单元格并按 Ctrl + C 进行复制。在所需的粘贴位置,右键单击并选择 转置选择性粘贴 子菜单中。这将转置您的数据并保留正确的公式引用。
choose Transpose from the Paste Special

提示:如果您希望快速转置表格结构(例如将行更改为列以适应大型数据表),Kutools for Excel 还提供了“转换表格维度”功能。该工具特别适用于快速重组大型表格,而不会丢失数据连接或格式化。该工具可免费试用有限天数;点此下载以体验所有功能。

transpose table dimensions by kutools

Kutools 解决方案在您经常执行此类任务时最为有效,尤其是处理大量数据或包含多个公式的复杂电子表格时。作为预防措施,始终检查转置后是否需要绝对引用;如有必要,可以使用相同的功能将引用转换回相对引用。如果原始公式混合了相对引用和绝对引用,请在转换和转置操作后检查它们以确保准确性。


VBA代码 - 转置单元格同时保留公式引用(相对或绝对)

对于高级场景,编写 VBA 宏能够自动化转置公式的过程,同时保留原始引用类型——无论是相对引用、绝对引用还是混合引用。此解决方案非常适合熟悉宏的用户,特别是处理大型数据范围或频繁执行此操作时。VBA 提供灵活性,适应复杂的引用模式,并直接处理各种公式结构。

1. 首先,如果 Excel 中尚未显示“开发工具”选项卡,请启用它。前往“开发工具” > “Visual Basic”以打开 VBA 编辑器。

2. 在 VBA 编辑器中,单击“插入” > “模块”以打开新模块窗口,然后将以下 VBA 代码复制并粘贴到此窗口中:

Sub TransposeFormulasPreserveReferences()
    Dim ws As Worksheet
    Dim sourceRange As Range
    Dim destRange As Range
    Dim numRows As Long, numCols As Long
    Dim i As Long, j As Long
    Dim tempArray As Variant
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = ActiveSheet
    Set sourceRange = Application.InputBox("Select the range you want to transpose", xTitleId, Selection.Address, Type:=8)
    
    If sourceRange Is Nothing Then Exit Sub
    
    numRows = sourceRange.Rows.Count
    numCols = sourceRange.Columns.Count
    
    Set destRange = Application.InputBox("Select the upper-left cell for the transposed output", xTitleId, , Type:=8)
    
    If destRange Is Nothing Then Exit Sub
    
    tempArray = sourceRange.Formula ' Store original formulas
    
    ' Transpose formulas, cell by cell
    For i = 1 To numRows
        For j = 1 To numCols
            destRange.Offset(j - 1, i - 1).Formula = tempArray(i, j)
        Next j
    Next i
End Sub

3. 要运行代码,请单击 Run button 按钮,或按 F5。按照提示操作:选择要转置的源数据(包括公式)以及输出的起始单元格。该宏将复制并转置所有公式,保持引用与原始位置相同。如果您的公式使用相对引用,请注意其上下文可能会发生变化(结果值可能与原始值不同),但公式文本本身不会被调整,从而保留引用类型。

这种方法特别适用于大型数据集、重复操作或需要精细控制的情况。如果发生错误(例如未正确选择足够大小的目标区域),请重新运行宏并仔细检查范围选择。


总之,Excel 提供了多种在转置数据的同时保留原始公式引用的方法,包括手动查找和替换、高级工具如 Kutools、VBA 自动化以及基于公式的使用 INDIRECT 或 ADDRESS 的方法。在选择方法时,请考虑您的数据规模、公式复杂性和对自动化与手动控制的需求。始终仔细检查结果——特别是相对引用——以确保计算保持正确,并在执行任何批量更改或运行宏之前保存工作簿的备份副本。如果您遇到“#REF!”错误或意外值,请验证引用是否溢出到正确范围之外,或者绝对/相对混合引用是否未发生错误偏移。如有疑问,先在小样本上尝试您的方法,以建立对该过程的信心。


最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


Office Tab为Office带来多标签界面,让您的工作更加轻松

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠