powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - Проверка вхождения строки в диапазон строк
12 сообщений из 12, страница 1 из 1
Excel - Проверка вхождения строки в диапазон строк
    #34483852
Dark_Scorpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клетка A1 ="некоторое название"
Столбец B:B содержит список названий препаратов (по одному названию в каждой строке)

Как написать формулу, которая в клетке A2 возвращала "1", если название из A1 в точности совпадает с одним из названий из столбца B:B , иначе A2 = "0"
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34483909
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F1Сравнивает две строки текста и возвращает значение ИСТИНА, если они в точности совпадают и ЛОЖЬ в противном случае. Функция СОВПАД учитывает регистр, но игнорирует различия в форматировании. Функция СОВПАД используется для того, чтобы проверить, входит ли некоторый текст в документ.

Синтаксис

СОВПАД(текст1;текст2)

Текст1 — это первая текстовая строка.

Текст2 — это вторая текстовая строка.

Примеры

СОВПАД("слово";"слово") равняется ИСТИНА

СОВПАД("Слово";"слово") равняется ЛОЖЬ

СОВПАД("с лово";"слово") равняется ЛОЖЬ

Чтобы проверить, соответствует ли введенное пользователем значение одному из значений в интервале, следует ввести следующую формулу в ячейку как массив. Чтобы ввести формулу как массив в отдельную ячейку, нажмите клавиши CTRL+SHIFT+ENTER в Microsoft Excel для Windows или +ENTER в Microsoft Excel для Макинтош. Имя «ПроверяемоеЗначение» ссылается на ячейку, содержащую введенное пользователем значение; имя «ИнтервалДляСравнений» ссылается на список текстовых значений, с которыми производится сравнение.

{=ИЛИ(СОВПАД(ПроверяемоеЗначение;ИнтервалДляСравнений))}
{=ИЛИ(СОВПАД(A1;ДВССЫЛ("B1:B"&СЧЁТЗ(B:B))))}
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34483924
Dark_Scorpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в хэлпе нашёл ещё функцию ВПР
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34487490
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dark_ScorpionКлетка A1 ="некоторое название"
Столбец B:B содержит список названий препаратов (по одному названию в каждой строке)

Как написать формулу, которая в клетке A2 возвращала "1", если название из A1 в точности совпадает с одним из названий из столбца B:B , иначе A2 = "0"

=(СУММПРОИЗВ((A1=B1:B200)*1)>0)*1

В точности делает то что вы хотели, т.е. либо "0", либо "1"
Если в столбце В:В каждое значение встречается только 1 раз то можно короче

=СУММПРОИЗВ((A1=B1:B200)*1)
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34487861
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad Dark_ScorpionКлетка A1 ="некоторое название"
Столбец B:B содержит список названий препаратов (по одному названию в каждой строке)

Как написать формулу, которая в клетке A2 возвращала "1", если название из A1 в точности совпадает с одним из названий из столбца B:B , иначе A2 = "0"

=(СУММПРОИЗВ((A1=B1:B200)*1)>0)*1

В точности делает то что вы хотели, т.е. либо "0", либо "1"
Если в столбце В:В каждое значение встречается только 1 раз то можно короче

=СУММПРОИЗВ((A1=B1:B200)*1)

Если фраза "в точности совпадает" не включает заглавность/строчность букв то [помимо навороченного варианта Deggasad] еще такие варианты в порядке моего предпочтения:

=--ЕЧИСЛО(ПОИСКПОЗ(A1;B:B;0))

=--ИЛИ(СЧЁТЕСЛИ(B:B;"="&A1))

=--(СУММПРОИЗВ(--(B1:B200=A1))=1)


KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34487876
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон третий вариант, из представленных мной выше, попал туда по ошибке. Я как раз собирался сказать, что этот способ (с СУММПРОИЗВ) самый медленный.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34488249
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) [помимо навороченного варианта Deggasad]
Ну я ничё не наворачивал, просто написал первое что в голову пришло.
А теперь вот есть время подумать и вижу что правы вы, не самое удачное решение!

