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

Вход

Регистрация

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

 

= Мир MS Excel/Сравнить первые цифры в коде с заданным числом - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Сравнить первые цифры в коде с заданным числом
Serge1400 Дата: Среда, 24.09.2025, 21:40 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 106
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем доброго дня! Подскажите, плиз чайнику в чем проблема - сам я разобраться не смог. Задача такая: есть десятизначный код (колонка А) . Если первые две цифры в коде это 62 или 64 (группа товара) , то в колонке С должна появится цифра 4. В остальных случаях должен быть 0. Первые 2 цифры получаю формулой ЛЕВСИМВ(A2;2) Далее использую формулу ЕСЛИ(И(B2=62);0;ЕСЛИ(И(B2=64);0;2*2)). Так вот эта формула работает только в случае, если в колонке В цифры 62 и 64 (выделено желтым) напечатаны вручную. Сначала думал проблема в формате ячейки. Все форматы перепробовал - не работает. В общем целый день сегодня бился - пытался понять в чем проблема, но решения так и не нашел. Пример прилагаю
К сообщению приложен файл: primer_62_i_64.xlsx (10.8 Kb)


Сообщение отредактировал Pelena - Среда, 24.09.2025, 22:03
 
Ответить
СообщениеВсем доброго дня! Подскажите, плиз чайнику в чем проблема - сам я разобраться не смог. Задача такая: есть десятизначный код (колонка А) . Если первые две цифры в коде это 62 или 64 (группа товара) , то в колонке С должна появится цифра 4. В остальных случаях должен быть 0. Первые 2 цифры получаю формулой ЛЕВСИМВ(A2;2) Далее использую формулу ЕСЛИ(И(B2=62);0;ЕСЛИ(И(B2=64);0;2*2)). Так вот эта формула работает только в случае, если в колонке В цифры 62 и 64 (выделено желтым) напечатаны вручную. Сначала думал проблема в формате ячейки. Все форматы перепробовал - не работает. В общем целый день сегодня бился - пытался понять в чем проблема, но решения так и не нашел. Пример прилагаю

Автор - Serge1400
Дата добавления - 24.09.2025 в 21:40
ddp1481ne Дата: Среда, 24.09.2025, 21:52 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 3 ±
Замечаний: 0% ±

2013
Не понятно зачем используется "И", при чём неправильно. Попробуйте "ИЛИ":
Код
=ЕСЛИ(ИЛИ(B2=62;B2=64);4;0)

Основная проблема решается вот так:
Код
=--ЛЕВСИМВ(A2;2)


Сообщение отредактировал ddp1481ne - Среда, 24.09.2025, 21:54
 
Ответить
СообщениеНе понятно зачем используется "И", при чём неправильно. Попробуйте "ИЛИ":
Код
=ЕСЛИ(ИЛИ(B2=62;B2=64);4;0)

Основная проблема решается вот так:
Код
=--ЛЕВСИМВ(A2;2)

Автор - ddp1481ne
Дата добавления - 24.09.2025 в 21:52
Hugo Дата: Среда, 24.09.2025, 21:54 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3859
Репутация: 819 ±
Замечаний: 0% ±

365
Serge1400, Доброго дня.
ЛЕВСИМВ() возвращает символы/текст, а не число. А Вы сравниваете с числом - в этом и проблема.
Да и сама формула не ахти, можно переписать, И() там вообще ни к чему...


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеSerge1400, Доброго дня.
ЛЕВСИМВ() возвращает символы/текст, а не число. А Вы сравниваете с числом - в этом и проблема.
Да и сама формула не ахти, можно переписать, И() там вообще ни к чему...

Автор - Hugo
Дата добавления - 24.09.2025 в 21:54
bigor Дата: Среда, 24.09.2025, 23:12 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1403
Репутация: 275 ±
Замечаний: 0% ±

нет
Serge1400, как вариант
Код
=((LEFT(A2;2)="62")+(LEFT(A2;2)="64"))*4

так короче
Код
=SUM(LEFT(A2;2)={"62";"64"})*4
но вводить нужно как массивную


