« 関数で出来ますか~? 第337回 酔っ払いJ | メイン | 関数で出来ますか~? 第339回 無数値数字 »

2020年6 月 3日 (水曜日)

コメント

ni

うう、問題がややこしい ^^;
新たな当選者がいない回の処理と、100人超えて終了表示がポイントかな。

ni

あああ、ダブり当選の排除もあるのかぁ

ni

>ただし、一時抽選で2回以上同じ番号が出た場合は、その人数は合計される。
うわあああぁぁぁ

くまぷー

>うわあああぁぁぁ

叫び声が・・・
しかし、niさん以外の声が聞こえない・・・

ni

>しかし、niさん以外の声が聞こえない・・・

^^;

まだ文字数は早いですよね。
一応2桁、1桁目と2桁目の和で11

min

出てますね。

これまでマニアックな問題が続いているので
息抜きに実用的な問題です。

簡単な問題なのですぐ終わると思います。
くまぷーさんすみません。

この問題はQA慣れしている方は秒殺かと。

私は10年くらいQAはほとんどみません。
回答したことははるか昔に何回かありますが。

maronさんなどには本当につまらない問題かと思います。
ま、たまには良いかと。

からくち

2桁ですか、、、
それでは、、、ギブアップです

一次抽選当選番号が大凡で36~42種
同数ダブリが大凡で15~25個
1つの数値を判断するだけで2桁はわたしには無理と思いました

早々と済みません

y sakuda

いま来た。問題の意味理解できてないからスタート不可w

min

からくちさん
ギブアップするには早いかと。

単純なエクセルの集計問題ですから。

からくち

わたしは問題の解釈が出来ていないと思います
先ずは例で当選番号44で33名になっています
2回目の44は加算しない
まず最初に分からないのがここです
何故33名なのでしょう
44が2回以上あると言う事は33の他にも数字がある筈です
どっちの44だったのかの判定が出来ません
同じ数が2~4以上ありますが当然ですがその時の当選者数は別々です
この場合の1回目の44が33名
若し2回目の44が55名でも無視ですか
3回目に44が出てきた時44名だったとしてこれは加算か無しか、、、
まだまだ分からない事だらけです
済みませんです

ni

抽選券を配り終わった後での抽選なので、
抽選の最中にその抽選権を持っている人数が変化することはないと思います。

y sakuda

単純な集計・・・・ではないw
まだ、一応動くってのもできてない。

くまぷー

>単純な集計・・・・ではないw

このスレのトップに張ってある画像のG列「最終当選者累計」のデータは
私の解答に基づくものです。

単純な集計だと思ってやったから
ひょっとして違っているかも・・・

みなさん、「解答用参考ファイル」を参考にしてください m(__)m

ni

くまぷーさん
14回目の抽選86は、11回目の抽選86と当たりがダブっているので、加算してはだめですよ。

maron

>maronさんなどには本当につまらない問題かと思います。
◆秒殺で殺されました(ただ今、考え中です・・・)

maron

◆なかなかできません(休憩中・・・)

ni

17回目の当選番号86番も3回目のダブりですね。

左の表で各抽選券を持っている人数が確定し(ここでは同じ番号もありうる)、
最終抽選ということで当選番号が順次発表、
当選番号に同じ番号が2回以上表れてもそれらは1回の当選としてカウント
なので、同じ当選番号が2回以上表れても2回目以降はカウントしない

ですね。

からくち

>2回目以降はカウントしない
と言う事は、、、
44・・・22
44・・・35
44・・・52
44・・・45
こんなのがあっても
プラスされるのは最初の22のみで良いのですか

からくち

>秒殺で殺されました
したのでは無く、、、されたのですか、、、

正直問題を良く理解出来ていませんが
多分超簡単な問題と思います
ただ、、、やたら長~い式になるのでは、、、
わたしにはですが
とても2桁など、、、夢のまた夢、、、
と言う事でギブと言いました
でも考えますが2桁にならなければ、、、です

ni

>プラスされるのは最初の22のみで良いのですか
右の表で同じ当選番号が何回表れても、それは1回の当選です。
抽選券1枚と商品一つ引き換えみたいな。

なので、からくちさんの質問に対しては「はい」と言いたいところですが、

>44・・・22
>44・・・35
>44・・・52
>44・・・45

これが左の表のことであれば、
44番を持っている人は22+35+52+45=154名
なので、右の表に当選番号44番が出た時点で最終当選者累計は+154されます。

