« 関数で出来ますか~? 第309回  罫線問題 | メイン | 関数で出来ますか~? 第311回 maronさんⅡ »

2020年3 月16日 (月曜日)

コメント

y sakuda

変なとこに感心するようですが、からくちさんの、重複を避ける手法が秀逸w
式の構成見ながら、どうやって、D4と同じものが出ないようにするのか首ひねってましたwww

y sakuda

私の式途中が消えてる・・・・再チャレンジ
=OFFSET(G$1,MOD(MAX((ROW($1:$49)/1%+COLUMN($A:$AW))*(LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B$3,LEFT(G$2:G$50),,1),RIGHT(G$2:G$50),,1),LEFT(TRANSPOSE(G$2:G$50)),,1),RIGHT(TRANSPOSE(G$2:G$50)),,1))=0)*(ROW($1:$49)<>COLUMN($A:$AW)))/100^(D3=0),100),)

y sakuda

再度やりましたが、途中消えちゃいますね。投稿直後は見えてるんですが・・・
クマプーさんに送ります。

くまぷー

>クマプーさんに送ります。

了解です。
アップしました。

からくち

わたしのは不完全版です
端からその様に考えると非常に楽ですね
と言っても200弱もあるけど

そこで考えたのが、、、
エクセル的に言うとcombin(4,2)=6なのでと思った時
そうかくまぷーさんの問題、、、回文だ、、、と
1234321これで全種出来る、、、
勿論ですが被りもあるで、、、
これを何も思わず出来るのが不完全版の良さ
なんて勝手に思って、、、書きました

y sakuda

私の長いやつは、組み合わせは 4C2 の6通り、ただ、その2枚が入れ替えられるから×4の24通り。
でも。1番目と二番目が入れ替わっても回答的には問題ないから12通りやれば全部できる。
⇒それなら総当たりやっちゃえ だったのですが、いいかか が出現した文字の順番によっては いかいか になっちゃう。
ここだけがどうにもならず、それ避けたら100以上長くなりました。
200台の方は重複避ける手段は比較的短くできましたが・・・・
この問題、いか、かい が入ったことでとんでもなく面倒になってる。
半面、「二文字の生き物名がならんでます」 だけで、例示なしの仕様でプログラム組んだら、いかにも見落としてバグだしそうなところで、かんがえさせられちゃいますねーー

からくち

sakudaさんのOFFSET
1番最初に頭に浮かんだ中の1つです
ただ以前から言っていますが嫌いな関数故使いません
と言うか使えませんので、、、

それにしても、、、1の式は凄い
わたしだと書き間違い犯しそう

からくち

くまぷーさん、、、
次回の問題が若しわたしのなら
易し過ぎなので直ぐに出題して
21日の土曜日解答日でも余りある日程です
他の方の問題なら別ですが

y sakuda

>わたしだと書き間違い犯しそう
やりましたw
コピー&ペーストでやって、{}の中をなおしたんですが、思わぬところでエラーになる。
見直したら、後ろの方で数字が逆転してたwww

ni

回答が出てる^^
では
D4(178) {=OFFSET(G1,MAX(IFNA(MATCH(MID(B3,{1,2,1,3,1,4},1)&MID(B3,{2,1,3,1,4,1},1),G2:G50,)+MATCH(MID(B3,{3,3,2,2,2,2;4,4,4,4,3,3},1)&MID(B3,{4,4,4,4,3,3;3,3,2,2,2,2},1),G2:G50,)*0,)),)}
D5(180) {=OFFSET(G1,MAX(IFNA(MATCH(MID(SUBSTITUTE(SUBSTITUTE(B3,RIGHT(D4,1),,1),LEFT(D4,1),,1),{1,2},1)&MID(SUBSTITUTE(SUBSTITUTE(B3,RIGHT(D4,1),,1),LEFT(D4,1),,1),{2,1},1),G2:G50,),0)),)}

くまぷー

niさんの解答を「解答リスト」に加えました。

くまぷー

>くまぷーさん、、、
>次回の問題が若しわたしのなら
>易し過ぎなので直ぐに出題して
>21日の土曜日解答日でも余りある日程です

第311回の出題は来週の火曜日予定です。
もう少々、お待ちください。
今週はジョー3さんの週という事で・・・m(__)m

jyo3

>もう少々、お待ちください。

わたしも、新問題・・・ひとつ、、、
作ったかも、、、

でもなーーー

私のは、、、次回も、、、3っつで一つにしよう・・・・

今回も、、、全部、、、まけ、or引き分け・・・

完璧に勝ちたいな―――

くまぷー

