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

Вход

Регистрация

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

 

= Мир MS Excel/Сверка двух таблиц - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сверка двух таблиц (Формулы/Formulas)
Сверка двух таблиц
Паштет Дата: Понедельник, 23.09.2019, 12:07 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Есть две таблицы. В первой перечень материалов с их номенклатурными номерами, где каждому материалу присвоен только один номер и хранится он в отдельной ячейке. Во второй таблице также перечень, но у одного и тоже же материала может быть несколько номенклатурных номеров, которые записаны все в одной ячейке через "; ". Номера есть как 8, так и 12 значные (пример: 111120970000; 11107641; 111502950000; 11313300). Количество таких номеров доходит от 1 до 10. Нужно проверить в первой таблице все совпадения по номеру со второй (достаточно, чтобы один из номеров второй таблицы совпадал с номером из первой таблицы).

Для решения логично применить ВПР, но надо отделить как-то номера друг от друга. Как решение, решил сделать дополнительные столбцы, чтобы можно было в них выписать каждый номер, а дальше ВПР пробить все дополнительные столбцы и функцией ИЛИ вывести результат. Однако запутался с выводом этих номеров:
для первого номера всё легко:
Код
=ПСТР($C119;1;НАЙТИ(";";$C119;1)-1)
, а вот для последующего никак не получается реализовать, так, чтобы он находил текст между первой парой знаков "; ", что-то тут не так
Код
=ПСТР($C119;ПОИСК(";";$C119;1)+2;НАЙТИ(";";$C119;ПОИСК(";";$C119;1))-1)
 
Ответить
СообщениеЕсть две таблицы. В первой перечень материалов с их номенклатурными номерами, где каждому материалу присвоен только один номер и хранится он в отдельной ячейке. Во второй таблице также перечень, но у одного и тоже же материала может быть несколько номенклатурных номеров, которые записаны все в одной ячейке через "; ". Номера есть как 8, так и 12 значные (пример: 111120970000; 11107641; 111502950000; 11313300). Количество таких номеров доходит от 1 до 10. Нужно проверить в первой таблице все совпадения по номеру со второй (достаточно, чтобы один из номеров второй таблицы совпадал с номером из первой таблицы).

Для решения логично применить ВПР, но надо отделить как-то номера друг от друга. Как решение, решил сделать дополнительные столбцы, чтобы можно было в них выписать каждый номер, а дальше ВПР пробить все дополнительные столбцы и функцией ИЛИ вывести результат. Однако запутался с выводом этих номеров:
для первого номера всё легко:
Код
=ПСТР($C119;1;НАЙТИ(";";$C119;1)-1)
, а вот для последующего никак не получается реализовать, так, чтобы он находил текст между первой парой знаков "; ", что-то тут не так
Код
=ПСТР($C119;ПОИСК(";";$C119;1)+2;НАЙТИ(";";$C119;ПОИСК(";";$C119;1))-1)

Автор - Паштет
Дата добавления - 23.09.2019 в 12:07
китин Дата: Вторник, 24.09.2019, 08:46 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Паштет, - Прочитайте Правила форума
- Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума
Без файла текст по столбцам не прокатит?


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеПаштет, - Прочитайте Правила форума
- Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума
Без файла текст по столбцам не прокатит?

Автор - китин
Дата добавления - 24.09.2019 в 08:46
Паштет Дата: Вторник, 24.09.2019, 09:10 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
По приложенному файлу: на листе 1 в столбце Е мы должны получить результат по наличию подобного номера столбца С этого же листа и одного из номеров столбца С на листе 2. Сравнивать можно только по столбцам С, тк в D наименования могут варьироваться по написанию.

Стал пробовать через формулу:
Код
=ПСТР(ПРАВСИМВ($C119;ДЛСТР($C119)-ДЛСТР($S119)-ДЛСТР($T119)-4);1;НАЙТИ(";";ПРАВСИМВ($C119;ДЛСТР($C119)-ДЛСТР($S119)-ДЛСТР($T119)-4);1)-1)
на листе два, чтобы хоть как-то распихнуть номера, но если номер становится последним в строке, то выдает ошибку.
К сообщению приложен файл: 5415798.xlsx (25.6 Kb)
 
Ответить
СообщениеПо приложенному файлу: на листе 1 в столбце Е мы должны получить результат по наличию подобного номера столбца С этого же листа и одного из номеров столбца С на листе 2. Сравнивать можно только по столбцам С, тк в D наименования могут варьироваться по написанию.