ni

左の一次抽選、当選というのを、抽選券配布 と読み替えれば理解しやすいと思います。

からくち

一応ですが、、、79

くまぷー

>くまぷーさん
>14回目の抽選86は、11回目の抽選86と当たりがダブっているので、加算してはだめですよ。

今頃になって・・・

>うわあああぁぁぁ ×2

からくち

少し減って、、、73
ただし解釈が合っていればですが、、、

y sakuda

どうにか、100ちょっとで動いたけど・・・
1.解釈があってるか不明
2.解釈があってても、正解かどうかわからんw

多分皆さん同じでしょうからなんか作ります。

からくち

>解釈があってるか不明
わたしは、、、
F列の値と同じ値がB列にあればC列を加算
例え同じ値が複数あっても全て加算
ただしF列の値は1度限りで
2度目からは加算しない
前行が100以上になったら以下「終了」と表示
また出だしで無い場合は0と表示
上記がわたしの解釈です
若し違っていましたら教えてください

からくち

前記で良いなら、、、76
終了です

からくち

>少し減って、、、73
>前記で良いなら、、、76
増えた理由、、、
F列に同じ値が一杯出てしまった
ここまでは想定外でした、、、

からくち

>最終当選者累計が100を超えた時点で打ち切りとするため、
>100以上となった時点で
(1)100を超えたとは最低101
(2)100以上とは最低100
これ1文字の差が式に出ますが、、、
76は(1)、、、(2)なら75

min

まだ携帯からなのでよく見てませんが、変なことになってすみません。

たぶん、niさんがフォローしてくれているとおりだと思います。
ありがとうございます。


>最終当選者累計が100を超えた時点 ×
>100以上となった時点で 〇
でお願いします。
当選者が100以上
つまり99だったらまだ終了ではありません。

説明がごちゃごちゃしすぎ?
重ねてすみませんでした。

ni

列参照にしたらめちゃくちゃ重たくなってしまいましたが63

jyo3

ただいまーーー

で、
のんで、、
見てみたら、、、

うむーーーー

明日にしようかな―――

あはは、、、さけのせいかも、、、

min

帰って来ました。

最初携帯で見たとき、最終当選者累計欄に結果が入っていたので、
もしかして解答の計算式を入力したままのファイルを送ったのかと
心配になりました。
くまぷーさんが気を利かせて入れてくれていたのですね。
ありがとうございます。

でも、結果的に?になってしまったところもあります。
全ては説明がややこしかったのが原因なのでしょうが。

パフォーマンスではなく、ホントに簡単な問題だと思ったのですが、
説明がややこしい部分もあったことは当初から認識しておりました。

そのため、ファイルの右側に結果例を記載したのですが、
それでも伝わらなかったみたいですね。
反省。。

ちなみに、検証用というか、確認用に作った式は71でした。
解答用はそれよりちょっと短いですが。

後でもう少しコメントしますね。

min

>F列の値と同じ値がB列にあればC列を加算
>例え同じ値が複数あっても全て加算
>ただしF列の値は1度限りで
>2度目からは加算しない
>前行が100以上になったら以下「終了」と表示
>また出だしで無い場合は0と表示

そのようになります。

min

最終抽選の当選番号に対応する一時抽選の番号が2回以上ある場合は、その一次抽選の当選人数すべてを加算する。


最終抽選で引いた番号をその後の最終抽選で同じ番号を引いた場合
2回目以降の同じ番号は無効となり対応する当選者数は累計欄に加算されない。


説明を重ねるとかえってわかりにくくなるような。。

やっぱり、右下の表の注意書きを見てもらえればわかるような??

ni

何とか62までダイエット

y sakuda

普通こういうの、VBAでやるの簡単なんですが、これは頭がこんがらがって、てこずりました。
くまぷーさんの式でテストしてから公開してください。

VBAやってる内に大分進んじゃってる^^;
明日頑張れれば頑張る

y sakuda

明日やるつもりだったけど、寝そびれて、チャレンジ
83にはなったけど、60台とか70台ってのは遠い彼方w

くまぷー

sakudaさん、チェックマクロ、いつもありがとうございます。

>くまぷーさんの式でテストしてから公開してください。

私がまだ、出来ていないのでチエックOKがでてはいなのですが
不具合のある解答案はすべてNGがでますので公開させていただきます。m(__)m


くまぷー

今、やっと99

y sakuda

