2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

ExcelでLAMBDA関数の再帰のお勉強してるんだけど

1 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:23:24.425 ID:bm++MTsod.net
再帰よくわからない

↓を名前の管理に入れる
http://imgur.com/zS5I4UE.png

A3に=kaijo(A1)と入力するとA1に入力された階乗が出る
http://imgur.com/I0UZEvN.png

2 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:25:59.509 ID:bm++MTsod.net
でもLAMBDAを使わないで
=PRODUCT(SEQUENCE(A1))
でも同じ事が出来る
SEQUENCE関数ってもしかしてとんでもないポテンシャルを持っているんじゃないのか
http://imgur.com/4DT9G1h.png

3 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:27:16.385 ID:bm++MTsod.net
あれ
誰も見てないか

4 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:31:48.498 ID:bm++MTsod.net
A1に入力した数値までの階乗が表示されるようにも出来そう
こんな感じで
http://imgur.com/3gqAhKM.png

5 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:33:13.898 ID:S/nG4LcS0.net
問題点をちゃんと提示しないと誰もコメントしないと思う

6 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:33:39.033 ID:0c3gsgmV0.net
FACTでいいじゃん
再帰自体はPythonとかRubyの記事読めばわかるんじゃね

7 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:34:36.825 ID:bm++MTsod.net
>>6
そんな関数あったのか

8 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:36:30.110 ID:bm++MTsod.net
あっ出来た
http://imgur.com/S8nBaWn.png

9 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:37:37.785 ID:bm++MTsod.net
LAMBDAの再帰ってどんな状況で使うのかなと思って
SEQUENCEでだいたい出来そう

10 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:39:11.735 ID:oj+QF1xn0.net
またこのエクセルマニアか

11 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:41:38.454 ID:bm++MTsod.net
>>10
妙な事を思い付いちゃったから
すまん

12 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:44:31.557 ID:bm++MTsod.net
これもSEQUENCE使えばLAMBDA無しでいけるのかな
http://imgur.com/8mrwepd.png
http://imgur.com/ZshtNgp.png

13 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:48:06.944 ID:bm++MTsod.net
マニアと言うほど詳しくないしVBAはサッパリわからん

14 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 20:53:05.113 ID:bm++MTsod.net
>>12はSEQUENCE使えなさそうだな

15 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:02:49.783 ID:bm++MTsod.net
いけそうな気がする

16 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:16:39.306 ID:bm++MTsod.net
難しいな

17 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:18:00.533 ID:VzTOK5yF0.net
SEQUENCEってつまり再帰をループに書き換えただけじゃん

18 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:18:49.761 ID:bm++MTsod.net
>>17
ループであって再帰で無いという事だよね?
なんか違う?

19 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:35:36.817 ID:VzTOK5yF0.net
>>18
本質的にはループと再帰は同じことができるはずだけど、SEQUENCEはループの中でもごく一部のケースにしか対応できないな
具体的には、リストを取って値を返す関数が存在し、その値に1〜nのリストを与えればいい時にしか使えない
>>2ができるのはPRODUCT関数が存在するからこそ許される特別な場合ってだけ

20 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:43:08.522 ID:bm++MTsod.net
>>19
なるほど
ありがとう勉強になるよ
PRODUCTやFACTのような関数が他にもあればSEQUENCEも生きてきそうな気がするよ
MMULT関数とも相性がいいかもしれない

21 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:47:09.553 ID:bm++MTsod.net
面白いなやっぱExcelは

22 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:52:40.411 ID:VzTOK5yF0.net
正確な表現は「リスト」じゃなくて「配列」か
ちょっと考えてみたけど、フィボナッチ数列なんかLABMDAにすると簡単だけどSEQUENCEだと無理そうだな

>>20
MMULTは配列を引数として配列を返すタイプだからまた違いそうだな……工夫すれば単一値を返すようにはできるけど
あとFACTは単一値を取るタイプだから、PRODUCT(SEQUENCE(A1))に対応するのはFACT(A1)なのでこれまた違うぞ
単一値を取るタイプに配列を渡すと配列で返ってくるから、最後の値だけを見れば当然FACT(A1)になるけど

23 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:54:08.312 ID:e28CFwpk0.net
ホットワイヤ関数がな

24 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:56:24.215 ID:bm++MTsod.net
素数表を教えてくれたVIPの先生もSEQUENCEを使いこなしてた

