Помогите, пожалуйста, с формулами Excel
К большому моему сожалению, LLM, в частности ChatGPT ещё абсолютно не способна к нормальным решениям в области работы с Excel/Google Sheet. Какие бы промпты я ни создавал, нейкронка предоставляет либо ошибочные варианты решения, либо путается в синтаксисе. Скармливание ошибок ни к чему результативному не приводит.
Я попытался разобраться сам при помощи экселевских док, но моих знаний в конечном итоге не хватило, поэтому прошу вашей помощи.
Суть задачи очень простая. Есть две таблицы в Google Sheets. Необходимо, чтобы первая таблица обращалась к информации во второй и на основе неё считала итоговую стоимость. Немного конкретных данных.
Первая таблица.
B:Страна (текстовый тип данных, это важно)
C:Тариф (текстовый)
D: Кол-во единиц товара (числовой)
E:Период (числовой)
F:Цена (числовой)
Вторая таблица.
A:Тариф (текстовый тип данных)
B:Страна (текстовый тип данных)
C:Оригинальная цена (числовой)
D: Цена продажи
Что нужно: чтобы в первой таблице, при указании типа услуги, тарифа, кол-во единиц и периода таблица сама смотрела во вторую, искала совпадения и автоматически подбивала итоговую стоимость.
Совпадения нужно искать во второй таблице по колонкам A (тарифы разные, от этого зависит стоимость), B (каждой стране присвоена своя цена), C (нужно брать оригинальную стоимость). И у меня почти получилось, но я нашёл крайне странное поведение.
Суть в том, что я использую importrange для связи двух таблиц и тут начинаются самые главные танцы с бубном. Я попытался отладить свои формулы. Для этого я попытался сравнить данные, если просто их указать без импортренджа. Результат сравнения был TRUE. И вот только если я использую импортрендж, сравнение возвращает FALSE, из-за чего, как я понимаю, у меня ничего и не работает. Если я правильно понял, то проблема в том, что импортрендж - это ссылка и разумеется ссылка на объект не будет равна самим данным, потому что типы отличаются. И я решил вместо двух таблиц использовать просто разные листы в рамках одной таблицы. Но результат почему-то оказался прежним, это ни на что не повлияло.
Как итог, я попытался использовать данную формулу:
=ARRAYFORMULA(ЕСЛИ( (B3:B <> "") * (C3:C <> ""); ОКРУГЛ( Ч(D3:D) * Ч(E3:E) / 30 * 0,8 * ИНДЕКС( 'Прейскурант'!C2:C; ПОИСКПОЗ(1; ('Прейскурант'!A2:A = C3:C) * ('Прейскурант'!B2:B = B3:B); 0 ) ); 2 ); ""))
Но, к сожалению, из-за разницы в типе данных (скорее всего) мне просто не возвращается нужный результат. Помогите, пожалуйста, добрый люди.