« 関数で出来ますか~? 第317回 【休みがもっと欲しい】 | メイン | この歌詞訳せますか~? 第72回 時代 »

2020年4 月12日 (日曜日)

コメント

くまぷー

お早うございます。

この問題はおそらく「関数で出来ますか~?」史上最大の難問だと思います。
解答公開に関しては臨機応変にやっていきたいと思います。
よろしくお願いいたします。m(__)m

からくち

質問です、、、
>横棒は条件付き書式で表示しています。
2007ではその様な条件付き書式は見当たりません
故に全て縦横升目に線が見えます

くまぷー

>故に全て縦横升目に線が見えます

えっ?!そうですか。
xls形式にして解答用参考ファイルをアップしました。
これで解決するといいのですが・・・

maron

◆今問題を見ています
◆どこから手を付けていいのか、全くわかりません

◆早さだけが取り柄で、「取り敢えず」と行きたいのですが・・・

からくち

両方共に条件付き書式は見られませんでした

maron

◆2013ですが、条件付き書式を確認できました

からくち

2007では条件付き書式で太線は引けません
端から罫線を消して縦のみ細線にしておけば
線が細く見難いですが何とか分かるようになりました

くまぷー

「条件付き書式」の説明を追加しました。
説明だけでは「目隠し将棋」みたいでピンとこないかもしれません・・・

からくちさん、如何でしょうか?

くまぷー

>線が細く見難いですが何とか分かるようになりました

それは良かった。安心しました。

ni

>線が細く見難いですが何とか分かるようになりました
わぁ、すみませんでした。
F5:I9 の値が0の時はセルの上に罫線なし、1の時は罫線あり
であみだくじにしてください。

くまぷーさん、ご対応ありがとうございます。

y sakuda

問題の意味が分かりません。F3に何をする式をいれるんでしょうか?
10行目が当たりと言うことは、当たりになるスタート地点に〇をいれろとか言う意味でしょうか?

ni

>10行目が当たりと言うことは、当たりになるスタート地点に〇をいれろとか言う意味でしょうか?
はい、その通りです。
〇でも良いし、"当たり"と表示してもらってもいいです。
当たりで「ない」ところには、空白、""、×、"はずれ"などを表示しても、しなくてもいいです。、

y sakuda

話はわかるけど、単独式でできるんかな??
確かに難問ですねーー

jyo3

ほほーーーー
面白そう・・・

さすが、、、ゲーム・・・の好きな  ni  さん、、、

その上、、解答例も、、デキたのね、、、すごい、すごい、、

ni

回答例は現在500を切ったのですが、わけのわからない式になってしまっています^^;
何とかしてください・・・

y sakuda

一応、可能なはずと言うアイデア。
で、途中まで書いてみた。
でも違ってることは明らか・・・でもどこが違ってるのかさえ判別不能w
これを最後まで間違えずに書く自信はないですねーー
どうすんだろ・・・・

くまぷー

まずはワンセルではなくて何でもアリでできるかどうかというところ、私には・・・

ni

力づくのやり方は
作業セルを使って答えを出して、
作業セルを参照しているところに作業セルの式をコピペ
1つの作業セルで何度も別の作業セルを参照していると、とんでもないことになります
それで最初にできた式は1000オーバー

jyo3

作戦はたった
が、
100の
2倍の
2倍の
2倍の
2倍ぐらいになりそう・・・
・・・・・・・・・
1600もじかーーー
・・・・・・・・・・・・
ん??
詰将棋の最長手数が、、、、そんなんだったかなーーー

yo3

出来たのは、作戦だけ、、、

てことで、、30分ぐらい、、、

手を付けてみようかな―――

jyo3

この作戦は、、、挫折・・・
>100の
>2倍の
>2倍の
>2倍の
>2倍ぐらいになりそう・・・
・・・・
でなくて、
100*3^4・・・
だめだめーーーー別作戦を・・・考えねば、、、

30分たたないうちに・・・

y sakuda

作業セルふんだんに使えば簡単にできたけど、これを1セルでってことになると・・・
多分考えたことはじょー3と同じで、破綻するwww

