Григорий Боев
@ProgrammerForever Куратор тега Google Sheets
Учитель, автоэлектрик, программист, музыкант
Если используете результаты работы chatGPT, то имейте ввиду что он выдает запятые вместо привычных нам точек с запятой. Это не ошибка, это особенность локализации.
да вы правы, chatGPT ставит запятые вместо точки с запятой.
В общем я попробовал эту простую формулу интегрировать в мою основную формулу, и гугл таблицы ругается на количество аргументов , не пойму в каком именно IF :
=ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ(ПРАВСИМВ(A1; ДЛСТР(A1) - 2); A:A; 0); ЛОЖЬ); 0; ЕСЛИОШИБКА(ВПР(A1 & "USDT"; price!A:B; 2; ЛОЖЬ) * B1; ЕСЛИОШИБКА(ВПР(A1 & "BTC"; price!A:B; 2; ЛОЖЬ) * $C$1 * B1; ЕСЛИ(ЛЕВСИМВ(A1; 2) = "LD"; ЕСЛИ(ЕСЛИОШИБКА(ВПР(ПРАВСИМВ(A1; ДЛСТР(A1) - 2) & "USDT"; price!A:B; 2; ЛОЖЬ) * B1; ЕСЛИОШИБКА(ВПР(ПРАВСИМВ(A1; ДЛСТР(A1) - 2) & "BTC"; price!A:B; 2; ЛОЖЬ) * $C$1 * B1; ЕСЛИ(ИЛИ(A1 = "LDUSDT"; A1 = "USDT"); 1 * B1; "Нет цены для монеты и USDT или BTC")))); "Нет цены для монеты и USDT или BTC"))))
Написано
Григорий Боев
@ProgrammerForever Куратор тега Google Sheets
Вот что тот же жпт выдаёт, если попросить его переписать:
=LET(
symbol, ПРАВСИМВ(A1, ДЛСТР(A1) - 2),
getPrice, ВПР(symbol, price!A:B, 2, ЛОЖЬ),
usdtPrice, ЕСЛИОШИБКА(getPrice & "USDT" * B1, 0),
btcPrice, ЕСЛИОШИБКА(getPrice & "BTC" * $C\$1 * B1, 0),
ldUsdtPrice, ЕСЛИ(ЛЕВСИМВ(A1, 2) = "LD",
ЕСЛИОШИБКА(getPrice & "USDT" * B1,
ЕСЛИОШИБКА(getPrice & "BTC" * $C\$1 * B1,
ЕСЛИ(ИЛИ(A1 = "LDUSDT", A1 = "USDT"), 1 * B1, "Нет цены для монеты и USDT или BTC")
)
),
"Нет цены для монеты и USDT или BTC"
)
)
Но, по-моему, тоже шляпа (не проверял, не знаю исходной задачи).
Озвучьте исходную задачу, приведите примеры, попробуйте написать формулу сами. Это более эффективно. Если хотите быстрого решения - пишите в личку, помогу