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

Вход

Регистрация

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

 

= Мир MS Excel/Если число попадает в указанный диапазон, отразить результат - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Если число попадает в указанный диапазон, отразить результат
dw1240 Дата: Понедельник, 21.11.2022, 10:30 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 40% ±

Здравствуйте!
Подскажите пожалуйста, как решить такую задачу.
Есть столбец A, в нём указаны диапозон чисел (в каждой строке по одному дипапозону) в текстовом формате, типа 100-300, 50-240, 20-400 и т.д.
Есть столбец B, в нём одно и тоже число (в каждой строке), например 110.
И нужно например в столбце C отразить результат проверки столбца B с столбцом A. Попадает ли число из B в диапозон чисел из A.

Пример отобразил в прикреплённом файле.
Заранее большое спасибо!
К сообщению приложен файл: 7933290.xlsx (9.6 Kb)
 
Ответить
СообщениеЗдравствуйте!
Подскажите пожалуйста, как решить такую задачу.
Есть столбец A, в нём указаны диапозон чисел (в каждой строке по одному дипапозону) в текстовом формате, типа 100-300, 50-240, 20-400 и т.д.
Есть столбец B, в нём одно и тоже число (в каждой строке), например 110.
И нужно например в столбце C отразить результат проверки столбца B с столбцом A. Попадает ли число из B в диапозон чисел из A.

Пример отобразил в прикреплённом файле.
Заранее большое спасибо!

Автор - dw1240
Дата добавления - 21.11.2022 в 10:30
Serge_007 Дата: Понедельник, 21.11.2022, 10:46 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Здравствуйте

Можно сделать так:
1. Выделяем диапазон А1:А10
2. Данные - Текст по столбцам, разделитель "-"
3. Итог помещаем правее исходных данных, нпример в G2
4. Формула:
Код
=(B2>G2)*(B2<H2)

5. Формат ячеек: [vba]
Код
"да";;"нет"
[/vba]