Сообщение отредактировал bigor - Среда, 24.09.2025, 23:16
 
Ответить
СообщениеSerge1400, как вариант
Код
=((LEFT(A2;2)="62")+(LEFT(A2;2)="64"))*4

так короче
Код
=SUM(LEFT(A2;2)={"62";"64"})*4
но вводить нужно как массивную

Автор - bigor
Дата добавления - 24.09.2025 в 23:12
Serge1400 Дата: Среда, 24.09.2025, 23:23 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 106
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем огромное спасибо! Сделал все по вашим рекомендациям - заработало как надо!
 
Ответить
СообщениеВсем огромное спасибо! Сделал все по вашим рекомендациям - заработало как надо!

Автор - Serge1400
Дата добавления - 24.09.2025 в 23:23
Serge1400 Дата: Среда, 24.09.2025, 23:38 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 106
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
=((ЛЕВСИМВ(A2;2)="62")+(ЛЕВСИМВ(A2;2)="64"))*4

Вариант для меня очень интересный: не нужно использовать промежуточные данные - все в одной формуле. Но мне , к сожалению не подходит. Нужно, чтобы при совпадении значений (62 и 64) был 0. В остальных случаях - формула: я в своем примере для упрощения использовал 2*2
 
Ответить
Сообщение
=((ЛЕВСИМВ(A2;2)="62")+(ЛЕВСИМВ(A2;2)="64"))*4

Вариант для меня очень интересный: не нужно использовать промежуточные данные - все в одной формуле. Но мне , к сожалению не подходит. Нужно, чтобы при совпадении значений (62 и 64) был 0. В остальных случаях - формула: я в своем примере для упрощения использовал 2*2

Автор - Serge1400
Дата добавления - 24.09.2025 в 23:38
DrMini Дата: Четверг, 25.09.2025, 06:23 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2129
Репутация: 345 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
чтобы при совпадении значений (62 и 64) был 0. В остальных случаях - формула: я в своем примере для упрощения использовал 2*2

Тогда так (на примере Игоря):
Код
=(--ЛЕВСИМВ(A2;2)<>62)*(--ЛЕВСИМВ(A2;2)<>64)*2*2

или (когда обновитесь до Excel 2019+ так:
Код
=ЕНД(ПЕРЕКЛЮЧ(--ЛЕВСИМВ(A2;2);62;0;64;0))*2*2
К сообщению приложен файл: 7330621.xlsx (12.5 Kb)
 
Ответить
Сообщение
чтобы при совпадении значений (62 и 64) был 0. В остальных случаях - формула: я в своем примере для упрощения использовал 2*2

Тогда так (на примере Игоря):
Код
=(--ЛЕВСИМВ(A2;2)<>62)*(--ЛЕВСИМВ(A2;2)<>64)*2*2

или (когда обновитесь до Excel 2019+ так:
Код
=ЕНД(ПЕРЕКЛЮЧ(--ЛЕВСИМВ(A2;2);62;0;64;0))*2*2

Автор - DrMini
Дата добавления - 25.09.2025 в 06:23
_Boroda_ Дата: Четверг, 25.09.2025, 09:34 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16957
Репутация: 6631 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
я в своем примере для упрощения использовал 2*2

А вот это зря
Еще вариант
Код
=(ABS(ЛЕВБ(A2;2)-63)=1)*2*2

или, если Ваше "2*2" дает текстовый результат, то
Код
=ЕСЛИ(ABS(ЛЕВБ(A2;2)-63)=1;2*2;)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
я в своем примере для упрощения использовал 2*2

А вот это зря
Еще вариант
Код
=(ABS(ЛЕВБ(A2;2)-63)=1)*2*2

или, если Ваше "2*2" дает текстовый результат, то
Код
=ЕСЛИ(ABS(ЛЕВБ(A2;2)-63)=1;2*2;)

Автор - _Boroda_
Дата добавления - 25.09.2025 в 09:34
  • Страница 1 из 1
  • 1
Поиск:

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