Похожие чаты

Всем привет! Есть сложная проблема, де-факто челлендж для вас. Тестовая среда: 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 ответов

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

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

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

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

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

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

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

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

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

А кто-то пробовал, уезжая из Эстонии получить э-рез и продолжить вести предпринимательскую деятельность внутри Эстонии, используя свой OÜ?
Lalalashechki Lalala
62
isn't utxo commitements pretty close though if someone wanted to get it over the finish line? my understanding is that most of the ground work was already down by verde
Luke High - Rabbi Of Bcash High Rabbi Of Bcash
23
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
is the buyback program live and at what prices are the purchases fixed? excuse me for the bland PA question, sophisticated defi people keke
Imnothere
20
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Чем оно проблема?
Nikita Uzumaki
21
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@samkazemian - couple questions: Update on frxBTC? - This would do well with the current influx of institutional investment entering the space Update on future veFXS streams...
Costi
16
Hi, I was reading this https://twitter.com/HouseofChimera/status/1778078991762780408 about Verasity and their likely choice of Tron as blockchain for their token for its low f...
Jordi
13
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
Карта сайта