昨夜と言うか今朝、83やった後、多分またなにか浮かびそうな気がしたので、メモも持ってベッドへ・・・
やはり、寝ようとしたとたんに次から次へ細かいアイデア。
大丈夫そうなのは3種あって、起きてから試してみたら、75、77、77。

y sakuda

やっと、68(70?)

VBAでチェックされる場合、もし、右側にスクロールバーが出て正解がかくれてしまうような症状が出た場合、次のようにしてください。
開発⇒デザインモード⇒リストボックスを選択⇒ドラッグで縦幅を広げる
これで、スクロールバーが消えて見えるようになるはずです。

くまぷー

やっと84

くまぷー

前記で良いなら、、、76
終了です

★終了宣言
1. からくちさん
2. 
3. 
4. 

y sakuda

66(68)そろそろ限度が近いかな?

からくち

>66(68)そろそろ限度が近いかな
若しG3が空白なら、、、65
でも空白では無いので、、、

若しかして配列ですか、、、

y sakuda

>若しかして配列ですか、、、
2013でやってないので、確かじゃないですが、微妙な感じです。

min

帰って来ました。

sakudaさん ありがとうございます。

解答例でマクロを動かしてみました。

で、無事1000回チェック終了でした。

それにしても、期待した解答はなかなか出てこないですね。

maronさんも出てこられないし。
なんか申し訳ない気持ちです。

いっそのこと、自分の解答例は禁止にしようかなあ。
と悩んでしまう。

明日は、所用があるので、午前中は携帯を含めてこのサイト確認不能です。

また、後で、、

min

ちなみに 皆さんの式は何種何関数でしょうか。
私の解答例は3種2関数です。

min

>解答例は3種2関数です。
ううう、間違い
解答例は3種3関数です。

ni

>解答例は3種3関数です。
えー、そんなのでできるんだ
62は5種5関数も使ってる

からくち

お~い、、、ジョー3さん~~
居るか~~~、、、
藤井聡太君が遂に最年少挑戦者になってしまったよ

y sakuda

私の66は4種4関数です。

jyo3

>遂に最年少挑戦者になってしまったよ
あはは、、、ごめんごめん、、、
そっちを、、すっと、、、見たりで、、、
こっちはさっぱり・・・・・いま、、、ちらっ・・・と、、、こっち、、見ただけ、、、

からくち

>私の66は4種4関数です
73、、、5種5関数
何一つ無意味が無い様に見えるけど、、、
意味無いのがあるのだろうな、、、
悔しいけど、、、分からない

まだわたしだけか、、、終了は、、、

min

今回の問題、まさに関数で出来ますよ。
です。

普段使わないとは思いますが、
条件にあった数を集計するです。

このような質問はQAにありそうなのですが、
意外とないのかな?

エンジン部分は関数1こです。
もしかしたら教科書にものっているのでは?

では、しばらく缶詰めです。

からくち

>このような質問はQAにありそうなのですが
問題作りのネタ探しに覗きに行ったりしますが
今は殆どの回答がSUMPRODUCT
2000くらいだったかな、、、最初に出したのは
出さなければ良かったと、、、反省

何時も朝にひげを剃る
しかし接触禁止故誰にも会わない
仮に会ったとしてもマスクをしている
何の為のひげ剃りかなと思ってしまった

ni

>エンジン部分は関数1こです。
これだと思うんだけど、うまく集計できない orz

min

SUMPRODUCTは配列数式とは違ってとても使い道のある関数だと思います。

>これだと思うんだけど、
たぶんそれですね。

缶詰めから出ました。

で、しばらくは外から見ます。

min

>何の為のひげ剃りかな

気持ちわかります。

y sakuda

64(66?)になりました。

min

エンジン部分は関数1こではなくて62とか64なんて、すごいなあ。

y sakuda

>私の66は4種4関数です。
5種5関数でした。64も関数変わったけど、5種5関数。
しかし、minさんの3種3関数って・・・機能的に足りてるのかったきがw
どんなんだろ?

jyo3

さて、、、
皆さんごめんなさい

藤井君に、、、、つきっきり・・・・でした。

・・・・・・・・・・・・・・・・

それとあと、、、

世の中、、、悩みの多い方・・・たくさんおられますね―――

ここは、、、・?!・・・??、、!!、、、

y sakuda

私は、出られないのに困ってるだけ^^

y sakuda

私も64で終了です。

ni

62で終了
だけど63の方がきれい

