|
カテゴリ:日記他
・アストロニーア
せめて大型資源キャニスターの設計図くらいは取っておきたいと思って 惑星を探索しよう と思っていたけどなんかプラスチックとシリコンの数が足りないの見てしまって生産してたら1つしか惑星探索できなかった 終わり まーじで先を考えてない しかしカリドーにも大型資源キャニスターおいてあるとは、 ちゃんと探索しておくべきだねー イベント終わらせたら生産できるけども ・その他 その後MathPane! ~マスパネ!~をやり始める ユーザーステージの4桁の計算が面倒すぎて 素因数分解できれば楽なんじゃね?と考えて EXCEL的な奴で素因数分解の作り方を考えること5時間… ネットで見つけた素因数分解の文が使えない…! WPSのバージョンが古かったせいでLET関数が使えなかったのかなと思ってバージョンアップ、12.2.0.17117になりました そしてLET関数を使ったら使ったで保存後Valueエラーになってた なんで?と思ったら互換性のない90-2000互換のシートで作成してたからだった模様 もしかしたらバージョンアップする前から使えたのかな…互換性には気を付けよう。 具体的には新規作成の.xls使うのやめよう ということで、色々しましてやっと完成したのがこちら。 ※WPS Oficceの12.2.0.17117以降でのみ動作確認しています ※Googleスプレッドシートの場合、式全体をARRAYFORMULAで囲む A1に数値、B1から右へ以下の式を張り付ける。 =IFERROR( LET(x,COLUMN()-COLUMN($A1)-1, y,$A1/PRODUCT(IFERROR(OFFSET($A1,0,1,1,x),1)), seq,SEQUENCE(INT(y/2),1,2), IF(AND(x>0,y>=$A1),"",MIN(IF(MOD(y/seq,1)=0,seq,y))) ) ,"") ※後で見返してわかりやすくなるように改行しています LET関数:途中までの計算結果を好きな名前で一時保存できる、めっちゃ長い計算を複数回使う時に使うと楽 x:A1からどのくらい離れているのかを計算 y:元の数値÷これまでに出た数値の積 循環を避けるために相対にした、エラーが出る(A1の隣とか)と元の数値そのまま出力 seq:SEQUENCEで「2~指定した数÷2(少数切り捨て)」までの数値を一気に書き出す なおGoogleスプレッドシートの場合は配列をそのまま扱えないので式全体をARRAYFORMULAで配列を使用可能にすると上手く行った、なんでかは知らない EXCELは持ってないのでわかんない 本処理:最初にこのセルが最初の数字ではない事、計算が終了していないことを確認、もしそうだった場合は空白にする 次に数値÷配列で最も小さい整数を求める。全部割り切れなかったらyの数値を書きだす 終わり。 初めてLET関数使ったからめっちゃくちゃ手間取った 数値の保存だって言ってるのに関数参照させようとしたりとかした でも数値覚えておくの便利だねこれ、スパゲッティ量産しそう 追記、色々見直してGoogleスプレッドシートで使う方法を書いたよ、多分使わないと思うけど ちなみに元々のユーザーステージの4桁の奴はクリアできてません! 何だったのこの試行錯誤の跡は! 13時じゃん!!!!! ああ、私はもうだめです
お気に入りの記事を「いいね!」で応援しよう
Last updated
2024/07/27 10:08:15 PM
コメント(0) | コメントを書く |