ExcelのLAMBDA関数のこれ教えて
■ このスレッドは過去ログ倉庫に格納されています
http://imgur.com/cWh3XUx.png
↑この画像のLAMBDAの数式が↓なんだけど
=LAMBDA(A,B,IF(B=1,IFERROR(MID(A,1,FIND("-",A)-1),A),SPLIT2(MID(A,FIND("-",A)+1,LEN(A)),B-1)))
これ名前の管理に入れないでそのまま数式として使いたい場合はどういう数式で書けばいい?
http://officetanaka.net/excel/function/function/lambda.htm REDUCEとかBYROWとか使う?
それともLAMBDA2回使うとか? おとといくらいから同じようなスレばっか立てて申し訳ないんだけど =LAMBDA(A,LAMBDA(〜みたいな感じ? 100回ぐらいofficetanakaのページ読め
そういう使い方だと 最初の引数に関数自身を取ってLAMBDAでラップする
この書き方だとユーザーが定義の名前を勝手に変えても動く
=LET(
f,LAMBDA(f,A,B,IF(B=1,IFERROR(MID(A,1,FIND("-",A)-1),A),f(f,MID(A,FIND("-",A)+1,LEN(A)),B-1))),
LAMBDA(f,a,b,f(f,a,b))
)(A1:A9,C1) >>8
この記事が書かれた時はBYROWやREDUCE、MAPといった関数がまだ発表されてなかったんだ
ベータチャネルでもまだ出てなかった
これらのLAMBDAに引数を渡す関数を使えば名前の管理を使わなくてもできるはずだと思う
完全に俺の勝手な勘なんだけどLAMBDAは名前の管理を使わなくても出来ると思ってる 間違えた
=LET(
f,LAMBDA(f,A,B,IF(B=1,IFERROR(MID(A,1,FIND("-",A)-1),A),f(f,MID(A,FIND("-",A)+1,LEN(A)),B-1))),
LAMBDA(a,b,f(f,a,b))
)(A1:A9,C1) >>9
ほんといつも助かってます
ありがとうございます ■ このスレッドは過去ログ倉庫に格納されています