|
Формула в Excel | ☑ | ||
---|---|---|---|---|
0
ogion83
14.11.22
✎
14:17
|
Помогите составить формулу. Надо чтобы в зависимости от найденного значения выдавало нужный текст.
Поиск производится в тексте. Пробовал так =ЕСЛИ(НАЙТИ("Сорт: АВС";Q737)>0;"1–3 (ABC)";ЕСЛИ(НАЙТИ("Сорт: АВ";Q737)>0;"1–2 (AB)";"С")). Если АВС в тексте то его находит, а если АВ, то ошибка. |
|||
1
ogion83
14.11.22
✎
14:24
|
Вроде нашел, нужна функция ЕСЛИМН, но она только с 2016 офиса.
|
|||
2
Ryzeman
14.11.22
✎
14:28
|
Excel тебе не позволяет искать 9-символьную строку в 8-символьном значении ячейки.
Это неочевидно, но если посмотришь этапы вычисления - увидишь. Либо пиши формулу наоборот, либо проверяй по-другому. |
|||
3
Ryzeman
14.11.22
✎
14:28
|
Вариант - просто экранируй на ошибки, потому что очевидно что нельзя найти большее в меньшем. Это тоже ложь.
|
|||
4
ogion83
14.11.22
✎
14:44
|
Я ищу в большом тексте в ячейке Q737 текст "Сорт: АВС", если функция выдала числовое значение, значит он найден вывожу АВС, если не найден, то снова поиск, но уже "Сорт:АВ". Но что то не идет.
|
|||
5
Доминошник
14.11.22
✎
14:46
|
(1) а ЕОШИБКА есть?
Если есть - то оборачивай в неё НАЙТИ |
|||
6
Доминошник
14.11.22
✎
14:51
|
С ЕОШИБКА вот так получается
|
|||
7
kittystark
14.11.22
✎
14:58
|
(0) это вся задача или упрощение для нас?
сдается мне, что задача поширше будет и тогда регулярные выражения помогут |
|||
8
Ryzeman
14.11.22
✎
15:08
|
(4) Блин, миллиард лет в Excel не влезал. Это вообще документированное поведение для этой функции
If find_text does not appear in within_text, FIND and FINDB return the #VALUE! error value. Ты пробовал хоть =НАЙТИ("Хрен"; "Редька") Сделать посмотреть что вернёт?) С чего ты решил что будет 0?) |
|||
9
Ryzeman
14.11.22
✎
15:12
|
(5) ЕслиОшибка есть с 2007-го офиса. ЕОШИБКА как минимум с 99-го
|
|||
10
ogion83
14.11.22
✎
15:13
|
(7) Это вся задача: нашел А выведи А, нашел в том же тексте В выведи В.
|
|||
11
ogion83
14.11.22
✎
15:14
|
=ЕСЛИМН(НАЙТИ("Сорт: АВС";Q737);"1–3 (ABC)";НАЙТИ("Сорт: АВ";Q737);"1–2 (AB)")
Вот формула, когда в тексте находится "СОРТ: АВ", в условии где ищет АВС выводит #ЗНАЧ! и его выводит, хотя в следующем условии находит АВ |
|||
12
ogion83
14.11.22
✎
15:17
|
(11) Похоже формула все же не подходит для задачи
|
|||
13
ogion83
14.11.22
✎
15:45
|
=ЕСЛИ(НАЙТИ("Сорт: АВС";Q738);"1–3 (ABC)";ЕСЛИ(НАЙТИ("Сорт: АВ";Q738);"1–2 (AB)"))
Вот тут, если не нашел АВС, почему вместо значения ЛОЖЬ выводится #ЗНАЧ? |
|||
14
evgeniy_n
14.11.22
✎
15:45
|
=ЕСЛИ(ЕОШИБКА(НАЙТИ("Сорт: АВС";Q737));ЕСЛИ(ЕОШИБКА(НАЙТИ("Сорт: АВ";Q737));"С";"1–2 (AB)");"1–3 (ABC)")
|
|||
15
evgeniy_n
14.11.22
✎
15:48
|
(14) В принципе, в (6) почти то же самое. Работает.
|
|||
16
ogion83
14.11.22
✎
15:52
|
(15) Работает, но у меня походу уже мозг клинит не могу понять как оно работает))))
|
|||
17
ogion83
14.11.22
✎
15:55
|
Надо как то сюда теперь добавить условие для сорта ВС))
|
|||
18
ogion83
14.11.22
✎
16:14
|
(14) Благодарю.
Вот так сделал, работает. =ЕСЛИМН(ЕОШИБКА(НАЙТИ("Сорт: АВС";Q737))=ЛОЖЬ;"1–3 (ABC)";ЕОШИБКА(НАЙТИ("Сорт: АВ";Q737))=ЛОЖЬ;"1–2 (AB)";ЕОШИБКА(НАЙТИ("Сорт: BC";Q737))=ЛОЖЬ;"2–3 (BC)";ЕОШИБКА(НАЙТИ("Сорт: С";Q737))=ЛОЖЬ;"3 (C)") |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |