Я пытаюсь создать инструмент, который будет принимать количество, которое кто-то ввел, и значение для количества, а затем умножать эти два. Значения для этих типов (иначе размеры) размещены в таблицах на отдельных листах. Мне нужна помощь в создании формулы в ColG на входном листе. Для простоты я не создал проверку данных для ColD и ColE, но они будут там.
Для ясности, colE на входном листе перечисляет числа, но, по сути, это просто метки. С тем же успехом это могут быть Большие, Средние, Маленькие, Синие, Зеленые и так далее.
Вот пример входного листа:
Вот источник данных a. Обратите внимание: столбцы A: C — это одна таблица, а E: J — другая таблица, в которой строка заголовка заполнена A2: A:
Вот источник b: Cols A: B - это одна таблица, а D: I - в другой таблице, а строка заголовка заполнена A2: A.
Вот ссылка на образец документа — я был бы очень рад, если бы кто-нибудь мог рассказать мне о формуле, которую они используют. Я не уверен, какие формулы использовать здесь, и хотел бы посмотреть некоторые учебные пособия после получения помощи, поэтому, надеюсь, я смогу сделать это сам в будущем.
Обновлено: я обновил лист, чтобы формула @Twilight теперь находилась на входе G2 и G3. Пытаюсь получить формулу массива в G1
На входном листе я выбрал тип B и размер 10x8. Это соответствует H2. источники данных имеют две таблицы с каждым листом. Используя soucre b в качестве примера — столбец G, H, I автоматически извлекается из столбца A2: A. Всякий раз, когда добавляется новый тип, в эту таблицу добавляется новый столбец.
Пытаться:
=IF(REGEXMATCH(A2,"[0-9]"),INDIRECT("'Source A'!"&ADDRESS(MATCH(B2,'Source A'!E:E,0),MATCH(A2,'Source A'!$1:$1,0),4)),INDIRECT("'Source B'!"&ADDRESS(MATCH(B2,'Source B'!F:F,0),MATCH(A2,'Source B'!$1:$1,0),4)))*C2
Приведенная выше формула будет определять конкретный тип (столбец A) и размер (столбец B), которые вы ввели из входного листа, и искать соответствующие значения либо в источнике A, либо в источнике B, а затем умножая это значение на QTY.
Обратите внимание, что заголовок, который у вас есть в источнике A или B, должен точно совпадать с входным листом столбца A.
Результат:
Ссылка:
большое спасибо. это определенно делает то, что я хочу. Поля A и B будут проверяться из диапазонов, чтобы облегчить проблему, с которой вы столкнулись при форматировании. Не могли бы вы понять, что я делаю неправильно при преобразовании этого в массив? = {"Output";ARRAYFORMULA(IF(REGEXMATCH(A2:A,"[0-9]"),INDIRECT("'Source A'!"&ADDRESS(MATCH(B2:B,'Source A'!E:E,0),MATCH(A2:A,'Source A'!$1:$1,0),4)),INDIRECT("'Source B'!"&ADDRESS(MATCH(B2:B,'Source B'!F:F,0),MATCH(A2:A,'Source B'!$1:$1,0),4)))*C2:C)}
Я также попытался заменить в именованном диапазоне, который сочетает в себе все размеры из A со всеми размерами из B, которые также сломались. Если бы вы могли предложить настройку, я весь внимание. ваше здоровье
Извините, я не могу сформулировать его с помощью формулы массива, он продолжает возвращать только первый результат по всем данным. Это формула, которую я придумал, однако вам нужно перетащить ее ниже по вашим данным.
понял и спасибо. я оставлю его открытым, если у кого-то еще есть какие-либо идеи.
@ Мартин, возможно, вы знаете, как превратить это в формулу массива? Я знаю, что косвенное не работает, но не знаю, как его настроить.
Не могли бы вы уточнить, как вы получаете значение
160.0
? Разве строкаType A
не должна соответствовать столбцуType A
в источнике B, который равен 285,6?