2014-11-24 3 views
1

Я полный кубок Excel и не могу найти ответ, который я ищу. Должно быть легко peasy, но так как я не в Excel, я также не знаю, что искать. Извините, если у меня возникла ошибка.Excel line up data

У меня есть выход в Excel, как это:

A 1 
A 2 
A 3 
A 4 
B 1 
B 2 
B 3 
B 4 
B 5 
B 6 

и я хочу это так:

A 1 2 3 4 
B 1 2 3 4 5 6 
+1

Вы пробовали сводную таблицу (буквы для ROWS, номера для COLUMNS и сумма чисел для ЦЕННОСТЕЙ)? – pnuts

+2

убедитесь, что вы добавляете строку заголовка сначала до поворота –

ответ

2

этот вопрос является довольно сложным способом.
позвольте мне объяснить более подробно:

enter image description here



как вы видите выше, у нас есть две колонки и B, у вас есть текстовые строки в столбце , эти текстовые строки могут быть повторены. Как видно в примере, есть 4 A с, 5 B с, 3 C S 1 D и 3 E с. В столбце B каждая из этих строк имеет разные соответствующие значения. Например, текстовые строки B в колонке A имеет пять соответствующие значения в столбце B, а именно 11, 12, 13, 14, 15 и 16.

Теперь мы хотим, чтобы список уНИКАЛЬНЫЕ значения из столбца и позволяет сказать, мы помещаем этот список в колонке C, а затем для каждого из этих уникальных значений в колонке C мы хотим перечислить их соответствующие ячейки в столбце B и положить их ГОРИЗОНТАЛЬНО перед каждым из этих уникальных текстовых строк в колонке C.

Для этого необходимо два вида формул:

Формулы 1, чтобы вычислить список уникальных значений в колонке А:
это идет в C2: (оставить С1 пусто)

=IFERROR(INDEX($A$1:$A$999;MATCH(0;FREQUENCY(IF(EXACT($A$1:$A$999;TRANSPOSE($C$1:C1));MATCH(ROW($A$1:$A$999);ROW($A$1:$A$999)); ""); MATCH(ROW($A$1:$A$999);ROW($A$1:$A$999))); 0)); "") 



это формула массива, поэтому нажмите Ctrl + Смещение + введите, чтобы рассчитать формулу и перетащить и заполнить столько, сколько хотите в столбце C.

* Формула 2, чтобы найти и список по горизонтали значения из столбца B *

=IFERROR(INDEX($B$1:$B$999;SMALL(IF($C2=$A$1:$A$999;ROW($A$1:$A$999)-ROW($A$1)+1);COLUMN(A$1)));"") 



это формула массива, поэтому нажмите Ctrl + сдвиг + войти, чтобы рассчитать формулу, поместите это в D2 и перетащите и заполните до последней ячейки колонки C. затем выберите D2 - D6 и перетащите и заполните по горизонтали. Вы должны получить все соответствующие ячейки перед каждым уникальным элементом.

P.S.отрегулируйте формулы в соответствии с вашими региональными настройками, заменив;с,Я полагаю.

Наконец здесь the link to an example sheet downloadable from here.

+0

Привет, AHC, большое спасибо за это очень четкое решение. Я рад, что это было сложнее, чем я думал. Но это недостаток в знаниях Excel;) Я могу работать с этим, вы спасли мой день! – AKNL

-1

Это очень общее, но, надеюсь, поможет.

  1. Выделите ячейки, на которые вы хотите транспонировать.
  2. Введите уравнение ... "= TRANSPOSE (B1: B4)" (при необходимости отредактируйте).
  3. Пока ячейки все еще выделены, нажмите «ctrl + shift + enter». (скобки должны появляться вокруг уравнения)
  4. Закончить редактирование ячеек.
  5. Празднуйте
+1

. Фактически эта формула дает повторяющиеся значения и не обрезает результаты. он переносит данные только. Я объяснил, как это сделать в [моем ответе] (http://stackoverflow.com/a/27116319/4230650) – AHC

+0

Да, он предназначен только для переноса данных. У меня не было много времени, поэтому я написал, что, как я полагал, причинял ему неприятности. Браво за тщательный ответ. – Huffy