Excel — история запасов + VSTACK

Я работаю над функцией STOCKHOSTORY, чтобы получать данные о более чем 50 акциях/тиккерах; затем я пытаюсь поместить их в запрос мощности. Проблема 1. Каждый массив истории акций размещается после определенного интервала столбцов, например: A:D, E:H...

Я думал об использовании VSTACK (чтобы поместить их один под другим, а затем легко импортировать в PQ), но я не уверен, как складывать разные массивы без жесткого кодирования всех массивов в 1 формуле. Можем ли мы использовать рекурсию LAMBDA для достижения того же?

Изображение массивов Excel — история запасов + VSTACK

Это с формулой VSTACK Excel — история запасов + VSTACK

STOCKHISTORY(A1,TODAY()-10,TODAY(),0,1,0,1,2,3,4)

VSTACK(A2#,G2#,M2#,S2#,Y2#)

У вас есть образец данных с ожидаемыми результатами? TOCOL() может работать здесь, или в противном случае есть конструкция, использующая REDUCE() в VSTACK() разные массивы, перебирая их в цикле.

JvdV 21.08.2023 11:58

@JvdV Я добавил изображение массивов в основной вопрос, пожалуйста, проверьте.

Mamamiya7 21.08.2023 12:57

@ Mamamiya7, у тебя нет времени, чтобы ответить тем, кто опубликовал сообщение Answers, обмен отзывами и принятие ответов сообщают нам, что проблема решена.

Mayukh Bhattacharya 22.08.2023 12:20
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
3
61
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам нужно REDUCE для этого:

=LET(shares,A1:A3,
λgetStockData,LAMBDA(a,STOCKHISTORY(a,TODAY()-10,TODAY(),0,1,0,1,2,3,4)),
DROP(IFERROR(
    REDUCE("",shares,LAMBDA(result,share,VSTACK(result,share,λgetStockData(share))))
,""),1))

Я помещаю соответствующие акции в A1:A3.

Хороший. Вы можете использовать TOCOL(1:1,1) для shares, чтобы использовать данные, опубликованные автором темы.

P.b 21.08.2023 16:03

Это сработало для меня. Спасибо @P.b

Mamamiya7 22.08.2023 15:24

Вот мой личный взгляд на то, что вам нужно:

Формула в A3:

=DROP(UNIQUE(REDUCE("",TOROW(1:1,3),LAMBDA(x,y,IFNA(VSTACK(x,HSTACK("Exchange\Stock",STOCKHISTORY(y,TODAY()-10,TODAY(),0,1,0,1,2,3,4))),y)))),1)

Хорошее использование уникальности, чтобы заголовок не повторялся в данных.

P.b 21.08.2023 15:59

Я не пробовал этого, так как не понял, плюс ответ @P.b сработал хорошо

Mamamiya7 22.08.2023 15:28

Другие вопросы по теме