【問】
B列(B5:B1004)に0~99までの数値が入っています。
この中で1番多い数値はMODEを使えば出ます。
MODEとCOUNTIF禁止でMODEと同じ値をE9に。
(からくちさん)
解答用参考ファイル: 20190514をダウンロード
***********************************************************************
解答発表は05/18(土)の20:00です。それまでは直接数式を
書き込むこと・ポイントとなる関数名を書き込むことはご遠慮ください。
***********************************************************************
あっ、、、もう出てる
易しすぎて暇を持て余すと思います
そしたら似た問題を明日にでも出しましょうか
この同じ表なので、、、
もっともそれも易し過ぎるでしょうけど
幾つか出しますか
投稿情報: からくち | 2019年5 月14日 (火曜日) 午後 12時58分
一見簡単に見えるけど、手段考え始めて見たら案外面倒ですねーー
こういうのはとにかく一度長さ考えずにやって、それから眺めるのかな・・・・
投稿情報: y sakuda | 2019年5 月14日 (火曜日) 午後 01時07分
Mode値が複数ある場合がありますが、その場合も関数Modeと同じ反応しなきゃいけないんでしょうか?
投稿情報: y sakuda | 2019年5 月14日 (火曜日) 午後 02時04分
はい、、、E6にMODEが入っていますので
それと同じ値が返れば
因みに書いてみました、、、64
投稿情報: からくち | 2019年5 月14日 (火曜日) 午後 02時32分
うーーん、かなり面倒だな。Modeと同じ反応で64??
とてもじゃないが・・・・・
投稿情報: y sakuda | 2019年5 月14日 (火曜日) 午後 03時49分
とりあえず、できたけど、軽く3ケタ^^;
投稿情報: y sakuda | 2019年5 月14日 (火曜日) 午後 03時59分
大幅にダイエットしたけど、まだジャスト100
投稿情報: y sakuda | 2019年5 月14日 (火曜日) 午後 04時26分
姑息な手段でどうにか二桁って言っても、99ですがw
投稿情報: y sakuda | 2019年5 月14日 (火曜日) 午後 06時07分
これ、難しいですよ。
良い手が浮かばん・・・
投稿情報: くまぷー | 2019年5 月14日 (火曜日) 午後 07時22分
おーーー
面白そう
でも、、、
手術まで・・・あたまが、、、、5分以上うごくと、、ぎずぎす・・
投稿情報: jyo3 | 2019年5 月14日 (火曜日) 午後 07時42分
ってことで、、、
2016のエクセルでやってみます
か、、、
投稿情報: jjj | 2019年5 月14日 (火曜日) 午後 08時40分
通常のダイエットで95
でも、なにか別の手思いつかないとこれ以上ダメっぽい。
投稿情報: y sakuda | 2019年5 月14日 (火曜日) 午後 08時54分
◆とりあえずやってみました、87
投稿情報: maron | 2019年5 月14日 (火曜日) 午後 09時55分
◆少し頑張って、77
投稿情報: maron | 2019年5 月14日 (火曜日) 午後 09時59分
◆もうちょっと頑張って、64
投稿情報: maron | 2019年5 月14日 (火曜日) 午後 10時05分
>もうちょっと頑張って、64
同じですね
ただわたしの式は何か無駄だらけに見える式です
投稿情報: からけち | 2019年5 月14日 (火曜日) 午後 10時24分
またネームが違う
投稿情報: からくち | 2019年5 月14日 (火曜日) 午後 10時24分
◆別の方法で、61で惜しいところまで行ったのですが、残念です
投稿情報: maron | 2019年5 月14日 (火曜日) 午後 10時45分
うーーん、maronさんもやはりすごいな・・・・・
投稿情報: y sakuda | 2019年5 月14日 (火曜日) 午後 11時19分
>別の方法で、
書いたら、、、66
2つ増えてしまった
投稿情報: からくち | 2019年5 月15日 (水曜日) 午前 04時28分
その昔まだエクセルも98の時だったかな、、、
Q&Aのある質問で皆さん困り回答が出ない
その時わたしは通常とは逆の式を、、、
簡単過ぎてアホらしくなるくらいの
エクセル関数の面白さの1つ
見るアングルで全く変わる事かな
いま関数が何種あるのか知りませんが
殆の場合20種もあれば出来るのでは
それは自然と上記をしているからでは
投稿情報: からくち | 2019年5 月15日 (水曜日) 午前 06時28分
全然次のアイデアでない・・・・
MODE.MULTはMODEではないと言い張ったりしてw
投稿情報: y sakuda | 2019年5 月15日 (水曜日) 午前 11時41分
>MODE.MULTはMODEではないと言い張ったりしてw
はい、、、MODEではありませんね
でも2007なのでその関数まだですね
2010からでは、、、
MSはいろいろな関数を作り過ぎ
面白さが無くなる
投稿情報: からくち | 2019年5 月15日 (水曜日) 午後 12時30分
>2007なのでその関数まだですね
どうでも良いですが、どのバージョンの回答をもとめてるんでしょうか?
今の時代普通にあるのは2013辺りが古さの限度って感じですが^^
さすがに98の動くのは私も持ってないです。2003はある。
投稿情報: y sakuda | 2019年5 月15日 (水曜日) 午後 01時33分
わたしは2007と2003しか持っていません
くまぷーさんへ
問題と全く関係ない質問をさせてください
ここのblogは無料ですか有料ですか
有料でしたら月々の料金は
エクセルとは全く無関係ですが始めようかと考え中なので
宜しかったらお教えください
メールでもここでも構いません
投稿情報: からくち | 2019年5 月15日 (水曜日) 午後 01時46分
>MODE.MULTはMODEではないと言い張ったりしてw
MODE.sgnlはMODEではないと言い張ったりしてw
投稿情報: くまぷー | 2019年5 月15日 (水曜日) 午後 04時31分
>ここのblogは無料ですか有料ですか
優良です。月500円かな。
始めはjustsystemの無料版を利用していました。
だから、justsystemに気を遣って?一太郎とか三四郎を中心にやってたんですが・・・(^^ゞ
無料サービス打ち切りということで、tyapepadにしました。
投稿情報: くまぷー | 2019年5 月15日 (水曜日) 午後 04時34分
もがいて、別の工夫してみたけど、基本のエンジンが同じなんで、却って伸びた^^;
新しいのは99止まり
投稿情報: y sakuda | 2019年5 月15日 (水曜日) 午後 05時20分
くまぷーさん、、、ありがとうございます
この問題は端からヒントを出していました
それはcountifを使うと短い式になります
故に禁止にしました
殆ど同じ様な式で他の関数で出来てしまった
数文字長くなりましたけど
投稿情報: からくち | 2019年5 月15日 (水曜日) 午後 07時29分
◆別の方法は、最頻値が複数ある時に、MODE関数とは異なる答になりますが、53です
投稿情報: maron | 2019年5 月16日 (木曜日) 午前 02時51分
お早うございます。
>MODE関数とは異なる答になりますが、53です
maronさん、凄いですね。
53で出来ちゃうんですか。
多少、modeと動きは違っても「mode紛い」ですから・・・・
投稿情報: くまぷー | 2019年5 月16日 (木曜日) 午前 08時08分
紛いの方なら、制約が減るからかなり楽になりますが、そっちでも66
まあ、ダメって分かったところで追及やめちゃってるからもう少し減るかもですが、53ってのはすごい。
投稿情報: y sakuda | 2019年5 月16日 (木曜日) 午前 11時44分
また、別の方法思いついた。アイデア段階で60台なんてのは望むべくもないのは分かってたけど、多少は短縮するかと思ったら98。
まあ、非現実的な(例えば、全部同じ数字)なんてのを考えなければ少しは減らせるけど意味なし。
どうも、100前後から離れられない^^;
投稿情報: y sakuda | 2019年5 月16日 (木曜日) 午後 03時39分
ううん、、、53
何だ~、、、どの関数を使ったのだろう
凄いです
投稿情報: からくち | 2019年5 月16日 (木曜日) 午後 03時55分
◆64:関数4種類、5個
◆53:関数3種類、3個
◆64と53に共通する関数2種類
投稿情報: maron | 2019年5 月16日 (木曜日) 午後 04時23分
>多少、modeと動きは違っても「mode紛い」ですから・・・・
◆よければ、53が46になりました
投稿情報: maron | 2019年5 月16日 (木曜日) 午後 04時56分
>>多少、modeと動きは違っても「mode紛い」ですから・・・・
>◆よければ、53が46になりました
ぐぇっ!!
完全に心が折れました・・・orz
投稿情報: くまぷー | 2019年5 月16日 (木曜日) 午後 04時59分
>◆よければ、53が46になりました
どうもならんな;;;
投稿情報: y sakuda | 2019年5 月16日 (木曜日) 午後 05時02分
◆心配になってきたので、確認したいと思います
◆確認用のマクロをお願いします
投稿情報: maron | 2019年5 月16日 (木曜日) 午後 06時06分
Sub Check()
Dim wCnt As Long, I As Long, wFlg As Boolean
wCnt = 1000
With ActiveSheet
wFlg = False
For I = 1 To wCnt
.Calculate
If .Range("E6") <> .Range("E9") Then
wFlg = True
Exit For
End If
Next
If wFlg Then
MsgBox "Error " & I
Else
MsgBox "Complete " & wCnt
End If
End With
End Sub
これで、ActiveなシートのMode欄と答え欄のチェックをやります。
Mode値が複数ある場合は対象にしてませんが、
複数MODE値はご承知と思いますが
=INDEX(MODE.MULT(B$5:B$1004),ROW(A1))
これを下に数個コピーして置けば複数あるかどうか分かります。
投稿情報: y sakuda | 2019年5 月16日 (木曜日) 午後 10時18分
Mode紛い版のチェックプログラムです。
多分大丈夫だと思いますと言う程度の代物
Sub OtherModeCheck()
Dim wCnt As Long, I As Long, J As Long, K As Long, wFlg As Boolean, wMax As Long, wUB As Long
Dim wAry(1000) As Long, wCntAry(99) As Long, wMode, wFlg2 As Boolean
wCnt = 1000
With ActiveSheet
wFlg = False
For I = 1 To wCnt
.Calculate
wMode = Array()
For K = 1 To 1000
wAry(K) = .Cells(K + 4, 2)
Next
For K = 0 To 99
wCntAry(K) = 0
Next
wMax = 0
For K = 1 To 1000
J = wAry(K)
wCntAry(J) = wCntAry(J) + 1
If wMax < wCntAry(J) Then
wMax = wCntAry(J)
End If
Next
For J = 0 To 99
If wCntAry(J) = wMax Then
wUB = UBound(wMode) + 1
ReDim Preserve wMode(wUB)
wMode(wUB) = J
' MsgBox J
End If
Next
wFlg2 = False
For K = 0 To UBound(wMode)
If wMode(K) = .Range("E9") Then
wFlg2 = True
Exit For
End If
Next
If wFlg2 = False Then
wFlg = True
Exit For
End If
Next
If wFlg Then
MsgBox "Error " & I
Else
MsgBox "Complete " & wCnt
End If
End With
End Sub
投稿情報: y sakuda | 2019年5 月16日 (木曜日) 午後 11時49分
何時もは最初の二日くらいでアイデア尽きてそれっきりなんだけど、珍しくまだ粘ってます。
まあ、何やっても、100前後で結果はついてきませんがw
最初の頃、これ使えばと考えた手法、明らかな欠陥があって捨てたんだけど、再チャレンジ。
お飾りが多くなって軽く100オーバーだけど、このアイデアは出来ただけで満足^^
投稿情報: y sakuda | 2019年5 月17日 (金曜日) 午後 05時36分
◆もう一つ別の方法で、75
◆ただし、3つとも共通する2種類の関数を使っています
◆おまけに、46は配列数式です
投稿情報: maron | 2019年5 月17日 (金曜日) 午後 07時33分