#google-sheets #indexing #match
#google-sheets #индексирование #совпадение
Вопрос:
Я пытаюсь отсортировать длинную таблицу, чтобы нам было легче анализировать данные. Какие данные у меня есть?
- Столбец A: название продукта
- Столбец B: дата (начало)
- Столбец C: дата (конец)
- Столбец D: цена
Что мне нужно сделать, так это сделать обзор всех продуктов и их цен на определенную дату, чтобы я мог легко составить график, показывающий изменения цен с течением времени. Я могу сделать это с помощью сводной таблицы, это работает. Но мне это также нужно как формула.
Теперь я использую: =iferror(index($D$2:$D; match($G3; $A$2:$A; 0); match(H$2; $B$2:$B; 0)))
но проблема в том, что он возвращает значение только одной даты, а не для других дат (я думаю, потому что он ищет одно значение, а не несколько значений)
Возможно ли это с помощью комбинации функций match ( и index(?
Как я могу решить эту проблему? Я надеюсь, что вы, ребята, сможете мне помочь. Пожалуйста, найдите ссылку на тестовую таблицу здесь: https://docs.google.com/spreadsheets/d/1llvpWCF0VRQMPwDGtQZ0qBiuCIsQBqeJtr7KCq7PBvg/edit?usp=sharing
Заранее благодарю вас!
Ответ №1:
Это связано с тем, что третий аргумент INDEX
функции должен указывать на номер столбца из первого аргумента. В вашем случае есть только один столбец — $D$2:$D
и если третий аргумент возвращает что-либо, кроме одного, результатом будет ошибка, а формула возвращает пустую строку.
Вместо этого используйте:
=iferror(index($D$2:$D; match(1;($G3=$A$2:$A)*(H$2=$B$2:$B); 0)))
Комментарии:
1. большое вам спасибо. У меня есть дополнительный вопрос, и я надеюсь, что вы знаете ответ. Можно ли также искать совпадение в диапазоне дат? Например, если дата находится между 30-9-2011 и 1-10-2011 с ценой 1600 евро за продукт A, он также примет эту цену за столбец K (1-10-2011). Итак, «последняя известная цена». Возможно ли это? Спасибо!
2. @SamiChouchane Да, это возможно. Изменить
(H$2=$B$2:$B)
на(H$2>=$B$2:$B)*(H$2<=$C$2:$C)
3. Спасибо, я пытался сделать все это в пределах (H $ 2 = $ B $ 2: $ B), но это не сработало. Это работает!