Стал пробовать через формулу:
Код
=ПСТР(ПРАВСИМВ($C119;ДЛСТР($C119)-ДЛСТР($S119)-ДЛСТР($T119)-4);1;НАЙТИ(";";ПРАВСИМВ($C119;ДЛСТР($C119)-ДЛСТР($S119)-ДЛСТР($T119)-4);1)-1)
на листе два, чтобы хоть как-то распихнуть номера, но если номер становится последним в строке, то выдает ошибку.

Автор - Паштет
Дата добавления - 24.09.2019 в 09:10
Kostya_Ye Дата: Вторник, 24.09.2019, 09:26 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 271
Репутация: 228 ±
Замечаний: 0% ±

Excel 2016
Паштет,
добрый день, так нужно ?
Код
=IF(MIN(IF(ISNUMBER(SEARCH(C3;Лист2!$C$3:$C$12;1));ROW(Лист2!$C$3:$C$12);0))<>0;"есть";"нет")
 
Ответить
СообщениеПаштет,
добрый день, так нужно ?
Код
=IF(MIN(IF(ISNUMBER(SEARCH(C3;Лист2!$C$3:$C$12;1));ROW(Лист2!$C$3:$C$12);0))<>0;"есть";"нет")

Автор - Kostya_Ye
Дата добавления - 24.09.2019 в 09:26
Паштет Дата: Вторник, 24.09.2019, 11:01 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Да. Подставил в маленький пример все работает, а вот в полной таблице не хочет. При просмотре пересчета в первом поиске ошибка #знач. Возможно здесь идет проблема от того, что в оригинале перед номерами стоит знак *. Я с помощью формулы:
Код
=ЗНАЧЕН(ЕСЛИ(ДЛСТР(D10)=9;ПРАВСИМВ(D10;8);ПРАВСИМВ(D10;12)))

убираю эту звездочку, но форматы мне кажется все равно не сходятся.


Сообщение отредактировал Паштет - Вторник, 24.09.2019, 12:33
 
Ответить
СообщениеДа. Подставил в маленький пример все работает, а вот в полной таблице не хочет. При просмотре пересчета в первом поиске ошибка #знач. Возможно здесь идет проблема от того, что в оригинале перед номерами стоит знак *. Я с помощью формулы:
Код
=ЗНАЧЕН(ЕСЛИ(ДЛСТР(D10)=9;ПРАВСИМВ(D10;8);ПРАВСИМВ(D10;12)))

убираю эту звездочку, но форматы мне кажется все равно не сходятся.

Автор - Паштет
Дата добавления - 24.09.2019 в 11:01
Паштет Дата: Вторник, 24.09.2019, 13:00 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Не то. Понял почему не работает. Он ищет ровно ту же по счету строку. У меня все в разнобой, то есть на листе 1 она может быть на пером месте, а на листе 2 на условном 33.
 
Ответить
СообщениеНе то. Понял почему не работает. Он ищет ровно ту же по счету строку. У меня все в разнобой, то есть на листе 1 она может быть на пером месте, а на листе 2 на условном 33.

Автор - Паштет
Дата добавления - 24.09.2019 в 13:00
Nic70y Дата: Вторник, 24.09.2019, 13:03 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(--ПОДСТАВИТЬ(C3;"*";);Лист2!C:C;))+ЕЧИСЛО(ПОИСКПОЗ("*"&C3&"*";Лист2!C:C;));"есть";"нет")


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСКПОЗ(--ПОДСТАВИТЬ(C3;"*";);Лист2!C:C;))+ЕЧИСЛО(ПОИСКПОЗ("*"&C3&"*";Лист2!C:C;));"есть";"нет")

Автор - Nic70y
Дата добавления - 24.09.2019 в 13:03
Паштет Дата: Вторник, 24.09.2019, 13:39 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Нет, не то. Считает не верно.
Файлик обновил, для наглядности.
К сообщению приложен файл: 1406771.xlsx (25.6 Kb)
 
Ответить
СообщениеНет, не то. Считает не верно.
Файлик обновил, для наглядности.

Автор - Паштет
Дата добавления - 24.09.2019 в 13:39
Nic70y Дата: Вторник, 24.09.2019, 14:51 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
Считает не верно
где?
К сообщению приложен файл: 5071663.xlsx (26.8 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Считает не верно
где?

Автор - Nic70y
Дата добавления - 24.09.2019 в 14:51
Паштет Дата: Вторник, 24.09.2019, 15:44 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Работает. Руки у меня кривоваты просто. Спасибо.
 
Ответить
СообщениеРаботает. Руки у меня кривоваты просто. Спасибо.

Автор - Паштет
Дата добавления - 24.09.2019 в 15:44
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сверка двух таблиц (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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