http://imgur.com/7dBbqFs.png

25 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:57:59.710 ID:MwE2CwwB0.net
ランバダ

26 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 21:59:48.547 ID:Qs4Z12Nua.net
>>25
書こうと思った事が一字も違えず書いてあった

27 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 22:00:48.982 ID:bm++MTsod.net
>>22
フィボナッチ?
なんだかよくわからないけど過ごそうだね
ウラムの螺旋ならVIPの先生に教えてもらったよ
http://imgur.com/Dt06dqw.png

28 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 22:06:54.351 ID:VzTOK5yF0.net
>>27
>>24もそうだけど、これはエラトステネスのふるいを使って素数を求めるためにSEQUENCEで配列を作ってるパターンだな
>>1の使い方より遥かに高度なことをやってるようだ

29 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 22:20:33.326 ID:bm++MTsod.net
>>28
エラトステネス
なんか素数調べてるときに出てきた名前だなぁ
凄いわサッパリわからん
>>28もこういう事出来るの?
俺はExcelより数学の勉強しないといけないな

30 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 22:26:05.255 ID:VzTOK5yF0.net
>>29
どっちかっていうと数学ってよりプログラミングだな
俺もやろうと思えばできるはずだけど、無理してExcel使って実現しようと思ったことはないわ……見ればわかるんだが

31 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 22:30:55.069 ID:bm++MTsod.net
>>30
プログラミングか
全くの未経験だな
VBAなら少しだけやった事あるけど
まあ未経験と同じだね

32 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 22:44:36.051 ID:VzTOK5yF0.net
>>31
多分本格的にやるとLETとかLAMBDAがプログラミングにおける関数とよく似た概念だってことに気付くぞ
学ぶ言語は何でもいいが、HaskellあたりはExcelと似てるかもしれない

33 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:02:19.519 ID:UHncSNtgM.net
確認できないから妄想だけどエラトステネスの篩こそLAMBDAの再帰でできそう
f =LAMBDA(m,arr,IF(m<2,arr,f(m-1,FILTER(arr,arr/m<>INT(arr/m)))))
=LAMBDA(m,IF(m<2,NA(),f(m,SEQUENCE(m))))(100)

34 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:13:48.571 ID:bm++MTsod.net
>>32
LETならわかるかも
LAMBDAは難しい
SEQUENCEも難しい

Haskellか
調べてみるよありがとう
あとPowerFX気になってる

>>33
あ、先生久しぶり
試してみます

35 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:14:41.300 ID:bm++MTsod.net
と言ってもエラトステネスが何なのかもよくわかってないけど

36 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:15:59.163 ID:bm++MTsod.net
M先生ちょっと待っててね
ためしにそれ書いてみるから

37 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:28:36.799 ID:bm++MTsod.net
これでいいのかな
http://imgur.com/ecXzMyd.png
http://imgur.com/AePdeyj.png
http://imgur.com/l9eZPib.png

38 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:32:14.757 ID:bm++MTsod.net
先生が二人になってしまった

39 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:35:09.739 ID:bm++MTsod.net
保守しとこ

40 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:43:56.908 ID:bm++MTsod.net
保守

41 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:47:55.215 ID:bm++MTsod.net
保守

42 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:53:01.194 ID:bm++MTsod.net
お保守です

43 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:54:09.826 ID:i0JaHtImM.net
いつも試してくれてありがとう!
そしてごめんさっきの33はナシで

44 :以下、?ちゃんねるからVIPがお送りします:2021/03/20(土) 23:55:32.012 ID:bm++MTsod.net
>>43
いえいえいえいえいえいえ
こちらこそいつも教えてもらってばかりで申し訳なさと感謝しかないです先生!

45 :以下、?ちゃんねるからVIPがお送りします:2021/03/21(日) 00:06:22.868 ID:jZmQ6zCod.net
M先生もやはりプログラミングに詳しいのかな
Excelのワークシート関数は他のプログラミング言語にどんどん近づいているのかな
SEQUENCE、LET、LAMBDAは凄いと思う
あとFILTERとかUNIQUEとかも

46 :以下、?ちゃんねるからVIPがお送りします:2021/03/21(日) 00:15:30.145 ID:jZmQ6zCod.net
ID:VzTOK5yF0先生もありがとうございます
大変勉強になります
Haskellというのが気になるから調べてみようと思うよ

総レス数 46
12 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★