Похожие чаты

Всем привет! Есть сложная проблема, де-факто челлендж для вас. Тестовая среда: 1.

Создайте связанный тип данных CurrencyPair: просто впишите в ячейку для наглядности и грусти по былым временам "доллар по 20" значение USD/RUB куда-нибудь в A1, R1L1, R1C1 или в табличном гиперпространстве Лобачевского, мне плевать, короче, в первой ячейке для простоты;
2. Создайте в Диспетчере имен функцию CurrencyAtDate, в тело вставьте это дерьмо:

=LAMBDA(StartDate;Currency;
LET(
EndDate; КОНМЕСЯЦА(StartDate; 0);
Dates; ПОСЛЕД(EndDate-StartDate+1;1;StartDate;1);
Values; ИСТОРИЯАКЦИЙ(Currency; Dates; Dates; 0; 0; 1);
ValidValues; ФИЛЬТР(Values; НЕ(ЕОШИБКА(Values)));
FirstValidValue; ИНДЕКС(ValidValues; 1; 1);
FirstValidValue
)
)

3. Создайте в любой другой ячейке функцию:

=LET(
StartDate; ДАТА(2022;1;1);
MonthsPassed; РАЗНДАТ(StartDate; СЕГОДНЯ(); "M");
Dates; ДАТАМЕС(StartDate; ПОСЛЕД(MonthsPassed+1;1;0;1));
Currency; A1;
RowValues;BYROW(Dates;LAMBDA(date; ЕСЛИОШИБКА(CurrencyAtDate(date; Currency); 0)));
RowValues
)

где A1 - это ваша ячейка со значением USD/RUB, которую Ехель должен преобразовать в связанный тип данных CurrencyPair по клику на кнопку "Валюты" в секции "Типы данных" ленты "Данные".

Ну или просто wellcum to Песочница для теста с правом на редактирование. Пароль: 0000PB

Проблема в том, что CurrencyAtPair() считает иногда с ошибкой, ошибка нормально обрабатывается и подставляется 0, что и отображается в ячейке. Хотя, если тестить отдельно для каждого значения в массиве Dates в той функции LET(), то именованная функция отрабатывает нормально. Почему так? Так происходит для любой пары валют.

P. S. Объяснение для именованной лямбда-функции: она ищет первое валидное значение курса валюты для торговых дней, пропуская неторговые дни.

P. P. S. Объяснение для LET-функции: она вызывает лямбда-функцию для каждого месяца, так как лямбда сама по себе считает курс только для одного-единственного месяца. Формулы разделены для наглядности, которой нет.

4 ответов

18 просмотров
Kenya-West-️ Автор вопроса

До сих пор не решил проблему...

Kenya-West-️ Автор вопроса

Вау! Спасибо! Отлично работает! через =MAP() не пробовал, если честно, да и не знал о нем. Сейчас восстановлю в голове контекст, зачем я вообще хотел это применить, разберу формулу по частям и применю в своём калькуляторе подписок

Mikhail Muzykin, твою репутацию увеличил Kenya-West. Репутация - 192 Респект от Excel Hacks

Kenya-West ️
Вау! Спасибо! Отлично работает! через =MAP() не пр...

очень странно, MAP появился немножко раньше, чем BYROW и в данном случае его использование максимально оправдано. а по работоспособности - обратите внимание, что для ИСТОРИЯАКЦИЙ можно задавать диапазон дат - и она сама выбирает те, на которые есть данные; а вот в случае генерации котировок на все даты с последующей фильтрацией ошибок оно падает - не знаю, вылечат или нет, новые функции реально очень "капризные"

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Карта сайта