メインエンジン1関数は分かりません

くまぷー

お早うございます。

>藤井君に、、、、つきっきり・・・・でした。
普通のTV番組で30分ぐらい?藤井君のことを取り上げt離る物もありましたね~

★終了宣言
1. からくちさん
2. sakudaさん
3. niさん
4. 

からくち

この問題は何を持ってメインエンジンと言うか、、、
これがこの問題の全てと言っても良いような、、、
エンジン部分だけなら20台でOK
でもそれにダブリは省く・100超えは終了、、、
これらがもっと文字数を使う
どっちが、、、問題、、、
と思ってしまった

min

この問題、あれを使わないとやるだけならできますが、
短くを考えると結構面倒ですね。

その意味では60台の解答はすごいと思います。

このような問題を出したのは失敗なのか?

当初たまには実用的な問題をと思い
適当に表を作り、解答を考えたとき、
あれがぴったり使えるのではないかとなり、
やってみたら簡単にできました。

したがって、関数をよくご存じの方には意外と簡単なのではないか。
と認識してしまいました。

でも、考えてみれば意外と使わない方法ですね。
そういえば実務でもほとんど使う機会がないかも。

ただ私は、過去の問題で時々その方法を使うことができないか考えていました。

それも、毎回考えるわけではないので、過去問でも使えた場合があったのかもしれません。

ということで、すぐに終わるなんて誤認していました。
説明も理解しづらく、つまらないことになり、申し訳ありません。


ということで、解答例の文字数だけ発表させていただきます。
3種3関数で49でした。。

皆さんの解答面白そうで、たのしみです。

min

最終当選者数を算出するのに1関数

100以上の場合に終了と表示するために2関数

です。

min

四則演算子「+ - * /」は使ってません。

からくち

>3種3関数で49でした
凄いですね、、、

>エンジン部分だけなら20台でOK
29
>それにダブリは省く
これで51、、、
まだ終了になってないのに、、、

min

あら、静かになっている。。。

なんかまたまずいこと書いたかなあ(?_?)

からくち

maronさん
minさん
niさん
sakudaさん
ジョー3さん
くまぷーさん
からくち
今現在顔出ししている7名です
内1名は出題者、、、
残り6名の内4名が終了宣言で解答
夫々の事情により来られない方がいた場合
また超苦手な問題故、、、等など
果たして必ず4名が集まるか、、、
必ず4名が参加しているか、、、
とすると今までの流れから3名でも、、、と思ってしまう
ただしわたしの出題の様に超簡単だとあっと言う間に終わり
かも、、、
難しい、、、

ni

>たぶんそれですね。
私が思っていたのは、検索条件が1つだけなら集計できるのですが、
検索条件が複数、可変になるとダメ。
これじゃないんだろうけど、
ダブり排除の集計を1関数ですよね。
残り2関数は終了表示のためとして、
四則演算も使ってないとすると、関数でダイレクトに集計してるんですよね。
そんな関数、あるのかな?
fx眺めてみよう

ni

みーっけ 1関数集計 ^^
終了表示に2関数
で、
美しいのは48
頑張ったのは47

こんな関数、初めて使った

y sakuda

>こんな関数、初めて使った
なんだろ?

min

>みーっけ

ほっ、よかった!

なんとなく嬉しい

ni

それで一次抽選、最終抽選だったのか^^

ni

fx ボタン押して、使えそうな関数がないか、順番に見ていきました。

くまぷー

>残り6名の内4名が終了宣言で解答
>夫々の事情により来られない方がいた場合
>また超苦手な問題故、、、等など
>果たして必ず4名が集まるか、、、
>必ず4名が参加しているか、、、
>とすると今までの流れから3名でも、、、と思ってしまう

この問題の出題が今週の水曜日・・・
今日がまだ土曜日・・・
まだ出題から4日です。

以前の出題パターンは火曜出題の土曜解答発表(5日間)

>みーっけ 1関数集計 ^^

