[[20231231164452]] 『ラムダ関数とヘルパー関数、スピルを使いこなした』(きなこもち) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ラムダ関数とヘルパー関数、スピルを使いこなしたい』(きなこもち)

初めて投稿します。
どなたかご存じの方がいれば教えていただきたいです。
下記の二つの表(a1~a2とb1~3)からひとつずつ組み合わせた結果を、
c1のみに数式を入れてc1~d6にスピルで反映して一発で組み合わせ結果を
出してみたいのですが、
ラムダやそのヘルパー関数等を使ってそれは可能でしょうか?

     A   B   C   D      
1 a子   c男  a子   c男
2 b子   d男  a子   d男   
3      e男  a子   e男
4         b子   c男
5         b子   d男
6                  b子   e男

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 =LAMBDA(list1,list2,HSTACK(TOCOL(IF(SEQUENCE(1,COUNTA(list2)),list1)),TOCOL(IF(SEQUENCE(COUNTA(list1),1),TRANSPOSE(list2)))))(A1:A2,B1:B3)
 とか
(´・ω・`) 2023/12/31(日) 19:27:22

 こんなのも。
 =LAMBDA(a,b,DROP(REDUCE(0,a,LAMBDA(s,i,VSTACK(s,HSTACK(IF(b=b,i),b)))),1))(A1:A2,B1:B3)

 さらにC列も追加するときは
    A  B C  D  E F 
 1 a子 c男 1 a子 c男 1 
 2 b子 d男 2 a子 c男 2 
 3    e男 3 a子 c男 3 
 4      4 a子 c男 4 
 5        a子 d男 1 
 6        a子 d男 2 
 7        a子 d男 3 
 8        a子 d男 4 
 9        a子 e男 1 
 =LET(F,LAMBDA(a,b,DROP(REDUCE(0,a,LAMBDA(s,i,VSTACK(s,HSTACK(IF(SEQUENCE(ROWS(b)),i),b)))),1)),
F(A1:A2,F(B1:B3,C1:C4)))
(んなっと) 2024/01/01(月) 09:05:14

2件もコメント下さりありがとうございます!!
どちらも参考にさせていただきます!
お早い対応本当にありがとうございました!!
(きなこもち) 2024/01/01(月) 16:51:17

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.