Как объединить несколько столбцов в один?

Автор amk1come, 02.03.2013, 09:27

« назад - далее »

amk1come

Доброе утро!

Есть ли возможность объединить несколько столбцов в один с минимальным количеством действий?
Понятно, что можно сделать в первом столбце примерно так:

=b1
=b2
=b3
=c1
=c2
=c3
=d1
=d2
=d3 ...

Есть ли другой способ?

amk1come

Цитата: Serge 007 от 02.03.2013, 09:37
Не понял, что надо?

Спасибо за внимание, сейчас сделаю пример!

amk1come

Нужно чтобы в первом столбце появились данные из остальных (хотя бы из столбцов b-cw).
Спасибо.


iron priest


Serge 007

Думаю так (не проверял):
=ИНДЕКС(B$1:D$7;(СТРОКА()-ЦЕЛОЕ(СТРОКА()/8)*7);ОКРВВЕРХ(СТРОКА()/7;1))
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

amk1come


amk1come

Цитата: Serge 007 от 02.03.2013, 10:21
Думаю так (не проверял):
=ИНДЕКС(B$1:D$7;(СТРОКА()-ЦЕЛОЕ(СТРОКА()/8)*7);ОКРВВЕРХ(СТРОКА()/7;1))

Спасибо, тоже работает!

Serge 007

Цитата: amk1come от 02.03.2013, 10:28
Спасибо, тоже работает!
Странно, принцип совершенно разный...
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

amk1come

#8
Цитата: Serge 007 от 02.03.2013, 10:29
Цитата: amk1come от 02.03.2013, 10:28
Спасибо, тоже работает!
Странно, принцип совершенно разный...

В варианте от iron priest значения заданного диапазона ячеек выстраиваются по возрастанию от наименьшего числа (с текстовыми значениями не работает). В вашем варианте значения ячеек выстраиваются по порядку и текстовые в т.ч. Еще раз благодарю. Отправил немного ЯДа ;)

amk1come

Цитата: Serge 007 от 02.03.2013, 10:21
Думаю так (не проверял):
=ИНДЕКС(B$1:D$7;(СТРОКА()-ЦЕЛОЕ(СТРОКА()/8)*7);ОКРВВЕРХ(СТРОКА()/7;1))

Как будет выглядеть ваша формула для диапазона b$1:w$32 ?

Serge 007

Цитата: amk1come от 02.03.2013, 10:43
Отправил немного ЯДа ;)
Получил, спасибо

Цитата: amk1come от 02.03.2013, 10:52
Как будет выглядеть ваша формула для диапазона b$1:w$32 ?
Вместо 7 используйте =ЧСТРОК(b$1:w$32)
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

amk1come

Цитата: amk1come от 02.03.2013, 10:52
Как будет выглядеть ваша формула для диапазона b$1:w$32 ?
ЦитироватьВместо 7 используйте =ЧСТРОК(b$1:w$32)


Получилось так:
=ИНДЕКС(B$1:W$32;(СТРОКА()-ЦЕЛОЕ(СТРОКА()/8)*ЧСТРОК(B$1:W$32));ОКРВВЕРХ(СТРОКА()/ЧСТРОК(B$1:W$32);1))
Но, в 8-й ячейке:
#ЗНАЧ!
Может, нужно еще и 8 заменить?

amk1come

#12
Разобрался!

В 1-м случае - для диапазона B$1:D$7 формула должна быть следующей:

=ИНДЕКС(B$1:S$7;ЕСЛИ(ЕСЛИ((СТРОКА()-ЦЕЛОЕ(СТРОКА()/7)*7)>7;1;(СТРОКА()-ЦЕЛОЕ(СТРОКА()/7)*7))=0;7;ЕСЛИ((СТРОКА()-ЦЕЛОЕ(СТРОКА()/7)*7)>7;1;(СТРОКА()-ЦЕЛОЕ(СТРОКА()/7)*7)));ОКРВВЕРХ(СТРОКА()/7;1))

Во 2-м случае - для диапазона B$1:W$32 формула должна быть следующей:

=ИНДЕКС(B$1:W$32;ЕСЛИ(ЕСЛИ((СТРОКА()-ЦЕЛОЕ(СТРОКА()/32)*32)>32;1;(СТРОКА()-ЦЕЛОЕ(СТРОКА()/32)*32))=0;32;ЕСЛИ((СТРОКА()-ЦЕЛОЕ(СТРОКА()/32)*32)>32;1;(СТРОКА()-ЦЕЛОЕ(СТРОКА()/32)*32)));ОКРВВЕРХ(СТРОКА()/32;1))

Всем спасибо за помощь!