本指南说明如何在 Excel 中将行转换为列。 使用 Excel 时,您经常需要交换表格中的行和列。 例如,碰巧有人做了一张巨大的桌子,然后他意识到,如果你把它翻过来,阅读起来会容易得多。
Эта детальная инструкция расскажет о нескольких способах транспонирования Excel-таблицы, а также о часто встречаемых ошибках, с которыми может столкнуться пользователь. Все они могут использоваться на любой версии Excel, как очень старой, так и самой новой。
使用选择性粘贴功能
假设您有两个数据集。 第二个是你想要的结果。 第一个是需要转置的表。 在第一个版本中,国家的名称分列在不同的列中,阅读起来非常不便,更不用说比较国家的特点了。 因此,最好组织表格,使国家名称出现在不同的列中。
要交换行和列,请执行以下操作:
- 选择原始表。 如果您想一次查看整个表格(如果它非常大),您需要按组合键 Ctrl + Home,然后按 - Ctrl + Shift + End。
- 然后复制单元格。 这可以通过上下文菜单或按 Ctrl+C 组合键来完成。 建议您立即习惯最后一个选项,因为如果您学习热键,您可以在一秒钟内执行许多任务。
- 选择目标区域中的第一个单元格。 При этом он должен находиться за пределами таблицы。 Также необходимо подобрать ячейку таким образом, чтобы таблица после транспонирования не пересекалась с другими данными。 例如,如果初始表格有 4 列和 10 行,那么在执行完所有这些操作后,它将向下展开 10 个单元格,向一侧展开 4 个单元格。 因此,在这个范围内(从目标单元格算起)应该什么都没有。
- 在目标单元格上,您必须右键单击并选择“选择性粘贴”,然后选中“转置”字样旁边的框。
重要提示: 如果源表中有公式,请务必确保在每个单元格中使用绝对引用。 必须这样做,以便自动更新所有链接。
Огромное преимущество опции «Специальная вставка» и заключается в возможности транспонировать таблимуцу всендо лишь за не И при этом полностью сохраняется форматирование, что также позволяет сэкономить кучу времени。
Несмотря на эти явные плюсы, есть и ряд серьезных недостатков, которые мешают этому методу намыватьсьных намлыватьсьнуя:
- 将它用于转置未简化为平庸值范围的成熟表是不好的。 在这种情况下,“移调”功能将被禁用。 要变通解决此问题,您必须将表转换为范围。
- 此方法非常适合一次性转置,因为它不会将新表与原始数据相关联。 简而言之,当您更改其中一张表时,第二张表的信息不会自动更新。 因此,必须重复转置。
如何交换行和列并将它们链接到主表?
那么,怎样才能让“选择性粘贴”选项将表格与主要数据和转置产生的数据联系起来呢? 毕竟,每个人都希望数据能够自动更新。
- Скопировать таблицу, для которой требуется транспонирование。
- 在表格的空白区域中选择一个没有数据的单元格。
- 启动“选择性粘贴”菜单,类似于前面的示例。 之后,您需要单击左下角的“插入链接”按钮。
- 结果如下。
- Выбрать новую таблицу и запустить окно «Найти и заменить» путем нажатия комбинации клавиш Ctrl + H.
- Заменить все знаки ввода формулы (=) на ххх (или любую другую комбинацию знаков, которой нет оригинальной таблице)。
- 结果,会发生一些可怕的事情,但这是实现预期结果的强制性中间条件。 那么一切都会看起来很美。
- 复制生成的表格,然后使用选择性粘贴来转置它。
之后,您只需重新打开“查找和替换”对话框,并使用它将单元格中的“xxx”更改为“=”,以便所有单元格与原始信息相关联。当然,这更复杂且更长,但是这种方法可以让您绕过缺少原始表的链接。 但是这种方法也有一个缺点。 它表示需要独立恢复格式化。
公式的应用
有两个功能可让您灵活更改行和列: ТРАНСП и ДВССЫЛ。 Здесь также есть возможность сохранить связь с первоначальной таблицей, но механика работы несколько иная。
函数 TRANSP
实际上,这个公式直接转置了电子表格。 语法如下:
=TRANSP(数组)
现在我们将尝试将其应用于包含有关各个州人口信息的表格。
- 计算表格中的列数和行数,并在工作表中找到具有相同尺寸的空白区域。
- 按 F2 键启动编辑模式。
- 写一个函数 运输 括号中的数据范围。 使用此函数时始终使用绝对引用很重要。
- 按组合键 Ctrl+Shift+Enter。 准确按下组合键很重要,否则公式将无法正常工作。
就是这样,现在结果看起来像这样!
这个公式的优点和之前的方法一样(使用“查找和替换”功能),就是当底层信息发生变化时,转置表会自动更新。
Но недостатки у нее тоже имеются:
- 与查找和替换方法一样,格式将不会被保存。
- 原始表格必须包含一些数据,否则某些单元格中会出现零。
- Излишняязависимость от источника данных。 То есть, этот метод имеет противоположный по недостаток – невозможность изменять транспонированную таблицу。 Если попытаться это сделать, программа скажет, что невозможно редактировать часть массива。
另外,这个功能并不总是可以灵活地应用在不同的情况下,所以你需要了解它,但要使用更有效的技术。
使用间接公式
这种方法的机制与使用公式非常相似 运输,,脏¼。
Но одной формулы 间接 还不够:你还需要使用该功能 地址. 在这个例子中不会有大表,以免大量不必要的信息让你超载。
所以,假设你有一个这样的表,由 4 列和 5 行组成。
需要采取以下措施:
- 输入以下公式: =间接(地址(列(A1),行(A1))) 进入新表格的左上角单元格(在我们的示例中为 A7),然后按 Enter 键。 如果信息不是从第一行或第一列开始,那么您将不得不使用更复杂的公式: =ДВССЫЛ(АДРЕС(СТОЛБЕЦ(A1)-СТОЛБЕЦ($A$1)+СТРОКА($A$1);СТРОКА(A1)-СТРОКА($A$1)+СТОЛБЕЦ($A$1))). 在这个公式中,A1 表示表格的顶部单元格,在此基础上将形成转置单元格。
- 将公式扩展到将放置新版本表格的整个区域。 为此,请将第一个单元格右下角的标记拖到未来表格的另一端。
- 全部! 表格结果已成功转置,您仍然可以对其进行编辑。 当然,她的外表还有很多不足之处,但修复它并不难。 要恢复正确的格式,您需要复制我们转置的表(即原始表),然后选择新创建的表。 接下来,右键单击所选范围,然后单击粘贴选项中的“格式”。
所以使用函数 间接 允许您绝对编辑最终表中的任何值,并且一旦在源表中进行任何更改,数据将始终更新。
当然,这个方法难度更大,但如果你在实践中解决它,那么一切都不是那么可怕。
ээ氨都是ээ电ых氨基
INDIRECT 和 ADDRESS 公式的组合如何工作?
После того, как вы разобрались в том, как использовать совокупность этих формул для транспонирования табли,вазо,вомо, жно,захочется более глубоко изучить принцип работы этого метода。
功能 间接 在我们的公式中用于创建间接单元格引用。 例如,如果您需要在单元格 A8 中指定与 B1 中相同的值,则可以编写公式
=间接(“B1”)
Казалось бы, зачем это делать? Ведь можно просто написать ссылку на ячейку в другой ячейке。 Но преимущество этой функции в том, что в ссылку можно превратить абсолютно любую строку, и даже ту, которая создается с использованием других формул. Собственно, это мы и делаем в формуле。
超越功能 地址 也用在公式中 COLUMN и LINE. 第一个根据已知的行号和列号返回单元格的地址。 在这里遵循正确的顺序很重要。 首先指定行,然后只指定列。 例如,函数 地址(4;2) 将返回地址 $B$2。
Следующая используемая выше функция – это COLUMN. 此处有必要使公式从特定参考中接收列号。 例如,如果您在此函数的括号中使用 B2 参数,那么它将返回数字 2,因为第二列是 B 列。
显然,ROW 函数的工作方式相同,它只是返回行号。
现在我们将不使用抽象的例子,而是使用上面使用的一个非常具体的公式:
=间接(地址(列(A1),行(A1)))
在这里你可以在函数中看到第一个 地址 指定了列,然后才指定行。 而这个配方的工作能力的秘密就隐藏在这里。 我们记得这个函数以镜像方式工作,其中的第一个参数是行号。 事实证明,当我们在那里写入列的地址时,它会变成行号,反之亦然。
То есть, если подытожить:
- 我们使用相应的函数获取列号和行号。
- 使用功能 地址 行变成列,反之亦然。
- 功能 间接 有助于在单元格中显示镜像数据。
事情就是这么简单!
使用宏转置
宏是一个小程序。 它可用于自动化该过程。 重要的是要考虑宏有一些限制。 最大转置方法允许您使用 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
Но если знаний в программировании особо нет, ничего страшного。 Можно воспользоваться описанными выше способами。 Апотом учиться новому по мере освоения старого。