Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Собрать текст при определенных условиях. - Мир MS Excel

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_, DrMini  
Собрать текст при определенных условиях.
Tunka-s Дата: Четверг, 11.06.2015, 12:59 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте. Опять пришла за помощью.

В двух колонках есть определенные параметры. Если они оба совпадают, то надо объеденить тексты из третьей колонки, из нескольких ячеек. Первая ячейка всегда напротив тех двух параметров, а остальные сразу под ней. Их может быть сколько угодно, и текст из них надо приклеивать друг к другу, пока в одной из колонок с параметром соответствующие ячейки пустые. Понятно, что ничего не понятно, но может быть на примере станет яснее.
К сообщению приложен файл: Example.xlsx (11.7 Kb)
 
Ответить
СообщениеЗдравствуйте. Опять пришла за помощью.

В двух колонках есть определенные параметры. Если они оба совпадают, то надо объеденить тексты из третьей колонки, из нескольких ячеек. Первая ячейка всегда напротив тех двух параметров, а остальные сразу под ней. Их может быть сколько угодно, и текст из них надо приклеивать друг к другу, пока в одной из колонок с параметром соответствующие ячейки пустые. Понятно, что ничего не понятно, но может быть на примере станет яснее.

Автор - Tunka-s
Дата добавления - 11.06.2015 в 12:59
ArkaIIIa Дата: Четверг, 11.06.2015, 14:49 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Что называется "в лоб":
Код
=ЕСЛИ(И(F6="2";G6="AS");СЦЕПИТЬ(H6;" ";ЕСЛИ(G7="";H7;"");" ";ЕСЛИ(G8="";H8;""));"")

Если строк для сцепления больше 3 - нужно добавлять конструкцию ЕСЛИ(G9(10,11...)="";H9(10,11...);"");" ";
К сообщению приложен файл: Example_2.xlsx (12.6 Kb)
 
Ответить
СообщениеЧто называется "в лоб":
Код
=ЕСЛИ(И(F6="2";G6="AS");СЦЕПИТЬ(H6;" ";ЕСЛИ(G7="";H7;"");" ";ЕСЛИ(G8="";H8;""));"")

Если строк для сцепления больше 3 - нужно добавлять конструкцию ЕСЛИ(G9(10,11...)="";H9(10,11...);"");" ";

Автор - ArkaIIIa
Дата добавления - 11.06.2015 в 14:49
Tunka-s Дата: Четверг, 11.06.2015, 15:15 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо большое. Я так тоже делала. В том-то и проблема, что хотелось бы формулу/программу, которая сама определит сколько строчек ей надо собрать. Иначе получается все равно довольно много ручной коррекции.
 
Ответить
СообщениеСпасибо большое. Я так тоже делала. В том-то и проблема, что хотелось бы формулу/программу, которая сама определит сколько строчек ей надо собрать. Иначе получается все равно довольно много ручной коррекции.

Автор - Tunka-s
Дата добавления - 11.06.2015 в 15:15
vikttur Дата: Четверг, 11.06.2015, 15:21 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Для І6, просто и со вкусом :)
Код
=ЕСЛИ(G7="AS";H6;H6&" "&H7)

В главной ячейке сцепляется весь текст блока.
Недостаток: в подчиненных строках тоже не пусто.


Сообщение отредактировал Serge_007 - Четверг, 11.06.2015, 17:20
 
Ответить
СообщениеДля І6, просто и со вкусом :)
Код
=ЕСЛИ(G7="AS";H6;H6&" "&H7)

В главной ячейке сцепляется весь текст блока.
Недостаток: в подчиненных строках тоже не пусто.

Автор - vikttur
Дата добавления - 11.06.2015 в 15:21
ArkaIIIa Дата: Четверг, 11.06.2015, 15:35 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Tunka-s
В ветку VBA напишите, там помогут. Средствами VBA это можно реализовать.
[moder]Не нужно никуда писать. Здесь тоже можно макросы предлагать. А так будет задвоение тем - нарушение Правил форума.
Что, собственно, и произошло.
Ту тему закрываю.


Сообщение отредактировал _Boroda_ - Четверг, 11.06.2015, 15:48
 
Ответить
СообщениеTunka-s
В ветку VBA напишите, там помогут. Средствами VBA это можно реализовать.
[moder]Не нужно никуда писать. Здесь тоже можно макросы предлагать. А так будет задвоение тем - нарушение Правил форума.
Что, собственно, и произошло.
Ту тему закрываю.

Автор - ArkaIIIa
Дата добавления - 11.06.2015 в 15:35
Tunka-s Дата: Четверг, 11.06.2015, 15:38 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, но это немножко не то. :) Строк может быть и десять. Если мне нужно вручную просматривать сколько строк должно быть сцеплено, и в зависимости от этого увеличивать или уменьшать количество вложенных ЕСЛИ, то я через "&" спокойно все сцеплю вручную. Просто у меня таблиц 20 наверное. В каждой по паре тысяч строк. Боюсь остаться инвалидом по зрению после этого. Ну и потом даже страшно предположить, когда я закончу это все.
 