KL (XL)
еще такие варианты в порядке моего предпочтения:

=--ЕЧИСЛО(ПОИСКПОЗ(A1;B:B;0))



Вот так ещё можно по такому же принципу:
=-(ЕНД(ВПР(A1;B:B;1;0))-1)

KL (XL)

=--ИЛИ(СЧЁТЕСЛИ(B:B;"="&A1))



А это можно и короче:
=И(СЧЁТЕСЛИ(B:B;A1))*1
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34488252
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) можно у Вас спросить, я уже раньше пытался задать этот вопрос:
почему в функцие СУММПРОИЗВ например или в формуле массива нельзя использовать ссылки на целый столбец
например так нельзя: =--(СУММПРОИЗВ(--(B:B=A1))=1)
???
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34489660
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad KL (XL)

=--ИЛИ(СЧЁТЕСЛИ(B:B;"="&A1))



А это можно и короче:
=И(СЧЁТЕСЛИ(B:B;A1))*1

:-)
- я пишу формулы на англ., поэтому OR для меня короче чем AND
- *1 имеет ту же длинну что и --, но слегка медленнее
- и да, ты прав, "="& - лишнее, это остаток от другого примера с ">"&A1

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34489681
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad KL (XL) можно у Вас спросить, я уже раньше пытался задать этот вопрос:
почему в функцие СУММПРОИЗВ например или в формуле массива нельзя использовать ссылки на целый столбец
например так нельзя: =--(СУММПРОИЗВ(--(B:B=A1))=1)
???

Так уж дизайнеры Excel сделали, что для операций с массивами целая строка доступна, а целый столбец нет. Причины мне не известны :-(

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34489752
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)
:-)
- я пишу формулы на англ., поэтому OR для меня короче чем AND

Я предполагал!
Я ж просто для потдержания разговора!

KL (XL)
Так уж дизайнеры Excel сделали, что для операций с массивами целая строка доступна, а целый столбец нет. Причины мне не известны :-(

Ну если даже вы уверены, что так и должно быть, то я успокаиваюсь и принимаю как должное, а то покоя не давало, вдруг можно!
...
Рейтинг: 0 / 0
Excel - Проверка вхождения строки в диапазон строк
    #34490133
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadНу если даже вы уверены, что так и должно быть, то я успокаиваюсь и принимаю как должное, а то покоя не давало, вдруг можно!

1) А можно на ты? А то я себя чувствую старым, толстым, в очках и с портфелем подмышкой

2) Я скорее уверен в том, что оно так есть. А должно ли, меня спросить забыли - вдруг я какой сюрприз выдам ;-)

3) Вообще я не сторонник использования целых столбцов в Excel 2003 по трем причинам:

- очень мало кто использует более 10.000 в Excel, и еще меньше тех, кто использует более 50.000

- почти все формулы/функции использующие целые столбцы значительно замедляются и увеличивают расход памяти (ИНДЕКС - одно из редких исключений), особенно функции точного поиска [ВПР(,,,ЛОЖЬ), ГПР(,,,ЛОЖЬ), ПОИСКПОЗ(,,ЛОЖЬ), СУММЕСЛИ(), СЧЕТЕСЛИ()]. В Excel 2003 существуют механизмы оптимизации расчетов (например Smart Recalculation: http://www.decisionmodels.com/calcsecrets.htm ), но это проблемы в целом не решает. Функции неточного поиска [ПРОСМОТР(), ВПР(,,,ИСТИНА), ГПР(,,,ИСТИНА), ПОИСКПОЗ(,,ИСТИНА)], к счастью, используют бинарный метод , но у них другая проблема: они похоже не игнорируют индексированные пустые ячейки.

- использование целых столбцов увеличивает риск превышения лимита в 65.536 зависимостей на листе, что ведет к тотальной летучести всего листа: http://www.decisionmodels.com/calcsecretsd.htm

KL
[MVP - Microsoft Excel]и
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel - Проверка вхождения строки в диапазон строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]