これ、「まさにExcelで簡単にできます。だけど、ワンセルでは???」
って問題。

y sakuda

しかし、一応やって見ると、これ500レベルって驚異的^^

関係ないけど、今面白いことに気が付いた。Win10の文字変換、500っていれて変換するとDってのが出てきた。これローマ数字の500。こんなの変換候補にいれるんかいw
因みに50だと同様にLと出てくる。

jyo3

X 10
C 100
ですか
どなたか、詳しい、

y sakuda

>どなたか、詳しい
ローマ数字のことですか?
ExcelにRomanて、数字⇒ローマ数字
の関数ありますよ^^

min

この問題、やることはそんなに難しくないかもしれません。
ただ、きちんとやってませんが単純にやって推定3000文字。

考え方を変えないと無理ですね。

ni

なんだか、とんでもない問題になってしまったみたい。
回答例は2種24関数 ぐらい・・・数え間違えてるかも

y sakuda

一応できました^^
1220と長大で500には及びもつかないですが、一応出せるものができた事はうれしい^^
どっちかって言うと、式の構築方法を工夫して、間違えずに書けるって方が優先。
式自体はあまりダイエットの余地なさそうだから大幅減には考え方の変更が必要かもです。

くまぷー

ワンセルでやる根性も無くVBAで・・・
見通しもよくあっさり・・・
ワンセルは・・・苦しすぎ・・・

y sakuda

niさんもそうなんでしょうが、繰り返しパターンになっているので、ちょっとダイエットすると大幅に減少する^^
2回ほどそんなことやったら、692とほぼ半減^^

アイデア変えてチャレンジの時期かもしれないけど、疲れたから又明日かな?
でも正解かどうかの確認目が疲れるからなんかつくるかな?

y sakuda

しかし、niさんの関数2種ってのが分からない。
私のは、表示するとこまで入れると5種使ってる。
(使用数計算するには、面倒くさい式が必要そうだから数えてないw)

ni

式を短くするために後から追加したのですが、
F1~J1 も参照しています。
これで列の関数が省略出来て 8文字*?? 短縮になってます

y sakuda

>F1~J1 も参照しています。
これは、私も気が付いた^^
その結果、558

ni

式を作った過程を残しておかないと、どうやって作ったのかもわからなくなってしまう。

y sakuda

>式を作った過程を残しておかないと、どうやって作ったのかもわからなくなってしまう。
です^^
こんな式いきなり書いたら、絶対書けないですw
で、今回は、システマチックな手法で式書きました^^

min

家に帰って来ましたので、移動中に考えた式を置いてみました。

単純なものの繰り返しですが、260でした。
合っているといいなあ。

くまぷー

>260でした。

えーっ?!
驚きです。

min

ちなみにF3からJ3まで範囲指定してCtrl+Enterなら238ですが、今回の問題ではルール違反なので没

min

現時点1行目を使っていませんが、
1行目を使えばもっと短くなると思います。

min

260を1行目を使ってやると234ですね。

min

>260を1行目を使ってやると234ですね。
すみません。間違い、、216でした。

y sakuda

216??
また頑張らなきゃ

でも今晩は趣味に走ってるからまた明日チャレンジ
しかし、他の人でてきませんね・・・・

ni

>260でした。
わー、やっぱりすごいです~

>今回の問題ではルール違反なので
今回の問題に限っては、何でもありと思っています。
極端な話、作業セルもアリかなと。

なので、没にしないで回答発表の時には教えてくださいね。

にしても、260,238はすごい

ni

カキコしてる間に216になってる(どひゃぁ)
確かに今の式は同じような式が何度も現れていて、無駄だらけと思うのだけれど、
一体どうしたものやら

y sakuda

正解ルートを赤で表示するマクロ入りのブックをクマプーさんに送りました。

明日からまた、式の方がんばろ^^

くまぷー

sakudaさんから頂いたマクロ入りのファイルをアップしました。
非常に見やすくなりました。有り難うございます。

みなさん、ご利用ください。m(__)m

jyo3

あ・・・え、、、、、う、、、、

maron

◆やっとできました、701(長い・・・)

くまぷー

