Кажется, я столкнулся с интересной ситуацией ...
В настоящее время я создаю электронную таблицу Excel, в которой у меня есть таблица с несколькими значениями. Наиболее важными столбцами этой таблицы являются "Размер", "Поставщик" и "Предложение", и таблица используется как смесь прайс-листов поставщиков. Это означает, что существует более одного предложения поставщика для одного конкретного элемента.
Требование электронной таблицы состоит в том, чтобы найти самое низкое предложение продукта, отобразить эту цену и затем сообщить пользователю, кто является Продавцом, кому принадлежит эта цена.
Вот таблица:
Предположим, что верхняя левая ячейка A1
Пользователь вводит данные в таблицу, и на основании этого лучшие предложения вычисляются в диапазонах ячеек E2:F3, где столбец E - лучшая цена, а столбец F - поставщик, которому принадлежит значение в столбце E.
Формула столбца E:
{=MIN(IF(Table2[Size]=$D$2,Table2[Offer]))} // This is an array-formula
При этом рассматривается столбец "Размер" в таблице, создается массив на основе этих ответов и добавляется цена предложения в каждом истинном результате в массив. Затем Формула проверяет этот временный массив, а затем определяет минимум в этом массиве. Эта формула работает.
Вот где проблема приходит ...
В столбце F должен отображаться поставщик. Там нет значений для расчета. Я не в состоянии заставить ценность работать. Что я смог сделать, так это получить хотя бы адрес сотовой связи. Я не могу получить значение ячейки для отображения.
Текущая формула столбца F:
{=ADDRESS(MATCH(MIN(IF(Table2[Size]=$D$2,Table2[Offer])), Table2[Offer], 0), 2, 1)} // This is an Array Formula
Результатом этой формулы является правильный столбец, но неверный ряд. В электронной таблице мои значения выводятся на 8 строк, начиная с 1. Это связано с тем, что формула просматривает номер строки в временном массиве, который является правильным ответом в области действия временного массива, но не правильным в области действия электронной таблицы, поэтому для добавления 8 к номеру строки в манипуляции требуется манипуляция. будущее использование.
Примером ответа будет что-то вроде $B$2
, но истинный ответ - $B$10
.
Это одна проблема. Следующая проблема - получить значение ячейки по этому адресу.
Для этого я рассмотрел использование в отдельной ячейке для проверки теории операций:
=CELL("contents", $manual_answer_of_above)
→ результат = исправить=INDIRECT(ADDRESS($manual_row_no, $manual_col_no))
→ Результат = Исправить=INDIRECT(ADDRESS(ROW(CELL("contents", $cell_with_address), COLUMN(CELL("contents", $cell_with_address)), 2, 1))
→ Результат = формула не принята
Что мне не хватает? Почему мои формулы не позволяют мне отображать правильного продавца?