Транспонировать строки в столбцы Excel - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь транспонировать строки в столбцы, я пытался использовать Transpose (Array), но не смог достичь ожидаемых результатов. Вот пример данных и ожидаемых результатов, которые я просматриваю.

Пример данных:

Number  Name    Value
1001    description Unknown
1001    Code    0
1001    GNumber 232323
1001    DNumber 232323
1002    description Unknown
1002    GNumber 232323
1002    DNumber 232323
1003    description Unknown
1003    Code    0
1003    GNumber 232323
1003    ICode   123
1004    description Unknown
1004    GNumber 232323
1004    ExtCode 4000

Ожидаемые результаты:

Number  description Code    GNumber DNumber ICode   ExtCode
1001    Unknown 0   232323  232323      
1002    Unknown     232323  232323      
1003    Unknown 0   232323      123 
1004    Unknown     232323          4000

Спасибо,

Ответы [ 2 ]

2 голосов
/ 15 мая 2019

TDLR: создать столбец таблицы и заголовок строки вручную.затем загрузите значения, используя функцию index () match () внутри.

Метод: Предполагается, что текст «Number» находится в A1, а ваши данные заполняются в A2: C15.


  1. [создать столбец таблицы и заголовок строки]

выбрать A2: A15> копировать>, затем вставить в другой пустой лист / файл> вставить>, затем выбрать"удалить дубликаты"> скопировать результат> затем вставить в ячейку E2: E5 (тот же лист, что и в исходной таблице данных.)

Сделайте то же самое для столбца B. Но нужно транспонировать его.:

выберите B2: B15> копировать> затем вставить в другой лист / файл> вставить>, затем выбрать «удалить дубликаты»> скопировать результат> затем щелкнуть правой кнопкой мыши F1> вставить специальное: транспонировать.

Теперь у вас должен быть столбец таблицы и заголовок строки.


[использовать совпадение индекса 2 критериев (ссылка ссылка ) + iferror (для отображения нуля, если не найден).]

поместите это в F2, затем перетащите до K5.

=IFERROR(INDEX($C$2:$C$15,MATCH(1,INDEX(($E2=$A$2:$A$15)*(F$1=$B$2:$B$15),0,1),0)),"")

Готово.

p / s: чтобы понять, какиндексное совпадение работает ... просто нужно начать чтение на простом примере index () match () .. формула здесь та же, но с дополнительными приемами.

надеюсь, это поможет.(:

0 голосов
/ 15 мая 2019

Это можно сделать двумя способами.

С СТАНДАРТНЫМИ ФОРМУЛАМИ : в этом случае вы будете использовать стандартные формулы, но для этого вам понадобится дополнительный столбец.

Прежде всего, вам нужно вставить дополнительный столбец в начале ваших данных, где вы собираетесь объединить значения полей NUMBER и NAME.На моем изображении я использовал =B2&C2:

enter image description here

Затем, чтобы получить данные, вы можете использовать VLOOKUP, который будет искать объединенный текст,и если найден, получит значение.Мы комбинируем это с IFERROR, чтобы показать "", если ничего не найдено.

=IFERROR(VLOOKUP($B19&C$18;$A$1:$D$15;4;FALSE);"")

И это будет работать, как вы можете видеть на изображении выше.: Этот способ является более сложной формулой, но хорошо, что вам не нужно добавлять дополнительный столбец.

Мы комбинируем MATCH и INDEX в режиме массива, чтобы получить желаемое значение, имы используем IFERROR, чтобы показать "", если ничего не найдено:

enter image description here

Формула, которую я использовал:

=IFERROR(INDEX($C$2:$C$15;MATCH($B22&C$21;$A$2:$A$15&$B$2:$B$15;0));"")

ПРИМЕЧАНИЕ: : поскольку это в формуле массива, его необходимо ввести с помощью CTRL + SHIFT + ENTER или он выиграл 't работа!

Я загрузил оба образца в мой Gdrive, если вы хотите проверить формулы и как они работают.

https://drive.google.com/open?id=1ke7L5W1Ii8TffR7HTPtPxnAHVwyDYymy

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...