Страницы: 1
RSS
Склеивание текста по сложному условию
 
Добрый день,  уважаемые форумчане!
Наставьте на путь истинный, пожалуйста. Устал биться с проблемой склеивания(подстановки) текста в одну ячейку, т.к. условие, на мой взгляд, сложное.
Сам файл-пример во вложении.
В первых 8-ми столбцах находятся данные, которые надо склеить в одну ячейку (9-ю) - Features.
Но склеивание должно происходить по шаблону:
Учебное пособие: M[]; Автор: E[]; Серия: S[]; ISBN: T[]; Год издания: S[]; Страниц: T[]; Вес: T[]; Размеры: T[]
Причем, если для издания в столбцах не указаны данные о серии или о том, что это учебник, то пустые должны "отбрасываться" и не попадать в склеивание.
Даны как раз два произведения, в одном есть данные, в другом нет (для понимания сути вопроса).
Как (или какой формулой) так склеивать данные, чтобы они попадали в последний столбец внутрь квадратных скобок (как подстановка, вроде...)?

Заранее спасибо за ответы! :)

P.S.
Если это важно, то я сегодня купил полную версию пакета PLEX, возможно он упростит задачу.
Изменено: mejorcorreo - 24.02.2015 19:46:50
 
Код
=ЕСЛИ(E2="";"";"Учебное пособие: M["&E2&"];")&ЕСЛИ(C2="";"";" Автор: E["&C2&"];")&ЕСЛИ(D2="";"";" Серия: S["&D2&"];")&ЕСЛИ(A2="";"";" ISBN: T["&A2&"];")&ЕСЛИ(F2="";"";" Год издания: S["&F2&"];")&ЕСЛИ(G2="";"";" Страниц: T["&G2&"];")&ЕСЛИ(B2="";"";" Вес: T["&B2&"];")&ЕСЛИ(H2="";"";" Размеры: T["&H2&"]")
Лень двигатель прогресса, доказано!!!
 
Например так.
 
Огромнейшее спасибо вам, Сергей, МатросНаЗебре,

Я все выходные пытался их склеить!
Низкий вам поклон!

Вопрос решен!
 
опоздашки)
Работать надо не 12 часов, а головой.
 
Leanna, спасибо огромное! Но это уже совсем высший пилотаж с кнопкой!
Я имею право на то, чтобы изменить этот макрос, если у меня поменяются столбцы с новыми условиями?
 
ну и udf на последок...
 
Да,
здесь задается сколько столбцов For w = 1 To 8
для каждого столбца должен быть свой Case
например эта строчка означает
Case 1: ww = "Учебное пособие: M": cc = 5
case 1 - слово стоящее первым по порядку, case 2 - вторым по порядку
ww - думаю понятно
сс = 5 из пятой колонки берем данные для Учебного пособия.
И установить правильную колонку вывода текста в этом месте Cells(i, 9). Сейчас колонка вывода девятая.
Работать надо не 12 часов, а головой.
 
Leanna, большое спасибо! Даже с разъяснениями :)
Непривычно, что сейчас люди еще бесплатно помогают другим людям. Приятно удивлен!

Александр Беркутов, спасибо большое! Очень лаконичное решение, но мне абсолютно непонятное ;) На досуге почитаю про пользовательские функции. Видимо, это они использовались (могу и ошибаться).
 
Про пользовательскую функцию не ошибаетесь. Посмотрите код, и все станет ясно :)
Страницы: 1
Наверх