・・・なんてこともあるので、そんなに長すぎるとは思いませんが・・・(^^ゞ

くまぷー

木曜日に84。
今、やっと83。

>美しいのは48
>頑張ったのは47

47なんて・・・

min

で、、

>美しいのは48
>頑張ったのは47

>47なんて・・・ ×2

maronさんはどうされたのかなあ?

maron

>maronさんはどうされたのかなあ?
◆気にかけていただいて、ありがとうございます
◆59で出来たかと思ったのですが、y sakudaさん作成のものでチェックすると、100以上のところで、エラーになるので考えています・・・

maron

◆よくよく問題を見たら見間違っていました
◆49で終了です

maron

◆多分その関数は見つけていたのですが、問題の見間違いで足踏み状態・・・
◆あまりこの関数は使いませんね

◆2種2関数です

くまぷー

お早うございます。

>◆49で終了です

★終了宣言
1. からくちさん
2. sakudaさん
3. niさん
4. maronさん

それでは解答発表、お願いします m(__)m

くまぷー

=IF(MAX(G3:G$3)>=100,"終了",N(G3)+SUMIF(B$4:B$53,F4*(COUNTIF(F4:F$4,F4)=1),C$4:C$53))

83

min

さすがくまぷーさん
ポイントを押さえていますね。

いつもありがとうございます

maron

49=IF((E4>1)*(G3>99),"終了",DSUM(B$3:C53,C$3,F$3:F4))

くまぷー

>49=IF((E4>1)*(G3>99),"終了",DSUM(B$3:C53,C$3,F$3:F4))

DSUM関数だったのですか。あることは知っていましたが
使ったことはありません。このような使い方があるのですね。
勉強になりました。

>さすがくまぷーさん
>ポイントを押さえていますね。
>いつもありがとうございます

いえいえ、ただの苦し紛れです。
ここで使うののにピッタリなDSUM関数があったのに・・・

おそらく「関数で出来ますか~?」では初めてDSUM関数が出てきたのではないかと思います。
minさん、味のある出題、ありがとうございました。m(__)m

ni

63{=IF(MAX(G3:G$3)>99,"終了",SUM(IFNA(MATCH(B:B,F$4:F4,)^0*C:C,)))}
62{=IF(XOR(G3>99,E3),SUM(IFNA(MATCH(B:B,F$4:F4,)^0*C:C,)),"終了")}
48=IF(MAX(G3:G$3)>99,"終了",DSUM(B$3:C$53,2,F$3:F4))
47=IF(XOR(G3>99,E3),DSUM(B$3:C$53,2,F$3:F4),"終了")

ああ、もう一つ減らせるのか
=IF(XOR(G3>99,E3),DSUM(B$3:C53,2,F$3:F4),"終了")

min

maronさん
問題が分かればやはりmaronさんには簡単だったようですね。

くまぷーさん
>初めてDSUM関数が出てきたのではないかと思います。
ですかね?
もしかしたら、使えた問題あったかもです。

何とか期待した解答が出てほっとしてます。
47は?
そのほかの解答もどんなのか気になります。

min

xor?
知らん
ifna?
使えない

min

DSUMで2なんて考えなかったorz

y sakuda

話の流れから、DSUMだろうなとは思いましたが、使った事がなく、仕様見てもどう使うのか見当もつきませんでした。
で、極普通の64で終戦です
=IF(MAX(G$3:G3)>99,"終了",N(G3)+SUMIF(B:B,AND(F4<>F$3:F3)*F4,C:C))

からくち

やはり、、、
文字数を見てそう思いました、、、が
わたしの悪いところ、、、
嫌いな関数は使わない
OFFSET他、、、

書き過ぎてどれを出そうか迷ったけど
基本的には殆ど代わり映えしない

=IF(MAX(G$3:G3)>99,"終了",SUM(G3,(COUNTIF(F$3:F3,F4)=0)*SUMIF(B:B,F4,C:C)))

{=IF((MAX(G$1:G3))<100,SUM(SUMIF(B:B,IF(COUNTIF(F$4:F4,F4)=1,F4),C:C),G3),"終了")}

この2式、、、基本全く同じ
配列か否か
でも配列の方が長い
実に無駄な書き方の見本です

ni

>ifna
matchでヒットしなかったら#NAというエラーになるので、その場合は別の値(第2引数)を返すもの。
>xor
条件が TRUEとFALSE もしくは FALSEとTRUE であれば TRUE を返す、
TRUEとTRUE、FALSEとFALSEならFALSE
です。

y sakuda

niさんのB列からのMatch、見た瞬間???でしたw
Matchは最初使ってたんですが、
=IF(MOD(LENB(G3),7)>2,"終了",SUM(G3,SUMIF(B:B,ISNA(MATCH(F4,F$1:F3,))*F4,C:C)))
あくまでもFの重複見るためだけでした

Dsumまだ分かってない・・・・

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

アカウント情報

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

2024年3 月

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