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

Вход

Регистрация

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

 

= Мир MS Excel/Найти соответствие по нескольким столбцам - Мир MS Excel

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

Добрый день, подскажите пожалуйста, можно ли написать формулу, которая проставляла бы соответствующее значение(код) из одного файла в другой по двум или лучше трем значениям из столбцов.
Например из файла 1. проставит Код(1-й столбец) в файле 2. если в этих файлах совпадут значения из столбцов: "Получатель_ОКПО", "Описание" и "Sum" или только по: "Описание" и "Sum" .
В столбце Описание находится текст, число символов может достигать 450
К сообщению приложен файл: 0602443.xlsx (12.5 Kb) · 7200005.xlsx (10.8 Kb)
 
Ответить
СообщениеДобрый день, подскажите пожалуйста, можно ли написать формулу, которая проставляла бы соответствующее значение(код) из одного файла в другой по двум или лучше трем значениям из столбцов.
Например из файла 1. проставит Код(1-й столбец) в файле 2. если в этих файлах совпадут значения из столбцов: "Получатель_ОКПО", "Описание" и "Sum" или только по: "Описание" и "Sum" .
В столбце Описание находится текст, число символов может достигать 450

Автор - hatter
Дата добавления - 08.07.2015 в 11:34
_Boroda_ Дата: Среда, 08.07.2015, 11:39 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация: 6612 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=СУММПРОИЗВ((C2=[0602443.xlsx]Лист1!D$2:D$999)*(D2=[0602443.xlsx]Лист1!E$2:E$999)*(E2=[0602443.xlsx]Лист1!F$2:F$999)*[0602443.xlsx]Лист1!A$2:A$999)

Книга 0602443 может быть закрыта.
Можно было бы еще
Код
=СУММЕСЛИМН([0602443.xlsx]Лист1!A$2:A$999;[0602443.xlsx]Лист1!D$2:D$999;C2;[0602443.xlsx]Лист1!E$2:E$999;D2;[0602443.xlsx]Лист1!F$2:F$999;E2)

но длина описания у Вас бывает больше 255 символов
К сообщению приложен файл: 7200005_1.xlsx (16.9 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=СУММПРОИЗВ((C2=[0602443.xlsx]Лист1!D$2:D$999)*(D2=[0602443.xlsx]Лист1!E$2:E$999)*(E2=[0602443.xlsx]Лист1!F$2:F$999)*[0602443.xlsx]Лист1!A$2:A$999)

Книга 0602443 может быть закрыта.
Можно было бы еще
Код
=СУММЕСЛИМН([0602443.xlsx]Лист1!A$2:A$999;[0602443.xlsx]Лист1!D$2:D$999;C2;[0602443.xlsx]Лист1!E$2:E$999;D2;[0602443.xlsx]Лист1!F$2:F$999;E2)

но длина описания у Вас бывает больше 255 символов

Автор - _Boroda_
Дата добавления - 08.07.2015 в 11:39
hatter Дата: Среда, 08.07.2015, 12:29 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 160
Репутация: 0 ±
Замечаний: 0% ±

Так нужно?

Абсолютно верно! Спасибо за помощь!
 
Ответить
Сообщение
Так нужно?

Абсолютно верно! Спасибо за помощь!

Автор - hatter
Дата добавления - 08.07.2015 в 12:29
enzo Дата: Среда, 08.07.2015, 14:21 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 74
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
А можно пояснение первой формуле дать , а то никак не могу разобраться ( Вроде понимаю - C2=[0602443.xlsx]Лист1!D$2:D$999 - он ищет из массив d2-d99 тождество - C2, таким же образом находится и D2, E2 -а потом он умножается на массив а2-а999 , вот тут начинается у меня глюки, как все же в итоге получается этот КОД вытянуть ? )
 
Ответить
СообщениеА можно пояснение первой формуле дать , а то никак не могу разобраться ( Вроде понимаю - C2=[0602443.xlsx]Лист1!D$2:D$999 - он ищет из массив d2-d99 тождество - C2, таким же образом находится и D2, E2 -а потом он умножается на массив а2-а999 , вот тут начинается у меня глюки, как все же в итоге получается этот КОД вытянуть ? )

Автор - enzo
Дата добавления - 08.07.2015 в 14:21
_Boroda_ Дата: Среда, 08.07.2015, 14:35 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация: 6612 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Первая скобка - массив, состоящий их ИСТИНА и ЛОЖЬ.
Вторая и третья скобки - аналогично.
Перемножаем эти 3 массива, получаем массив из 1 и 0. 1 только там, где ИСТИНА в каждом из трех массивов - совпадают все три условия.
Умножаем полученное на массив с кодами - получаем массив из нулей и одного кода.
Складываем это все.

Работает только в том случае, если нет повторов по всем трем полям сразу.
Если такие повторы есть, то можно использовать формулу массива
Код
=ИНДЕКС([0602443.xlsx]Лист1!A$2:A$999;ПОИСКПОЗ(C2&D2&E2;[0602443.xlsx]Лист1!D$2:D$999&[0602443.xlsx]Лист1!E$2:E$999&[0602443.xlsx]Лист1!F$2:F$999;))

но она тоже упирается в количество символов в поле Описание


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПервая скобка - массив, состоящий их ИСТИНА и ЛОЖЬ.
Вторая и третья скобки - аналогично.
Перемножаем эти 3 массива, получаем массив из 1 и 0. 1 только там, где ИСТИНА в каждом из трех массивов - совпадают все три условия.
Умножаем полученное на массив с кодами - получаем массив из нулей и одного кода.
Складываем это все.

Работает только в том случае, если нет повторов по всем трем полям сразу.
Если такие повторы есть, то можно использовать формулу массива
Код
=ИНДЕКС([0602443.xlsx]Лист1!A$2:A$999;ПОИСКПОЗ(C2&D2&E2;[0602443.xlsx]Лист1!D$2:D$999&[0602443.xlsx]Лист1!E$2:E$999&[0602443.xlsx]Лист1!F$2:F$999;))

но она тоже упирается в количество символов в поле Описание

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

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