Ответить
СообщениеСпасибо, но это немножко не то. :) Строк может быть и десять. Если мне нужно вручную просматривать сколько строк должно быть сцеплено, и в зависимости от этого увеличивать или уменьшать количество вложенных ЕСЛИ, то я через "&" спокойно все сцеплю вручную. Просто у меня таблиц 20 наверное. В каждой по паре тысяч строк. Боюсь остаться инвалидом по зрению после этого. Ну и потом даже страшно предположить, когда я закончу это все.

Автор - Tunka-s
Дата добавления - 11.06.2015 в 15:38
Tunka-s Дата: Четверг, 11.06.2015, 15:47 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Написала в VBA
[moder]Закрыл ту тему - нарушение Правил форума. Решайте здесь.


Сообщение отредактировал _Boroda_ - Четверг, 11.06.2015, 15:49
 
Ответить
СообщениеНаписала в VBA
[moder]Закрыл ту тему - нарушение Правил форума. Решайте здесь.

Автор - Tunka-s
Дата добавления - 11.06.2015 в 15:47
KSV Дата: Четверг, 11.06.2015, 16:09 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
см. вложенный файл
К сообщению приложен файл: Example.xlsm (18.3 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщениесм. вложенный файл

Автор - KSV
Дата добавления - 11.06.2015 в 16:09
Tunka-s Дата: Четверг, 11.06.2015, 16:20 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо. Ничего не могу понять, но почему-то не могу открыть сам код. Программа работает, хоть и не очень чисто. Собирает тексты не только если выполняется условие 2-АС, но и при всех других сочетаниях тоже, плюс слепляет строчки без пробела. Я бы код подправила, но '[ЭтаКнига].MergeVal почему-то не редактируется. Почему? :)
 
Ответить
СообщениеСпасибо. Ничего не могу понять, но почему-то не могу открыть сам код. Программа работает, хоть и не очень чисто. Собирает тексты не только если выполняется условие 2-АС, но и при всех других сочетаниях тоже, плюс слепляет строчки без пробела. Я бы код подправила, но '[ЭтаКнига].MergeVal почему-то не редактируется. Почему? :)

Автор - Tunka-s
Дата добавления - 11.06.2015 в 16:20
KSV Дата: Четверг, 11.06.2015, 18:05 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
не могу открыть сам код

А как Вы его открываете? В VBE можно попасть по-разному (например, нажать Alt+F11), но в любом случае Вы должны увидеть код. (это пример и никаких защит там нет)
Судя по Вашим словам:
Я бы код подправила

надо полагать, что Вы знаете VBA, а следовательно, должны знать, как открыть VBE...

почему-то не редактируется

Что значит "не редактируется"? Вы меняете код, но он не меняется? :)

[p.s.]Попробуйте вложенный файл.
Если и он работает "не чисто", то выложите пример (несколько строк, на которых код отрабатывает неправильно).
Условие должно быть именно 2 и AS? (подозреваю, что это избыточное условие и у Вас все AS встречаются только с 2. если нет, то код нужно подправить)[/p.s.]
К сообщению приложен файл: 8114490.xlsm (19.4 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333


Сообщение отредактировал KSV - Четверг, 11.06.2015, 18:46
 
Ответить
Сообщение
не могу открыть сам код

А как Вы его открываете? В VBE можно попасть по-разному (например, нажать Alt+F11), но в любом случае Вы должны увидеть код. (это пример и никаких защит там нет)
Судя по Вашим словам:
Я бы код подправила

надо полагать, что Вы знаете VBA, а следовательно, должны знать, как открыть VBE...

почему-то не редактируется

Что значит "не редактируется"? Вы меняете код, но он не меняется? :)

[p.s.]Попробуйте вложенный файл.
Если и он работает "не чисто", то выложите пример (несколько строк, на которых код отрабатывает неправильно).
Условие должно быть именно 2 и AS? (подозреваю, что это избыточное условие и у Вас все AS встречаются только с 2. если нет, то код нужно подправить)[/p.s.]

Автор - KSV
Дата добавления - 11.06.2015 в 18:05
Tunka-s Дата: Четверг, 11.06.2015, 20:24 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
О! Дома открылось. Не знаю, что это было на работе. :)
Я не знаю ВБА. Если бы знала, я бы сама код написала. Но я обычно в состоянии разобраться в простеньком коде и поменять AS на что-нибудь еще. Насколько я поняла (очень может быть, что я ничего не поняла) в вашем коде нет второго условия вообще? Т.е. двойки в столбце F? А можно добавить? Потому что у меня при АS может быть любая другая цифра, но начало "сбора" текста всегда должно быть в строке 2-АS. Т.е. если АS стоит напротив 4-х, то там не надо вообще ничего писать.
И спасибо вам огромное за помощь!
 
