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

Вход

Регистрация

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

 

= Мир MS Excel/Проверить наличие символов из одной ячейки в другой ячейке - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Проверить наличие символов из одной ячейки в другой ячейке (Формулы/Formulas)
Проверить наличие символов из одной ячейки в другой ячейке
Zelbr Дата: Понедельник, 24.07.2017, 13:07 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.
Решил тут на работе ускорить рутинные процессы и вот, встал вопрос.
Я получаю из автокада такой файл (примерно), как в примере.
E-I (Уровни неких элементов по длинам) таблица 20 столбцов Х МНОГО строк. (пока 100 строк, может быть больше). Т.е, Элемент L1 - на уровне 1 и 2, L2 - на ур. 3,4,5 и т.д.
K - уровни поврежденных элементов.
На выходе нужно получить таблицу с разбиением поврежденных элементов по длинам. Таблицу руками составил.

Т.е, получается, в строке 6:
Сравниваем E6 и К6 - совпали 1 и 2, в результате M6=2
F6 и K6 - ответ в N6=0, т.к. 3,4,5 в К6 нет.

Кажется, понятно описал?

В общем, нужно посчитать, сколько символов совпадает с символами в ячейках столба К.
Я так, понимаю, там нужно массивами делать?
К сообщению приложен файл: 1192986.xlsx(9Kb)
 
Ответить
СообщениеЗдравствуйте.
Решил тут на работе ускорить рутинные процессы и вот, встал вопрос.
Я получаю из автокада такой файл (примерно), как в примере.
E-I (Уровни неких элементов по длинам) таблица 20 столбцов Х МНОГО строк. (пока 100 строк, может быть больше). Т.е, Элемент L1 - на уровне 1 и 2, L2 - на ур. 3,4,5 и т.д.
K - уровни поврежденных элементов.
На выходе нужно получить таблицу с разбиением поврежденных элементов по длинам. Таблицу руками составил.

Т.е, получается, в строке 6:
Сравниваем E6 и К6 - совпали 1 и 2, в результате M6=2
F6 и K6 - ответ в N6=0, т.к. 3,4,5 в К6 нет.

Кажется, понятно описал?

В общем, нужно посчитать, сколько символов совпадает с символами в ячейках столба К.
Я так, понимаю, там нужно массивами делать?

Автор - Zelbr
Дата добавления - 24.07.2017 в 13:07
_Boroda_ Дата: Понедельник, 24.07.2017, 13:39 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10992
Репутация: 4564 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Пара вариантов. Формула массива, вводится одновременным нажатием Контрл Шифт Ентер
Код
=СЧЁТ(ПОИСК(","&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(","&E6;",";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99))&",";","&ПОДСТАВИТЬ($K6;"\P";)&","))

Код
=СЧЁТ(ПОИСК(","&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(","&ПОДСТАВИТЬ($K6;"\P";);",";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99))&",";","&E6&","))


Никак нельзя без "\P" в столбце К обойтись?
К сообщению приложен файл: 1192986_1.xlsx(13Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПара вариантов. Формула массива, вводится одновременным нажатием Контрл Шифт Ентер
Код
=СЧЁТ(ПОИСК(","&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(","&E6;",";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99))&",";","&ПОДСТАВИТЬ($K6;"\P";)&","))

Код
=СЧЁТ(ПОИСК(","&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(","&ПОДСТАВИТЬ($K6;"\P";);",";ПОВТОР(" ";99));СТРОКА($1:$9)*99;99))&",";","&E6&","))


Никак нельзя без "\P" в столбце К обойтись?

Автор - _Boroda_
Дата добавления - 24.07.2017 в 13:39
sboy Дата: Понедельник, 24.07.2017, 13:47 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 851
Репутация: 226 ±
Замечаний: 0% ±

Excel 2010
Вариант пользовательской функцией
[vba]
Код
Function Ex(ByRef Повреждения As Range, ByRef Уровень As Range) As Integer
Ex = 0
sLevel = Split(Уровень.Value, ",")
sBreak = Split(Replace(Повреждения.Value, "\P", ""), ",")
    For x = LBound(sLevel) To UBound(sLevel)
        For y = LBound(sBreak) To UBound(sBreak)
            If sLevel(x) = sBreak(y) Then Ex = Ex + 1
        Next y
    Next x
End Function
[/vba]
К сообщению приложен файл: 1192986.xlsm(16Kb)
 
Ответить
СообщениеВариант пользовательской функцией
[vba]
Код
Function Ex(ByRef Повреждения As Range, ByRef Уровень As Range) As Integer
Ex = 0
sLevel = Split(Уровень.Value, ",")
sBreak = Split(Replace(Повреждения.Value, "\P", ""), ",")
    For x = LBound(sLevel) To UBound(sLevel)
        For y = LBound(sBreak) To UBound(sBreak)
            If sLevel(x) = sBreak(y) Then Ex = Ex + 1
        Next y
    Next x
End Function
[/vba]

Автор - sboy
Дата добавления - 24.07.2017 в 13:47
Zelbr Дата: Понедельник, 24.07.2017, 13:52 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
\P - так автокад, откуда я данные получаю, обозначает "Энтер". Без него чертеж будет выглядеть пострашнее, чем сейчас.
А это поможет избавиться от тех ошибок, что сейчас получились? Можно, в принципе, сделать промежуточную колонку, где избавиться от подставить вместо \Р пустоту.
 
Ответить
Сообщение\P - так автокад, откуда я данные получаю, обозначает "Энтер". Без него чертеж будет выглядеть пострашнее, чем сейчас.
А это поможет избавиться от тех ошибок, что сейчас получились? Можно, в принципе, сделать промежуточную колонку, где избавиться от подставить вместо \Р пустоту.

Автор - Zelbr
Дата добавления - 24.07.2017 в 13:52
Zelbr Дата: Понедельник, 24.07.2017, 14:02 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
О, вот это я тупанул. Увидел ячейки, выделенные красным и сразу "увидел" там неверный ответ.
Да, так работает же все.
Вот, спасибо!!

Вариант пользовательской функцией


Тоже спасибо, но у нас тут все боятся разрешать работу "всяких там макросов и вообще"
 
Ответить
СообщениеО, вот это я тупанул. Увидел ячейки, выделенные красным и сразу "увидел" там неверный ответ.
Да, так работает же все.
Вот, спасибо!!

Вариант пользовательской функцией


Тоже спасибо, но у нас тут все боятся разрешать работу "всяких там макросов и вообще"

Автор - Zelbr
Дата добавления - 24.07.2017 в 14:02
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Проверить наличие символов из одной ячейки в другой ячейке (Формулы/Formulas)
Страница 1 из 11
Поиск:

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