Или одной формулой:
Код
=ЕСЛИ(И(B2>--ЛЕВБ(A2;НАЙТИ("-";A2)-1);B2<--ПРАВБ(A2;ДЛСТР(A2)-ПОИСК("-";A2)));"да";"нет")
Код
=(B2>--ЛЕВБ(A2;ПОИСК("-";A2)-1))*(B2<--ПРАВБ(A2;ДЛСТР(A2)-НАЙТИ("-";A2)))
К сообщению приложен файл: 20221121_dw1240.xls (53.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗдравствуйте

Можно сделать так:
1. Выделяем диапазон А1:А10
2. Данные - Текст по столбцам, разделитель "-"
3. Итог помещаем правее исходных данных, нпример в G2
4. Формула:
Код
=(B2>G2)*(B2<H2)

5. Формат ячеек: [vba]
Код
"да";;"нет"
[/vba]

Или одной формулой:
Код
=ЕСЛИ(И(B2>--ЛЕВБ(A2;НАЙТИ("-";A2)-1);B2<--ПРАВБ(A2;ДЛСТР(A2)-ПОИСК("-";A2)));"да";"нет")
Код
=(B2>--ЛЕВБ(A2;ПОИСК("-";A2)-1))*(B2<--ПРАВБ(A2;ДЛСТР(A2)-НАЙТИ("-";A2)))

Автор - Serge_007
Дата добавления - 21.11.2022 в 10:46
_Boroda_ Дата: Понедельник, 21.11.2022, 10:51 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Еще вариант
Код
=(--ЛЕВБ(A2;ПОИСК("-";A2)-1)<=B2)*(-ПСТР(A2;ПОИСК("-";A2);99)>=B2)

и еще
Код
=МЕДИАНА(--ПСТР(ПОДСТАВИТЬ(A2;"-";ПОВТОР(" ";9));{1:9};{9:9});B2)=B2

Код
=МЕДИАНА(--ПСТР(ПОДСТАВИТЬ(A2;"-";"         ");{1:9};{9:9});B2)=B2
К сообщению приложен файл: 7933290_1.xlsx (10.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вариант
Код
=(--ЛЕВБ(A2;ПОИСК("-";A2)-1)<=B2)*(-ПСТР(A2;ПОИСК("-";A2);99)>=B2)

и еще
Код
=МЕДИАНА(--ПСТР(ПОДСТАВИТЬ(A2;"-";ПОВТОР(" ";9));{1:9};{9:9});B2)=B2

Код
=МЕДИАНА(--ПСТР(ПОДСТАВИТЬ(A2;"-";"         ");{1:9};{9:9});B2)=B2

Автор - _Boroda_
Дата добавления - 21.11.2022 в 10:51
jakim Дата: Понедельник, 21.11.2022, 11:00 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1216
Репутация: 316 ±
Замечаний: 0% ±

Excel 2010
Power Query

[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
    #"Split Column by Delimiter" = Table.SplitColumn(Source,"диапозон",Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv),{"диапозон.1", "диапозон.2"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"диапозон.1", type number}, {"диапозон.2", type number}, {"число", type number}}),
    #"Added Conditional Column" = Table.AddColumn(#"Changed Type", "Custom", each if [число] < [диапозон.1] then "да" else if [число] < [диапозон.2] then "да" else null ),
    #"Replaced Value" = Table.ReplaceValue(#"Added Conditional Column",null,"нет",Replacer.ReplaceValue,{"Custom"}),
    #"Removed Other Columns" = Table.SelectColumns(#"Replaced Value",{"Custom"})
in
    #"Removed Other Columns"
[/vba]
К сообщению приложен файл: 0036699.xlsx (17.0 Kb)


Сообщение отредактировал jakim - Понедельник, 21.11.2022, 11:01
 
Ответить
Сообщение
Power Query

[vba]
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
    #"Split Column by Delimiter" = Table.SplitColumn(Source,"диапозон",Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv),{"диапозон.1", "диапозон.2"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"диапозон.1", type number}, {"диапозон.2", type number}, {"число", type number}}),
    #"Added Conditional Column" = Table.AddColumn(#"Changed Type", "Custom", each if [число] < [диапозон.1] then "да" else if [число] < [диапозон.2] then "да" else null ),
    #"Replaced Value" = Table.ReplaceValue(#"Added Conditional Column",null,"нет",Replacer.ReplaceValue,{"Custom"}),
    #"Removed Other Columns" = Table.SelectColumns(#"Replaced Value",{"Custom"})
in
    #"Removed Other Columns"
[/vba]

Автор - jakim
Дата добавления - 21.11.2022 в 11:00
dw1240 Дата: Понедельник, 21.11.2022, 11:35 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 40% ±

Вижу что выше предложенные способы дают результат.
Сейчас буду более подробно разбираться с ними и вникать.
Всем большое спасибо за помощь!
 
Ответить
СообщениеВижу что выше предложенные способы дают результат.
Сейчас буду более подробно разбираться с ними и вникать.
Всем большое спасибо за помощь!

Автор - dw1240
Дата добавления - 21.11.2022 в 11:35
dw1240 Дата: Четверг, 24.11.2022, 11:06 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 40% ±

Здравствуйте!
Благодарю ещё раз за оказанную ранее помощь!

И подскажите пожалуйста, можно ли как то доработать представленные выше решения под то, что бы работало всё также как раньше, но что бы вместо "B" было не число как раньше (одно значение), а тоже был бы диапозон значений.
Проверить попало ли ХОТЬ ОДНО число из диапозона "B" в диапозон который указан в "A". И отразить истина или ложь.

Предпочтительней бы вот на этих вариантах:

Код
=(--ЛЕВБ(A2;ПОИСК("-";A2)-1)<=B2)*(-ПСТР(A2;ПОИСК("-";A2);99)>=B2)
Код
=МЕДИАНА(--ПСТР(ПОДСТАВИТЬ(A2;"-";ПОВТОР(" ";9));{1:9};{9:9});B2)=B2
Код
=МЕДИАНА(--ПСТР(ПОДСТАВИТЬ(A2;"-";" ");{1:9};{9:9});B2)=B2


Файл с примером тоже изменил.
К сообщению приложен файл: 7933290-1-.xlsx (9.9 Kb)


Сообщение отредактировал Serge_007 - Четверг, 24.11.2022, 12:59
 
Ответить
СообщениеЗдравствуйте!
Благодарю ещё раз за оказанную ранее помощь!

И подскажите пожалуйста, можно ли как то доработать представленные выше решения под то, что бы работало всё также как раньше, но что бы вместо "B" было не число как раньше (одно значение), а тоже был бы диапозон значений.
Проверить попало ли ХОТЬ ОДНО число из диапозона "B" в диапозон который указан в "A". И отразить истина или ложь.

Предпочтительней бы вот на этих вариантах:

Код
=(--ЛЕВБ(A2;ПОИСК("-";A2)-1)<=B2)*(-ПСТР(A2;ПОИСК("-";A2);99)>=B2)
Код
=МЕДИАНА(--ПСТР(ПОДСТАВИТЬ(A2;"-";ПОВТОР(" ";9));{1:9};{9:9});B2)=B2
Код
=МЕДИАНА(--ПСТР(ПОДСТАВИТЬ(A2;"-";" ");{1:9};{9:9});B2)=B2


Файл с примером тоже изменил.

Автор - dw1240
Дата добавления - 24.11.2022 в 11:06
китин Дата: Четверг, 24.11.2022, 11:18 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация: 1078 ±
Замечаний: 0% ±

Excel 2007;2010;2016
dw1240, Прочитайте Правила форума ( касательно тэгов) и посмотрите, как оформлены формулы в первых простах


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеdw1240, Прочитайте Правила форума ( касательно тэгов) и посмотрите, как оформлены формулы в первых простах

Автор - китин
Дата добавления - 24.11.2022 в 11:18
_Boroda_ Дата: Четверг, 24.11.2022, 11:31 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Вариант Да-Нет и вариант с количеством пересечений диапАзонов

Код
=(--ЛЕВБ(A2;ПОИСК("-";A2)-1)<=-ПСТР(B2;ПОИСК("-";B2);99))*(--ЛЕВБ(B2;ПОИСК("-";B2)-1)<=-ПСТР(A2;ПОИСК("-";A2);99))

Код
=ЕСЛИОШИБКА(ЧСТРОК(ИНДЕКС(A:A;ЛЕВБ(A2;ПОИСК("-";A2)-1)):ИНДЕКС(A:A;-ПСТР(A2;ПОИСК("-";A2);99)) ИНДЕКС(A:A;ЛЕВБ(B2;ПОИСК("-";B2)-1)):ИНДЕКС(A:A;-ПСТР(B2;ПОИСК("-";B2);99)));)
К сообщению приложен файл: 7933290-1-1.xlsx (10.8 Kb)


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

Код
=(--ЛЕВБ(A2;ПОИСК("-";A2)-1)<=-ПСТР(B2;ПОИСК("-";B2);99))*(--ЛЕВБ(B2;ПОИСК("-";B2)-1)<=-ПСТР(A2;ПОИСК("-";A2);99))

Код
=ЕСЛИОШИБКА(ЧСТРОК(ИНДЕКС(A:A;ЛЕВБ(A2;ПОИСК("-";A2)-1)):ИНДЕКС(A:A;-ПСТР(A2;ПОИСК("-";A2);99)) ИНДЕКС(A:A;ЛЕВБ(B2;ПОИСК("-";B2)-1)):ИНДЕКС(A:A;-ПСТР(B2;ПОИСК("-";B2);99)));)

Автор - _Boroda_
Дата добавления - 24.11.2022 в 11:31
dw1240 Дата: Четверг, 24.11.2022, 12:41 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 40% ±

китин, Сообщение исправил.
_Boroda_, Не могу увидеть то что вы написали.
 
Ответить
Сообщениекитин, Сообщение исправил.
_Boroda_, Не могу увидеть то что вы написали.

Автор - dw1240
Дата добавления - 24.11.2022 в 12:41
dw1240 Дата: Четверг, 24.11.2022, 15:42 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 40% ±

_Boroda_, большое спасибо!
 
Ответить
Сообщение_Boroda_, большое спасибо!

Автор - dw1240
Дата добавления - 24.11.2022 в 15:42
  • Страница 1 из 1
  • 1
Поиск:

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