- ベストアンサー
エクセルで得点表の作成について
おしえてください。 エクセルでバレーボールの結果を得点を入力しただけでセットカウント が記載されるように関数をくみたいのですがどうすればいいですか? 例えば 21-3 10-21 21-19 の場合2-1とセットカウントが二段目の10の前と二段目の21の後に入るようにしたいのですが・・・。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
21-3 をどのように入力するかわかりませんが、次のような様式だと 勝手に解釈しました。 A B C D E 1 21 - 3 2 10 - 21 3 21 - 19 セルA2の式 =SUMPRODUCT((B1:B3-D1:D3>0)*1) セルE2の式 =SUMPRODUCT((B1:B3-D1:D3<0)*1)
その他の回答 (2)
- nadasosou
- ベストアンサー率27% (5/18)
A B C D E 1 ● 21 - 3 2 10 - 21 ● 3 ● 21 - 19 ━━━━━━━━━━━(罫線です) 4 2 - 1 なんていう表示はどうでしょうか? A1セルに、 =if(b1-d1>0,"●","") (もしb1セルとd1セルの差が0より大きかったら、「●」を表示する。そうでなかったら「空白」を表示) つまり、左チームが勝っていたら「●」を表示する E1セルに =if(b1-d1<0,"●","") と入力して、A1セルをA2、A3にコピーします。E1も同様に下にコピーします。 そして、A4セルに =countif(A1:A3,"●") と入力(●の数を数える関数) E4セルも同様に。 この場合、上の表に示しているように、一つのセルに「21-3」のように入力せずに、 「21」「-」「3」と、部品ごとにセルを分けて数値として計算できるようにしたほうが良いですね。 また、この時、数値は、文字列として出なく、数値として入力したほうが良いです。(ひとつのセルに数値だけ入力すると、自動で数値として扱われるので心配ないですけど。) なるべく、関数で全てを片付けようとせずに、表作りの段階から考えてみてください。そうすれば、関数を使うとしても、基礎的なものだけで、かなりのことが出来るはずです。
お礼
いろんな意見ありがとうございます。参考にします。 ●を使って4段目にセットカウントが自動入力されると 公式記録結果表としては使用できないので、アレンジして使ってみます。ありがとうございました。
- Cupper
- ベストアンサー率32% (2123/6444)
B1セルからB3セルにカウントが文字列で入力されているとします。 いろいろ方法はありますが、この場合一つのセルに納めると、とても長くなることを伝えておきます。 =IF(VALUE(LEFT(B1,FIND("-",B1,1)-1))>VALUE(RIGHT(B1,LEN(B1)-FIND("-",B1,1))),1,0)+IF(VALUE(LEFT(B2,FIND("-",B2,1)-1))>VALUE(RIGHT(B2,LEN(B2)-FIND("-",B2,1))),1,0)+IF(VALUE(LEFT(B3,FIND("-",B3,1)-1))>VALUE(RIGHT(B3,LEN(B3)-FIND("-",B3,1))),1,0)&"-"&IF(VALUE(LEFT(B1,FIND("-",B1,1)-1))<VALUE(RIGHT(B1,LEN(B1)-FIND("-",B1,1))),1,0)+IF(VALUE(LEFT(B2,FIND("-",B2,1)-1))<VALUE(RIGHT(B2,LEN(B2)-FIND("-",B2,1))),1,0)+IF(VALUE(LEFT(B3,FIND("-",B3,1)-1))<VALUE(RIGHT(B3,LEN(B3)-FIND("-",B3,1))),1,0) これをA2、C2セルに入力してください。 解説: まず、文字列の中の数字を抜き出します。これは "-" で分ける必要があります。 FIND関数で "-" が何文字目にあるかを調べます。 FIND("-",B1,1) など 次に "-" の左右の文字を抜き出します。 LEFT(B1,FIND("-",B1,1)-1) RIGHT(B1,LEN(B1)-FIND("-",B1,1)) これをB1セルからB3セルまで行ないます。 抜き出した数字は文字列になっているため数値に変換します。 VALUE(LEFT(B1,FIND("-",B1,1)-1)) VALUE(RIGHT(B1,LEN(B1)-FIND("-",B1,1))) など 続いて数字の比較を行い大きい方を "1" 小さい方を "0" とします。 IF(VALUE(LEFT(B1,FIND("-",B1,1)-1))>VALUE(RIGHT(B1,LEN(B1)-FIND("-",B1,1))),1,0) IF(VALUE(LEFT(B1,FIND("-",B1,1)-1))<VALUE(RIGHT(B1,LEN(B1)-FIND("-",B1,1))),1,0) など B1セルからB3セルまでのそれぞれの結果を加算します。 IF(VALUE(LEFT(B1,FIND("-",B1,1)-1))>VALUE(RIGHT(B1,LEN(B1)-FIND("-",B1,1))),1,0)+IF(VALUE(LEFT(B2,FIND("-",B2,1)-1))>VALUE(RIGHT(B2,LEN(B2)-FIND("-",B2,1))),1,0)+IF(VALUE(LEFT(B3,FIND("-",B3,1)-1))>VALUE(RIGHT(B3,LEN(B3)-FIND("-",B3,1))),1,0) IF(VALUE(LEFT(B1,FIND("-",B1,1)-1))<VALUE(RIGHT(B1,LEN(B1)-FIND("-",B1,1))),1,0)+IF(VALUE(LEFT(B2,FIND("-",B2,1)-1))<VALUE(RIGHT(B2,LEN(B2)-FIND("-",B2,1))),1,0)+IF(VALUE(LEFT(B3,FIND("-",B3,1)-1))<VALUE(RIGHT(B3,LEN(B3)-FIND("-",B3,1))),1,0) これを "-" を付けて繋げた文字列に直します。 IF(VALUE(LEFT(B1,FIND("-",B1,1)-1))>VALUE(RIGHT(B1,LEN(B1)-FIND("-",B1,1))),1,0)+IF(VALUE(LEFT(B2,FIND("-",B2,1)-1))>VALUE(RIGHT(B2,LEN(B2)-FIND("-",B2,1))),1,0)+IF(VALUE(LEFT(B3,FIND("-",B3,1)-1))>VALUE(RIGHT(B3,LEN(B3)-FIND("-",B3,1))),1,0)&"-"&IF(VALUE(LEFT(B1,FIND("-",B1,1)-1))<VALUE(RIGHT(B1,LEN(B1)-FIND("-",B1,1))),1,0)+IF(VALUE(LEFT(B2,FIND("-",B2,1)-1))<VALUE(RIGHT(B2,LEN(B2)-FIND("-",B2,1))),1,0)+IF(VALUE(LEFT(B3,FIND("-",B3,1)-1))<VALUE(RIGHT(B3,LEN(B3)-FIND("-",B3,1))),1,0) 以上です。 このように長くなるため、入力を間違えると修正が大変です。 作業用のセルを別に設ける事を強くお勧めします。 最後は D1&"-"&E1 のように見やすくできます。
お礼
わぁ~すごく詳しくありがとうございます!!助かります。 今年の秋バレーの全国大会を控えスタッフはパソコン素人ばかりで 途方にくれてました。まだまだ教えてほしいことが一杯なんで (得失点差の勝敗とか)よろしくお願いします。
お礼
かんたんにできました。ありがとうございます。 大変参考になりました。またよろしくお願いします。