Когда Excel возвращает дату на основе ввода текстовой ячейки

У меня есть самодельная рабочая тетрадь в формате excel для работы. На одном листе (назовем его Листом 1) я перечисляю наших основных поставщиков, их адреса, сколько товаров мы приобрели и общую сумму потраченных средств.

Например. Поставщик 1, адрес, # купленных товаров, всего

На отдельном листе (Лист 2) в той же книге у меня есть полная разбивка заказа (Дата, Поставщик, Клиент, Сумма, Элементы и т. Д.) Для данных примерно за 10 лет (около 1000 строк данных).

Например. Дата заказа, клиент, номер заказа на продажу, поставщик, позиция, стоимость и т. Д.

На листе 1 я хочу, чтобы он автоматически отображал дату самого последнего заказа, связанного с этим поставщиком, на основе информации из листа 2. Таким образом, он будет выглядеть примерно так:

Например. Поставщик 1. Адрес, количество приобретенных товаров, всего, (дата последнего заказа на листе 2)

Я думаю, мне нужно использовать ПРОСМОТР, ИНДЕКС, ПОИСКПОЗ или комбинацию всех трех.

Все решения, которые я нашел в Интернете, имеют дело с диапазоном дат, я хочу, чтобы для этого была указана одна конкретная дата, связанная с этим конкретным поставщиком. К сожалению, я не могу предоставить изображения, так как данные являются конфиденциальными. Кто-нибудь может помочь?

Изменить: я не знаю, поможет ли это, но для расчета стоимости определенных элементов в книге я использовал эту формулу: = ПРОСМОТР (MATCH (N2, Calcs! B $ 1: B $ 147,0), Calcs! A $ 1: 147 австралийских долларов, расчетные суммы! 1 доллар: 147 канадских долларов)


person Matthew Perryman    schedule 10.03.2016    source источник


Ответы (2)


В зависимости от версии Excel вы можете использовать одно из следующих:

2007 или ранее эта формула массива:

=MAX(IF('Sheet2'!$D$1:$D$100=A2,'Sheet2'!$A$1:$A$100))

Это массив, поэтому Ctrl-Shift-Enter при выходе из режима редактирования.

2010 или новее:

=Aggregate(14,6,'Sheet2'!$A$1:$A$100/('Sheet2'!$D$1:$D$100=A2),1)

Если у вас установлена ​​последняя версия Excel с Office 365 или вы используете онлайн-версию, то:

=MAXIFS('Sheet2'!$A$1:$A$100,'Sheet2'!$D$1:$D$100,A2)
person Scott Craner    schedule 10.03.2016
comment
Я сделал это с помощью Excel 03, но теперь я использую Excel 16. Также извиняюсь за отсутствие знаний, но что такое Aggregate? - person Matthew Perryman; 10.03.2016
comment
Агрегат не будет работать в 2003 году, но он представляет собой совокупность формул, которая позволяет создавать массивы без использования CSE. Первый критерий14 - для Large (). Второй 6 указывает ему игнорировать ошибки. Третий создает массив чисел и ошибок, ошибки игнорируются. Последний 1 указывает формулу, по которой вы хотите получить 1-й по величине или максимум. - person Scott Craner; 10.03.2016
comment
Просто попробовал агрегат, и он отлично сработал, я предполагаю, что он будет автоматически обновляться по мере продвижения. Я ломал голову над тем, как заставить Lookup работать с этим. Большое спасибо. - person Matthew Perryman; 10.03.2016
comment
Теперь использовал это для вкладки клиентов, которую я только что добавил, еще раз спасибо. - person Matthew Perryman; 10.03.2016

Вы пробовали следующую формулу массива?

=MAX(IF($D$2:$D$7=$A2,$E$2:$E$7,0))

введите описание изображения здесь

Обратите внимание, что вы можете использовать формулу Evaluate, чтобы увидеть, как она работает, и вам нужно нажать ctrl + shift + enter после ввода формулы, чтобы получить фигурные скобки на каждом конце, которые изменяют поведение на формулу массива.

С уважением,

Джеймс

person James Scott    schedule 10.03.2016
comment
Привет, Джеймс, у меня нет, но я добавлю его в свою вкладку «Расчеты» и поиграю с ним позже. - person Matthew Perryman; 10.03.2016
comment
Я пробовал использовать эту формулу, но так как мои данные находятся в двух отдельных частях, я по какой-то причине не могу использовать знаки доллара для ссылки на ячейки. - person Matthew Perryman; 10.03.2016
comment
Привет, Мэтью, я не могу это воспроизвести - моя формула перемещения данных на лист 2 выглядит следующим образом: {= MAX (IF (Sheet2! $ A $ 2: $ A $ 7 = $ A2, Sheet2! $ B $ 2: $ B $ 7) , 0))}. Ваши данные находятся на втором листе в таблице? (Вставка - ›Таблица) - person James Scott; 10.03.2016
comment
Чтобы ответить на ваш вопрос, да, у меня есть две таблицы, одна на листе 1, где я хочу, чтобы даты отображались, и основные необработанные данные на листе 2. Я попробую еще раз в какой-то момент сегодня и обновлю вас. - person Matthew Perryman; 11.03.2016
comment
Спасибо за вашу приверженность, Мэтью, всего наилучшего. Джеймс - person James Scott; 26.03.2016