如何在 Excel 中将行转换为列

本指南说明如何在 Excel 中将行转换为列。 使用 Excel 时,您经常需要交换表格中的行和列。 例如,碰巧有人做了一张巨大的桌子,然后他意识到,如果你把它翻过来,阅读起来会容易得多。 

Эта детальная инструкция расскажет о нескольких способах транспонирования Excel-таблицы, а также о часто встречаемых ошибках, с которыми может столкнуться пользователь. Все они могут использоваться на любой версии Excel, как очень старой, так и самой новой。

使用选择性粘贴功能

假设您有两个数据集。 第二个是你想要的结果。 第一个是需要转置的表。 在第一个版本中,国家的名称分列在不同的列中,阅读起来非常不便,更不用说比较国家的特点了。 因此,最好组织表格,使国家名称出现在不同的列中。如何在 Excel 中将行转换为列

要交换行和列,请执行以下操作:

  1. 选择原始表。 如果您想一次查看整个表格(如果它非常大),您需要按组合键 Ctrl + Home,然后按 - Ctrl + Shift + End。
  2. 然后复制单元格。 这可以通过上下文菜单或按 Ctrl+C 组合键来完成。 建议您立即习惯最后一个选项,因为如果您学习热键,您可以在一秒钟内执行许多任务。
  3. 选择目标区域中的第一个单元格。 При этом он должен находиться за пределами таблицы。 Также необходимо подобрать ячейку таким образом, чтобы таблица после транспонирования не пересекалась с другими данными。 例如,如果初始表格有 4 列和 10 行,那么在执行完所有这些操作后,它将向下展开 10 个单元格,向一侧展开 4 个单元格。 因此,在这个范围内(从目标单元格算起)应该什么都没有。
  4. 在目标单元格上,您必须右键单击并选择“选择性粘贴”,然后选中“转置”字样旁边的框。如何在 Excel 中将行转换为列

重要提示: 如果源表中有公式,请务必确保在每个单元格中使用绝对引用。 必须这样做,以便自动更新所有链接。

Огромное преимущество опции «Специальная вставка» и заключается в возможности транспонировать таблимуцу всендо лишь за не И при этом полностью сохраняется форматирование, что также позволяет сэкономить кучу времени。

Несмотря на эти явные плюсы, есть и ряд серьезных недостатков, которые мешают этому методу намыватьсьных намлыватьсьнуя:

  1. 将它用于转置未简化为平庸值范围的成熟表是不好的。 在这种情况下,“移调”功能将被禁用。 要变通解决此问题,您必须将表转换为范围。
  2. 此方法非常适合一次性转置,因为它不会将新表与原始数据相关联。 简而言之,当您更改其中一张表时,第二张表的信息不会自动更新。 因此,必须重复转置。 

如何交换行和列并将它们链接到主表?

那么,怎样才能让“选择性粘贴”选项将表格与主要数据和转置产生的数据联系起来呢? 毕竟,每个人都希望数据能够自动更新。

  1. Скопировать таблицу, для которой требуется транспонирование。
  2. 在表格的空白区域中选择一个没有数据的单元格。
  3. 启动“选择性粘贴”菜单,类似于前面的示例。 之后,您需要单击左下角的“插入链接”按钮。如何在 Excel 中将行转换为列
  4. 结果如下。如何在 Excel 中将行转换为列
  5. Выбрать новую таблицу и запустить окно «Найти и заменить» путем нажатия комбинации клавиш Ctrl + H.
  6. Заменить все знаки ввода формулы (=) на ххх (или любую другую комбинацию знаков, которой нет оригинальной таблице)。如何在 Excel 中将行转换为列
  7. 结果,会发生一些可怕的事情,但这是实现预期结果的强制性中间条件。 那么一切都会看起来很美。如何在 Excel 中将行转换为列
  8. 复制生成的表格,然后使用选择性粘贴来转置它。

之后,您只需重新打开“查找和替换”对话框,并使用它将单元格中的“xxx”更改为“=”,以便所有单元格与原始信息相关联。如何在 Excel 中将行转换为列当然,这更复杂且更长,但是这种方法可以让您绕过缺少原始表的链接。 但是这种方法也有一个缺点。 它表示需要独立恢复格式化。

公式的应用

有两个功能可让您灵活更改行和列: ТРАНСП и ДВССЫЛ。 Здесь также есть возможность сохранить связь с первоначальной таблицей, но механика работы несколько иная。

函数 TRANSP

实际上,这个公式直接转置了电子表格。 语法如下:

=TRANSP(数组)

现在我们将尝试将其应用于包含有关各个州人口信息的表格。如何在 Excel 中将行转换为列

  1. 计算表格中的列数和行数,并在工作表中找到具有相同尺寸的空白区域。
  2. 按 F2 键启动编辑模式。
  3. 写一个函数 运输 括号中的数据范围。 使用此函数时始终使用绝对引用很重要。如何在 Excel 中将行转换为列
  4. 按组合键 Ctrl+Shift+Enter。 准确按下组合键很重要,否则公式将无法正常工作。

就是这样,现在结果看起来像这样!如何在 Excel 中将行转换为列

这个公式的优点和之前的方法一样(使用“查找和替换”功能),就是当底层信息发生变化时,转置表会自动更新。