ところでジョー3さんの解答発表がまだのようですが・・・
ジョー3さんの発表が無いと4人にならないので
sakudaさんがフライングになってしまいます(^^ゞ

jyo3

>ところでジョー3さんの解答発表がまだのようですが・・・
ん、、、、間に合わせで、、、1時間ぐらいかなーーー

試してもいない・・・

いかいか
かいかい
いかかい
かいいか

・・・・・・・・・・・・・・そのへんで、、、完璧と、、、

おもってましたが、、、

・・・・・・・・・・・・・・
送りますね、

さいしょのやつ、、、

くまぷー

>送りますね、

送る必要はありません。

>4名の方の解答作成完了宣言の後に、このスレに直接解答式をお書きください。

ni

からくちさんの式、最後のRIGHT(B$3)&LEFT(B$3)の&LEFT(B$3)は余分ですね。
4文字目、1文字目の並びは最初のB$3&LEFT(B$3)で既に作られています。
にしても、すごい式だなぁ

jyo3

書いたのが、、、

だいじょうぶかなーーー

やってみますね、、、送ったけど、、、

=MID(B3,MID("123412432134214313241342312431421423143241234132",MATCH(2,COUNTIF(G2:G50,MID(B3,{1,1,2,2,1,1,3,3,1,1,4,4},1)&MID(B3,{2,2,1,1,3,3,1,1,4,4,1,1},1))+COUNTIF(G2:G50,MID(B3,{3,4,3,4,2,4,2,4,2,3,2,3},1)&MID(B3,{4,3,4,3,4,2,4,2,3,2,3,2},1)),0)*4-3,1),1)&MID(B3,MID("123412432134214313241342312431421423143241234132",MATCH(2,COUNTIF(G2:G50,MID(B3,{1,1,2,2,1,1,3,3,1,1,4,4},1)&MID(B3,{2,2,1,1,3,3,1,1,4,4,1,1},1))+COUNTIF(G2:G50,MID(B3,{3,4,3,4,2,4,2,4,2,3,2,3},1)&MID(B3,{4,3,4,3,4,2,4,2,3,2,3,2},1)),0)*4-2,1),1)

jyo3

いまみたら、、、かいどくできませーーーーん、、、

くまぷー

>送ったけど、、、

有り難うございます。
リストに追加しました。

jyo3

みなさん、、、すごいです、、、わたし、、、りはびり、、、中。。。。

jyo3

完璧と自信満々が、、、、

いかかい
かいいか

良かったと思うが

かかいい
いいかか、、、

なんでだめなのーーー

さようならーーーー、、、

ni

F9押していろいろな言葉が出てくるのがなんだかおもしろくなって、
お遊び、4つの文字でできる動物をすべて表示
{=T(OFFSET(G$1,LARGE(IFNA(MATCH(MID(B$3,{1,2,3,4},1)&MID(B$3,{2,1,1,1;3,3,2,2;4,4,4,3},1),G$2:G$50,),),ROW(A1)),))}
でも、同じ文字が2つあると、同じ動物が2回出てきてしまう。

くまぷー

>さようならーーーー、、、

戻って来てくれ~
提示された数式はD4(一匹目)だけであってD5(2匹目)の分が無いような・・・

y sakuda

niさんの、いかかい などで、かい、かい となっちゃいますね。
ジョー3のは、コピーできないタイプの式ですが、二番目は別式があるんでしょうか?

ni

>niさんの、いかかい などで、かい、かい となっちゃいますね。
はい、リストの下に「かい」がある限り、「いか」は出てこないです。
これが私の限界です~

jyo3

もうのんだからだめ、、、数字を、、
2こかえたような・・・

さようなら、、、

またつくるから、、、
yurusitene,,,

jyo3

{=INDEX(R2:R50,MAX(IFERROR(MATCH(MID(B3,{1,1,2,2,3,3},1)&MID(B3,{2,3,1,3,1,2},1),R2:R50,0),0)))}

こんなのも、、、でてきたり・・・

y sakuda

今更ですが、437の奴、かい いか を避けるもっと気の利いた手見つけて374でできました。

=INDEX(IF(D3=0,MID(B$3,{1,1,1,1,1,1,2,2,2,2,3,3},1)&MID(B$3,{2,2,3,3,4,4,1,1,3,4,1,2},1),MID(B$3,{3,4,2,4,2,3,3,4,4,3,4,4},1)&MID(B$3,{4,3,4,2,3,2,4,3,1,1,2,1},1)),MATCH(,MATCH(MID(B$3,{1,1,1,1,1,1,2,2,2,2,3,3},1)&MID(B$3,{2,2,3,3,4,4,1,1,3,4,1,2},1),G$2:G$50,)*MATCH(MID(B$3,{3,4,2,4,2,3,3,4,4,3,4,4},1)&MID(B$3,{4,3,4,2,3,2,4,3,1,1,2,1},1),IF(G$2:G$50=D3,,G$2:G$50),),-1))

y sakuda

書き忘れました。回避策は簡単で、二番目を確認するMatchのテーブルを
IF(G$2:G$50=D3,,G$2:G$50)
として、一番目の解答(D4)を消すだけ。 提示の式はD4の式ですので、D3となってますが、D5にコピーした時はここが一番目の答えになり、テーブルからはずれます。

くまぷー

お早うございます。

ジョー3さん、sakudaさんが新しく投稿された分をリストにつかしました。

maronさんの姿が全然見えないけど、どうしたんだろう・・・

maron

◆ご心配いただいて、すみません。
◆maronはどの問題もできずに、完敗です。(とほほ・・・)

jyo3

上の式のと、、、ほとんど同じ
下の式
まあ、一つにできるが・・・

=MID(B3,MID("123412432134214313241342312431421423143241234132",MATCH(2,COUNTIF(G2:G50,MID(B3,{1,1,2,2,1,1,3,3,1,1,4,4},1)&MID(B3,{2,2,1,1,3,3,1,1,4,4,1,1},1))+COUNTIF(G2:G50,MID(B3,{3,4,3,4,2,4,2,4,2,3,2,3},1)&MID(B3,{4,3,4,3,4,2,4,2,3,2,3,2},1)),0)*4-1,1),1)&MID(B3,MID("123412432134214313241342312431421423143241234132",MATCH(2,COUNTIF(G2:G50,MID(B3,{1,1,2,2,1,1,3,3,1,1,4,4},1)&MID(B3,{2,2,1,1,3,3,1,1,4,4,1,1},1))+COUNTIF(G2:G50,MID(B3,{3,4,3,4,2,4,2,4,2,3,2,3},1)&MID(B3,{4,3,4,3,4,2,4,2,3,2,3,2},1)),0)*4,1),1)

jyo3

みなさん、
お付き合いいただき
感謝致します

からくちさん、sakudaさん、niさん
2×3単語でも・・・出来そうな、、、気がしてきます

からくち

>2×3単語でも
B3 の文字数だけ一定なら、、、
単語数・単語文字数は決まって無くても
出来ると思います
ただしリスト列の作り方の方が難しくなるのでは

y sakuda

難癖つけるのが趣味ってわけじゃないですが、チェック用プログラム作ったんでw
ジョー3のペアも、
いいかか、かいかい、いかいか
で同じものがでちゃいますね。

ここが、問題の素晴らしい所とも言えます。システム設計やテストをする場合、分かってみれば当然見たいな所に誰も気が付かず、大トラブルになるって良くあります。
トラブル起こると「なんでちゃんとテストしていないんだ」といろんなところから非難されますが、テストケースどんなに良く考えてもこういうのを誰もおもいつかず、すっぽ抜けるってのが実情です。

y sakuda

この問題、性格上長くなるのは初めから分かってました。
更に、単純な発想で力仕事やるだけだと思ってましたが、結構工夫の余地がありますし、からくちさんの回文みたいな発想も出てきて、長大な回答しかない問題にもかかわらず結構おもしろかった^^
昨夜と言うか今朝投稿した改善案なんて、ボヤっとしながら、なんぼなんでも一か所訂正するのにこんなバカな方法じゃ情けないなと眺めてたら閃きました。

jyo3

>テストケースどんなに良く考えてもこういうのを誰もおもいつかず、すっぽ抜けるってのが実情です。
ありがとうございます。

>からくちさんの回文みたいな発想も出てきて、長大な回答しかない問題にもかかわらず結構おもしろかった^^

わたしも、、裏から・・・やりかけたけど、、からくちさんのような、技術がない。

ni

>2×3単語でも
からくちさんの式を使って3単語バージョンを作成してみました。
=LOOKUP(1,0/FIND(G$2:G$50,SUBSTITUTE(SUBSTITUTE(B$3&MID(B$3,2,1)&MID(B$3,4,1)&MID(B$3,1,1)&MID(B$3,3,1)&MID(B$3,2,1)&MID(B$3,5,1)&MID(B$3,1,1)&MID(B$3,6,1)&MID(B$3,5,1)&MID(B$3,3,1)&MID(B$3,6,1)&MID(B$3,1,1)&MID(B$3,4,1)&MID(B$3,2,1)&MID(B$3,6,1)&MID(B$3,3,1)&MID(B$3,5,1)&MID(B$3,4,1)&MID(B$3,6,1)&MID(B$3,4,1)&MID(B$3,3,1)&MID(B$3,1,1)&MID(B$3,5,1)&MID(B$3,2,1)&MID(B$3,1,1),D3,),D2,)),G$2:G$50)

時々2つ目と3つ目が同じ解を返してしまいます。(><)


回文文字列準の一例 1234562413251653614263546431521

jyo3

>からくちさんの式を使って3単語バージョンを作成してみました。
わかわかしい・・・・・

くまぷー

今回のジョー3さん、3連戦も一段落したと思いますので
もしも、ジョー3さんのお許しが出れば、
3連休でもありますし、予定を早めて第311回を公開したいと思いますが・・・

ジョー3さん、如何でしょうか?

jyo3

>もしも、ジョー3さんのお許しが出れば、
賛成です。

許しなんて、、要りませんですし、、、

くまぷー

>許しなんて、、要りませんですし、、、

有り難うございます。
それではお言葉に甘えて・・・

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

(URLは自動的にリンクされます。)

アカウント情報

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

処理中...

2025年1 月

      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 メニュー

メールを送信