>◆やっとできました、701(長い・・・)

長いと言ってもできただけすごいですよ。

y sakuda

やっぱり、夜中にいくら粘ってもだめですねーー
朝、なんとなくやったら気が付いた^^
180
自分でも半信半疑でためしたんですが、うまく行きました。

y sakuda

整理しやすい長さになったので、通常のダイエットで174
しかし、意外とコンパクトにできるもんですねーー
最初にできた単独式は1220。その延長が174・・・ちょっと信じられない。

しかし、この問題面白かった。こんなの式でやれって出す方も、やる方もどうかしてるとはおもいますけどwww

くまぷー

>通常のダイエットで174

Σ( ̄ロ ̄lll)ガーン

jyo3

minさん、車の中で、、、ふっと、、、考えた式・・・書いたら、、、
出来てるーーー、、ってすごいですね。

amronさんも、できちゃったのね、、、

sakuda さん、苦労してると思ったら、、、トップですか。

皆さんすごいです。

maron

◆少し短くして、686
◆でも、考え方を変えないと、到底追いつきません

maron

◆683になりました
◆式の中に、同じような項があるので、何とかならないかと思います

y sakuda

なんとなく、当 表示してましたが、単に〇と出せば良かったんですよね?
最初からわかってたはずなんですが・・・・
ずっと数式なんとかしようと、そっちに頭が行ってて、多分できたって時に、何時もの習慣で”当”って表示するように書いちゃってそのまんまやってました。
まあ、1000とか500とか言ってる間は、この辺の10数文字関係ないようなものでしたし・・・

で余計なお飾り取り払える訳で、155にダイエットできました^^

くまぷー

>155にダイエットできました^^

Σ( ̄ロ ̄lll)ガーン

Σ( ̄ロ ̄lll)ガーン

Σ( ̄ロ ̄lll)ガーン

jyo3

この問題・・・
最初・・・

3000文字??
100文字???

と、、、感じた。

規則性があるなら・・・・100
規則性がないなら・・・・3000

規則性が見つからない

下から攻めて、、、行き詰まり、、、
上から攻めて、、、行き詰まり、、、

なのに、、、

するっと、、、200台・・・

苦しみながらも、、、100台・・・

の、方が、、、
見えないな―――

今後、、、
くまちゃんが、、、
見えた―――、、、と、、なったら、、、わたし、、、
リハビリ、、、無理かも、、、とほほ、、、

くまぷー

>くまちゃんが、、、
>見えた―――、、、と、、なったら、、、わたし、、、


アイディアとしてVBA込みで最初すぐに・・・

Public Function AmidaX()
Application.Volatile

Pos = Start(Range("F11:J11")) + 5

For I = 9 To 5 Step -1
Pos = Pos + WhichWay(Pos, I)
Next
AmidaX = Pos

End Function

Function Start(R As Range) As Integer
Pos = WorksheetFunction.Max(R)
Pos = WorksheetFunction.Match(Pos, R, 0)
Start = Pos
End Function
Function WhichWay(X, Y) As Integer
'左折:-1、直進:0、右折:1

If Cells(Y, X) = 1 Then
WhichWay = 1
ElseIf Cells(Y, X - 1) = 1 Then
WhichWay = -1
Else
WhichWay = 0
End If

End Function

・・・で、F3に・・・

=IF(AmidaX()=COLUMN(),"●","")

・・・後はJ3までコピペ

ワンセルかつ関数だけで200を切るなんて・・・
戦意喪失です・・・


ni

sakudaさん、すごいなー

短くなる’かもしれない’アイデアはあるのだけれど、
これを間違わずにまとめる自信はない
さらに。短くならないかもしれない
それでもやってみるべきか・・・

ni

だめだぁ~このやり方だとかえって長くなってしまう

y sakuda

155で終了です。
なんかminさんかniさんにぶち抜かれるような気がしますが、アイデア枯渇したみたいです。

くまぷー

>155で終了です。

上から攻めて・・・だと思うんだけど
横位置を5回検索するところが・・・

sakudaさんは、どうやっているんだろう・・・

★終了宣言

1. sakudaさん
2. 
3. 
4. 