Но недостатки у нее тоже имеются:

  1. 与查找和替换方法一样,格式将不会被保存。
  2. 原始表格必须包含一些数据,否则某些单元格中会出现零。
  3. Излишняязависимость от источника данных。 То есть, этот метод имеет противоположный по недостаток – невозможность изменять транспонированную таблицу。 Если попытаться это сделать, программа скажет, что невозможно редактировать часть массива。

另外,这个功能并不总是可以灵活地应用在不同的情况下,所以你需要了解它,但要使用更有效的技术。

使用间接公式

这种方法的机制与使用公式非常相似 运输,,脏¼。

Но одной формулы 间接 还不够:你还需要使用该功能 地址. 在这个例子中不会有大表,以免大量不必要的信息让你超载。

所以,假设你有一个这样的表,由 4 列和 5 行组成。如何在 Excel 中将行转换为列

需要采取以下措施:

  1. 输入以下公式: =间接(地址(列(A1),行(A1))) 进入新表格的左上角单元格(在我们的示例中为 A7),然后按 Enter 键。 如果信息不是从第一行或第一列开始,那么您将不得不使用更复杂的公式: =ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1)-СТОЛБЕЦ($A$1)+СТРОКА($A$1);СТРОКА(A1)-СТРОКА($A$1)+СТОЛБЕЦ($A$1))). 在这个公式中,A1 表示表格的顶部单元格,在此基础上将形成转置单元格。
  2. 将公式扩展到将放置新版本表格的整个区域。 为此,请将第一个单元格右下角的标记拖到未来表格的另一端。如何在 Excel 中将行转换为列
  3. 全部! 表格结果已成功转置,您仍然可以对其进行编辑。 当然,她的外表还有很多不足之处,但修复它并不难。如何在 Excel 中将行转换为列 要恢复正确的格式,您需要复制我们转置的表(即原始表),然后选择新创建的表。 接下来,右键单击所选范围,然后单击粘贴选项中的“格式”。如何在 Excel 中将行转换为列

所以使用函数 间接 允许您绝对编辑最终表中的任何值,并且一旦在源表中进行任何更改,数据将始终更新。

当然,这个方法难度更大,但如果你在实践中解决它,那么一切都不是那么可怕。

ээ氨都是ээ电ых氨基

INDIRECT 和 ADDRESS 公式的组合如何工作?

После того, как вы разобрались в том, как использовать совокупность этих формул для транспонирования табли,вазо,вомо, жно,захочется более глубоко изучить принцип работы этого метода。

功能 间接 在我们的公式中用于创建间接单元格引用。 例如,如果您需要在单元格 A8 中指定与 B1 中相同的值,则可以编写公式

=间接(“B1”)如何在 Excel 中将行转换为列

Казалось бы, зачем это делать? Ведь можно просто написать ссылку на ячейку в другой ячейке。 Но преимущество этой функции в том, что в ссылку можно превратить абсолютно любую строку, и даже ту, которая создается с использованием других формул. Собственно, это мы и делаем в формуле。

超越功能 地址 也用在公式中 COLUMN и LINE. 第一个根据已知的行号和列号返回单元格的地址。 在这里遵循正确的顺序很重要。 首先指定行,然后只指定列。 例如,函数 地址(4;2) 将返回地址 $B$2。

Следующая используемая выше функция – это COLUMN. 此处有必要使公式从特定参考中接收列号。 例如,如果您在此函数的括号中使用 B2 参数,那么它将返回数字 2,因为第二列是 B 列。

显然,ROW 函数的工作方式相同,它只是返回行号。 

现在我们将不使用抽象的例子,而是使用上面使用的一个非常具体的公式:

=间接(地址(列(A1),行(A1)))

在这里你可以在函数中看到第一个 地址 指定了列,然后才指定行。 而这个配方的工作能力的秘密就隐藏在这里。 我们记得这个函数以镜像方式工作,其中的第一个参数是行号。 事实证明,当我们在那里写入列的地址时,它会变成行号,反之亦然。

То есть, если подытожить:

  1. 我们使用相应的函数获取列号和行号。
  2. 使用功能 地址 行变成列,反之亦然。
  3. 功能 间接 有助于在单元格中显示镜像数据。

事情就是这么简单!

使用宏转置

宏是一个小程序。 它可用于自动化该过程。 重要的是要考虑宏有一些限制。 最大转置方法允许您使用 65536 个元素。 如果超过此限制,将导致数据丢失。

Во всем остальном, это эффективный метод автоматизации, который сможет значительно облегчить жизнь。

Например, можно написать такой код, который будет менять местами строки и колонки。

子转置列行()

    将 SourceRange 调暗为范围

    将 DestRange 调暗为范围

    Set SourceRange = Application.InputBox(Prompt:=»请选择要转置的范围», Title:=»Transpose Rows to Columns», Type:=8)

    Set DestRange = Application.InputBox(Prompt:=»选择目标范围的左上角单元格», Title:=»Transpose Rows to Columns», Type:=8)

    源范围.复制

    目标范围选择

    Selection.PasteSpecial 粘贴:=xlPasteAll,操作:=xlNone,SkipBlanks:=False,转置:=True

    Application.CutCopyMode = False

END SUB

Но если знаний в программировании особо нет, ничего страшного。 Можно воспользоваться описанными выше способами。 Апотом учиться новому по мере освоения старого。

发表评论