Вопрос № 102736: Уважаемые эксперты,
не могу решить один важный для меня вопрос.
У меня есть список подразделений организации, достаточно длинный. Он находится в столбце А. В столбцах В и С содержатся данные по этим подразделениям.
В столбц...Вопрос № 102741: Есть две таблицы, в одной строка ZB_RAZOM в другой ВР620_04 обе с числовые. Как зделать чтобы проверяло идентичность значений в этих строках?...
Вопрос № 102.736
Уважаемые эксперты,
не могу решить один важный для меня вопрос.
У меня есть список подразделений организации, достаточно длинный. Он находится в столбце А. В столбцах В и С содержатся данные по этим подразделениям.
В столбце D напротив каждого филиала мне нужно автоматически проставлять слово "филиал", напротив каждого агентства - слово "агенство", в случае если это подразделение не является ни агенством, ни филиалом, то проставлять ничего не нужно.
То есть мне нужно реализовать программу, которая будет проверять, содержится ли в тексте ячейки столбца А текст "филиал" или "агенство", и если содержится, проставлять в данные в столбец D.
Просто пределением значения ячейки проблему решить не удастся, так как каждый филиал и каждое агенство имеет уникальное имя и совпадают в них только слова "агентство" и "филиал".
Кроме того, надо, чтобы программа заканчивала своё действие, как только наткнётся на первую пустую ячейку в столбце А.
Отвечает: Alexander N. Monastyrsky
Здравствуйте, Икрамов Александр Павлович!
Зачем так сложно. Можно решить гораздо проще.
Вставляем в ячейку D1 формулу:
см. Приложение.
А потом применяем умное копирование на столько строк, сколько нужно.
В крайнем случае, можно разобрать конструкцию и склепать макрос-модуль.
Логику я показал.
Часть ответа удалена, как неимеющая отношения к вопросу.
Приложение:
--------- Страшен Русский сервис, бессмысленный и беспощадный...
Ответ отправил: Alexander N. Monastyrsky (статус: 2-ой класс)
Ответ отправлен: 20.09.2007, 10:55 Оценка за ответ: 5 Комментарий оценки: Благодарю. Мне это очень поможет. Не знал о таких ответвлениях функции если
Отвечает: Черников Игорь Владимирович
Здравствуйте, Икрамов Александр Павлович!
Sub Макрос1()
Dim Наименование As String
Dim счётчик As Integer
Do
счётчик = счётчик + 1
Наименование = Worksheets("Лист1").Range("A" & счётчик)
If Наименование = "" Then Exit Do
If InStr(Наименование, "агентство") <> 0 Then Worksheets("Лист1").Range("D" & счётчик).Value = "Агентство"
If InStr(Наименование, "филиал") <> 0 Then Worksheets("Лист1").Range("D" & счётчик).Value = "Филиал"
Loop
End Sub
Можно и без макроса:
=ЕСЛИ(ЕОШИБКА(ПОИСК("агентство";A1)>0)=ИСТИНА;ЕСЛИ(ЕОШИБКА(ПОИСК("филиал";A1)>0)=ИСТИНА;"";"филиал");"агентство")
--------- От каждого по способностям, каждому по труду
Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Икрамов Александр Павлович!
Совсем случайно (как рояль в кустах:)) у меня есть готовое решение для Вас.
http://ifolder.ru/3435362
Это надстройуа Excel. После ее подключения, появляется пункт меню, вызывающий диалог. В диалоге указываете столбец поиска, искомый текст, целевой столбец и отобращаемую метку - "Выполнить" и все готово.
Удачи.
Евгений.
Отвечает: Архипов Александр Леонидович
Здравствуйте, Икрамов Александр Павлович!
Попробуй вот так:
=ЕСЛИ(ЕОШИБКА(ПОИСК("филиал";A1)>0);ЕСЛИ(ЕОШИБКА(ПОИСК("агенство";A1)>0);"";"агенство");"филиал")
Отвечает: Тесленко Евгений Алексеевич
Здравствуйте, Коновалов Николай Станиславович!
Select *, f1 & f2 & ... As Test From Tbl1 Where Test Not In(Select f1 & f2 & ... As Test From Tbl2)
Подобный запрос выдаст все записи таблицы Tbl1 которым нет соответствия в таблице Tbl2.
Судя по объему кода предоставленного для образца, это упражнение будет Вам по силам.
Удачи.
Евгений.