からくち

今週はいろいろあり過ぎて時間が取れない、、、
しかしこの問題は凄いですね
0~5まで6パタンが4列、、、6^4=1296
プラス両サイドの2、、、1298パターン
規則性を見つければ短くなるでしょうが
見つからないOR無いと、、、大変な問題ですね
時間潰しには、、、最高でしょうが、、、
時間が無い
今週はすみません

くまぷー

>今週はすみません

「考え中、待った!!」がでれば・・・
いや、一週間で済まないかも・・・

y sakuda

別に難しい発想やってませんよーー
強いて言えば、最後のブレークスルーで気が付いてみたら「なんで、最初からおもいつかなかったんだ」って感じです。

くまぷー

全然ダメ・・・

>最初からおもいつかなかったんだ

なにも思いつかない。
一応できたけど・・・
ヒトには見せられません・・・

y sakuda

私も最初にできたやつは1220。
作るのは、規則的に作ったんで書けましたけど、それを直接修正するのは無理って代物でしたw

くまぷー

>下から攻めて、、、行き詰まり、、、
>上から攻めて、、、行き詰まり、、、

一階層、深く探索すると文字数が増えちゃうんで5階層掘るととんでもない文字数に・・・
だったら上と下から同時に攻めて、真ん中でくっつけられればと思ったけど・・・
上手くいかない・・・

jyo3

さて、・・・・骨折りばあさん所から、、、帰宅
・・・・・・・・・・
時間ができたから、、、頑張ってみます。
・・・・・
まず、ちょっと飲んで、、、で、飲みながら、、、、
・・・・・・・・・・・
がんばるぞーーーーー、、、
・・・・・・・・・・・

jyo3

niさん
minさん
sakudaさん
くまぷーさん
からくちさん
・・・・・・・・・・・
そのほかの皆さん、、、
・・・・・・・・・・
呑みながら、、、少し頑張りますねーーー、、、、

途中経過:
現時点では、、、

作戦良好、、、
文字数良好、、、
結果、、、???・・・なんで、ちがうけっかなのじゃい・・・

jyo3

ひとりごと・・・・・
・・・・・・
日本酒が、、、悪さをしてるかも、、、、
・・・・・・・・・・
全員、、、呑みながら、、、式を書けば、、、公平、、かも、、、
・・・・・・・・・・・・・
わし、、だけ、、、呑むのは、、、不公平だ・・・と、、、
日本酒が言っている。・・・・
・・・・・・・・・・・・・

jyo3

理屈完璧:118文字、、、、
結果:無残!!・・・

1)答えが合わない
2)答えがない
3)答えが複数

・・・・・・・・・・・・・・
これでは、、、randより悪いかも、、、、
・・・・・・・・・・・・・・
やはり、、、呑まないで、、、明日、、、にするか。
・・・・・・・・・・・・・・・・・・

y sakuda

>だったら上と下から同時に攻めて、真ん中でくっつけられればと思ったけど・・・
面白いアイデア。これは考えなかったけど、上手く行くのかな?

くまぷー

>全員、、、呑みながら、、、式を書けば、、、公平、、かも、、、