Ответить
СообщениеО! Дома открылось. Не знаю, что это было на работе. :)
Я не знаю ВБА. Если бы знала, я бы сама код написала. Но я обычно в состоянии разобраться в простеньком коде и поменять AS на что-нибудь еще. Насколько я поняла (очень может быть, что я ничего не поняла) в вашем коде нет второго условия вообще? Т.е. двойки в столбце F? А можно добавить? Потому что у меня при АS может быть любая другая цифра, но начало "сбора" текста всегда должно быть в строке 2-АS. Т.е. если АS стоит напротив 4-х, то там не надо вообще ничего писать.
И спасибо вам огромное за помощь!

Автор - Tunka-s
Дата добавления - 11.06.2015 в 20:24
KSV Дата: Четверг, 11.06.2015, 20:39 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
так?
К сообщению приложен файл: 2009190.xlsm (19.5 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщениетак?

Автор - KSV
Дата добавления - 11.06.2015 в 20:39
Tunka-s Дата: Четверг, 11.06.2015, 20:50 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Не работает Макро. :( Сразу выдает ошибку в первой же строке.
 
Ответить
СообщениеНе работает Макро. :( Сразу выдает ошибку в первой же строке.

Автор - Tunka-s
Дата добавления - 11.06.2015 в 20:50
Serge_007 Дата: Четверг, 11.06.2015, 20:58 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Первая строка это какая? Option Explicit?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеПервая строка это какая? Option Explicit?

Автор - Serge_007
Дата добавления - 11.06.2015 в 20:58
Tunka-s Дата: Четверг, 11.06.2015, 21:03 | Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Нет. :) В Public Sub MergeVal()
 
Ответить
СообщениеНет. :) В Public Sub MergeVal()

Автор - Tunka-s
Дата добавления - 11.06.2015 в 21:03
Serge_007 Дата: Четверг, 11.06.2015, 21:24 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Вы специально не говорите в чем проблема? Намеков не понимаете? Закрыть тему?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВы специально не говорите в чем проблема? Намеков не понимаете? Закрыть тему?

Автор - Serge_007
Дата добавления - 11.06.2015 в 21:24
Tunka-s Дата: Четверг, 11.06.2015, 21:35 | Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Извините. Не специально. Если бы я знала в чем проблема, то сразу бы сказала. Когда я запускаю макрос, появляется сообщение об ошибке: compile error expression required. Это я так на английский сообщение перевожу.
У меня Excel на Голландском, так что копировать сюда наверное смысла нет это сообщение.
 
Ответить
СообщениеИзвините. Не специально. Если бы я знала в чем проблема, то сразу бы сказала. Когда я запускаю макрос, появляется сообщение об ошибке: compile error expression required. Это я так на английский сообщение перевожу.
У меня Excel на Голландском, так что копировать сюда наверное смысла нет это сообщение.

Автор - Tunka-s
Дата добавления - 11.06.2015 в 21:35
Serge_007 Дата: Четверг, 11.06.2015, 21:57 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
В КАКОЙ СТРОКЕ?

У меня Excel на Голландском
Какая разница? VBA-то у Вас на английском


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВ КАКОЙ СТРОКЕ?

У меня Excel на Голландском
Какая разница? VBA-то у Вас на английском

Автор - Serge_007
Дата добавления - 11.06.2015 в 21:57
KSV Дата: Четверг, 11.06.2015, 22:00 | Сообщение № 19
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Не работает Макро

а как у вас работало до этого?
О! Дома открылось.

я только добавил еще одно условие, поэтому если пред. версия запускалась, то и эта должна.

[p.s.]что-то у вас "проблемы" возникают на пустом месте...[/p.s.]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщение
Не работает Макро

а как у вас работало до этого?
О! Дома открылось.

я только добавил еще одно условие, поэтому если пред. версия запускалась, то и эта должна.

[p.s.]что-то у вас "проблемы" возникают на пустом месте...[/p.s.]

Автор - KSV
Дата добавления - 11.06.2015 в 22:00
Tunka-s Дата: Четверг, 11.06.2015, 22:12 | Сообщение № 20
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 124
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Желтым подсвечивается строка Public Sub MergeVal().

Допускаю возможность, что проблема не в коде, а в моей корявости. :( Ну буду пытаться понять.
 
Ответить
СообщениеЖелтым подсвечивается строка Public Sub MergeVal().

Допускаю возможность, что проблема не в коде, а в моей корявости. :( Ну буду пытаться понять.

Автор - Tunka-s
Дата добавления - 11.06.2015 в 22:12
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!