Страницы: 1
RSS
Сoncatenate формулой массива_(?)
 
Здравствуйте.
Подскажите, пож-та, как должна выглядить формула массива для сцеплания  значений  ячеек  одного столбца?
Иными словами : столбец "А" содержит текстовые значения, например :

Fanta
Sprite
Cola
Shweps
Limonad
Shoko

В последней пустой ячейке ("А7") этого столбца нужна формула (видимо массива),  результатом которой была бы строка :
Fanta; Sprite; Cola; Shweps; Limonad; Shoko

Файлик во вложении.
Заранее БОЛЬШОЕ спасибо за помощь!  :)
 
=СЦЕПИТЬ(A1;"; ";A2;"; ";A3;"; ";A4;"; ";A5;"; ";A6)

Или надо именно массив?
Изменено: wowick - 15.01.2014 15:47:10
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Встроенной функцией Excel - ни как. Только перечисляя каждую ячейку в отдельности.
Возможно макросом, или пользовательской функцией - на выбор.
 
Цитата
как должна выглядить формула
Скорее всего - как пользовательская функция... ;)
Жмем - http://www.excel-vba.ru - Ищем - "СцепитьМного". Как вариант, однако.
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Или как вариант вот так...
 
Коллеги, спасибо за оперативные ответы  :)
Варианты с введением промежуточного столбца, и использование пользовательской функции на VBA, к сожалению,  не годятся.
Нужно решение этой задачки формулой использующей штатные функции самого Экселя написанной в одной ячейке и без явного перечисления адресов ячеек, только задав их диапазон.
Что-то мне подсказывает что это возможно, только вот как?
 
Это НЕВОЗМОЖНО. А кто это Вам такие условия поставил, если не секрет?

Подумайте, если было бы возможно - стали бы тут все извращаться с доп.столбцами и VBA?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Возможно и использованием итераций. Но это посложнее, чем макрос. И неудобно в использовании.
 
wowick же простой вариант написал без столбцов если нужно увеличить количество строк скопируйте что чтоит в скобках и продолжите нумерацию ячеек или нужно сцепить тысячу строк дак  :D
Лень двигатель прогресса, доказано!!!
 
Наткнулся на статью : http://www.excelfin.ru/index.php/articles/examples/154-practice-concatenate
Там как раз с итерациями предлагается решение схожей задачки.
Внёс формулу в свой файл (ячейка А1) - не получилось, файл аттачу.
Если не сложно, пож-та, подскажите, где ошибка?
Спасибо!
 
Всё разобрался, работает!   :)  
Скачал ихний пример - с сайта. Всё же с помощью штатных экселевских формул, итераций и формулы массива задача решаема :
Код
{=IF(MID(A1;4;1)="$"; 
   IF(LEN(A1)-4=SUM(LEN(A3:A8));
     RIGHT(A1;LEN(A1)-4);
     TEXT(LEFT(A1;3)+1;"000") & "$" & RIGHT(A1;LEN(A1)-4) & OFFSET(A3;LEFT(A1;3);0)
    );
    IF(LEN(A1)=SUM(LEN(A3:A8));A1;"000$")
)}
Тему считаем закрытой.
Всем БОЛЬШОЕ спасибо за участие и помощь!   :)
Изменено: AndyGrouve - 16.01.2014 17:26:09
 
Чем писать формулу под итерации, проще перечислить все ячейки. тем более, что там не одна формула...
 
Цитата
Михаил С. Чем писать формулу под итерации, проще перечислить все ячейки. тем более, что там не одна формула...
Я не очень понял, что вы имеете ввиду?
Изменено: AndyGrouve - 15.01.2014 16:55:44
 
Объясняю подробно.
Решение этой задачи через итерации имеет чисто академический интерес, т.е. просто показывает, что такое возможно На практике пользоваться им очень неудобно, и формулу с явным перечислением нужных ячеек написать быстрее, чем настроить формулу с итерациями. Даже если ячеек сотня (правда не вижу смысла в одной строке перечислять более десятка каких либо данных, но это имхо).
 
http://www.excelworld.ru/forum/7-5056-1
 
Спасибо,  ссылка интересная!
Изменено: AndyGrouve - 16.01.2014 00:33:19
 
Цитата
Решение этой задачи через итерации имеет чисто академический интерес,
Михаил,
Вы правы, совершенно с вами согласен.
 
Цитата
с помощью штатных экселевских формул, итераций и формулы массива задача решаема.
Штатные формулы одно, итерации - совсем другое. И придуман этот инструмент не для таких задач.
Поиграться можно. Решение в теме по ссылке - как раз для "поиграться", мозги погонять.
Применять итеративные вычисления на практике нужно осторожно. Можно пропустить ошибочную циклическую ссылку в формулах, автовключение/выключение итераций в других открытых книгах.
Т.е. и не думали, не гадали - в книге появилась птичка Итеративные_вычисления_включить. После этого вставили пару формул. Эти формулы создали цикл в вычислениях, а Вы ни сном, ни духом... Откуда такие ошибки? Глючит!  :)
 
Цитата

... а Вы ни сном, ни духом... Откуда такие ошибки? Глючит!
Спасибо, я понял  :)
Страницы: 1
Наверх