熱燗でやっています。(^^ゞ

くまぷー

>>だったら上と下から同時に攻めて、真ん中でくっつけられればと思ったけど・・・
>面白いアイデア。これは考えなかったけど、上手く行くのかな?

下からは〇を上にあげて、上からキャッチ・・・

もしも〇ならtrue
そうでなければfalse

さあ、どうだ?!

jyo3

気分転換に、、、、
・・・・・・・・・・・・・・
囲碁、、、、
・・・・
勝った、、、、、
・・・・・・・・・・・・・
さてさて、、、

くまぷー

今、風呂の中でちょっとしたアイディアが浮かんだ・・・
今日は疲れたので明日試してみる・・・(・∀・)ウン!!

min

ほかのアイデアが浮かばないので、、

>範囲指定してCtrl+Enterなら238です
この方法のずるならもう30から40は減るのはわかっていたのですが、
やってみました。
178でした。。太刀打ちできません。

今度もう一つのずるに挑戦してみます。
うまくいったら報告します。

ni

うー、進展なし
皆さん、すごいです

y sakuda

クマプーさんの上下方式、予想通り長くなったけど、一応187で、できました。
今までと似たようなものと言えば似たようなものなんですが、ややこしくて頭いたくなったw

y sakuda

>もう一つのずる
しかし、この問題、ずるするって言っても、ネタ元のエリアが有るわけじゃないし、どういう意味なんかしら?

くまぷー

>クマプーさんの上下方式、予想通り長くなったけど、一応187で、できました。

お試し有り難うございます。

しかし、この問題、ずるするって言っても、ネタ元のエリアが有るわけじゃないし、どういう意味なんかしら?

確かに・・・

jyo3

独善主でした。
昨夜の指し手。

y sakuda

昨夜、くまぷーさんの上下方式試した時、なんか違和感があったので、下から方式ってのやって見た。
まあ、ほとんど同じ形で答えは出る・・・・でもなんか???
つまり、出てくる答えは、例えば第一列をしたから辿ると、5列目に出ると答えが出ると言う事。
一列目の下に〇があった場合、一列目の式で5列目に〇をつけるわけには行かないから表示のしようがないwww
上からなら1列目をたどって到達した先が〇なら〇と出せば良い訳で、似てるけど全然違う。
下からやるなら、答えを配列として一括で求めないと表示できないということが判明しました^^

y sakuda

下から方式184と長くなりました^^

くまぷー

>クマプーさんの上下方式、予想通り長くなったけど、一応187で、できました。

>下から方式184と長くなりました^^

3文字短くなったのでは?

y sakuda

>3文字短くなったのでは?
上からとの比較です。
さっき書いた表示の手間でも伸びてますが、基本的に下からやると配列で答えを求める関係上長くなるようです。
しかし、過去の例だと文字数が出ると、アッと言う間にその辺りの答えが続出するんですが珍しいですね。
まあ、同じような文字数で手法が全然違ったりするのが面白いんですが^^

くまぷー

>アッと言う間にその辺りの答えが続出するんですが珍しいですね。

そうですね。後続者が現れませんね。
私も昨日、風呂でチラッと脳裏を掠めた案は没です (^^ゞ

jyo3

このことは、、、、

>この問題はおそらく「関数で出来ますか~?」史上最大の難問だと思います。

私に関しては、真実、、、かもしれない。

しかし

min さん
sakuda さん
に関しては、、、、当たらなかった。・・・ってことですね、、、

ゲーム路線の、、、 ni さん、、、

開花・・・次にもこの路線が、、、出てくるかも、、、

jyo3

基準が、、、
2000かも、、
3000かも、、
5000かも、、、

すこし、、やる気が出る。

500ぐらい・・・・
かなりのダメージ・・・頑張れないかも、、、の、、ジョー

200台・・・・
もう駄目だ―の・・・ジョー

100台・・・・
想定外です―――

ni さんと、、、
min さんと、、、
sakuda さんに、、、
ぼこぼこにされました、、、。

くまぷー

>もう駄目だ―の・・・ジョー

私も同じ気持ちですが
取り敢えず答えを出せただけで満足です (^^ゞ

y sakuda

異議がでなければ、明日の晩あたりに答え合わせですか?

jyo3

>異議がでなければ、明日の晩あたりに答え合わせですか?
ni さん
min さん
sakuda さんが、、、よろしければ、、、

今晩でも、、、あすのあさでも、、ひるでも、、ゆうでも、、、
いいですよ。

ni

さっき、お風呂で思いついた方法を試したら
191 (((o(*゚▽゚*)o)))

ここからのダイエットでsakudaさんに追いつけるか?

y sakuda

>191 (((o(*゚▽゚*)o)))
いよいよ、出てきた^^
多分やってることはほとんど同じかと。

ni

155 できました~ (●^o^●)

ni

>多分やってることはほとんど同じかと。
2種6関数です

ni

余分な$を消して149になった^^

ni

さらに余分な$を消して139

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

アカウント情報

(名前は必須です。メールアドレスは公開されません。)

2024年8 月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

TOP メニュー