■ このスレッドは過去ログ倉庫に格納されています
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 ★