- ベストアンサー
エクセルで勝敗の合計を出したい
エクセルで1日の勝敗分を記録しています 1ヶ月の勝敗分の合計を出すには どういった関数にすればいいのでしょうか? ちなみに勝敗分が入ってるセルは 分類は標準 具体的には 4勝2敗1分 と入力しています よろしくお願いいたします
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>ただ、SUM関数で合計を求めると0になってしまいます 失礼しました。 C列に =LEFT(B2,FIND("勝",B2)-1) ここままでは、まだ文字列のままでした。 C列に =LEFT(B2,FIND("勝",B2)-1)*1 と意味のない四則計算を加えてみてください。数値の取り扱いになります。 もし、B列を既に削除されているのであれば、空いている セルに 1 と数値をいれて、コピィ C~E列を選択、形式を選択して貼り付け=>乗算にチェック OK すれば、現在文字になっている値が数値になります。 月単位でまとめるのであれば、 後は、別シートに 年月 勝 敗 分 2009/6/1 2009/7/1 ・・と作成して、 A列の表示形式を yyyy年mm月 にすれば 年月 勝 敗 分 2009年6月 2009年7月 と表示されます。 勝の合計でいえば =SUMIF(元データのシート!A:A,"<"A3,元データのシート!C:C)-SUMIF(元データのシート!A:A,"<"A2,元データのシート!C:C) としてみてください。 式の意味は、元データの日付の部分が2009/7/1未満の勝ちの合計から 元データの日付の部分が2009/6/1未満の勝ちの合計を引き算するということです。 これで、2009年6月の勝ちの合計が出ます。 同様で、合計の範囲を変えれば敗でも分でも計算が可能です。 式が出来たら下へコピィすれば、毎月の集計が出ます。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
A1に2勝2敗3分 などのデータがあるとする。 (1)B1に =SUBSTITUTE(SUBSTITUTESUBSTITUTEA1,"勝"," "),"敗"," "),"分"," ") を入れる。 式を下方向に複写する。 B列の値は 2 2 3 のようになる。 (2)B列の式を消すために、B列をコピーして、B列に、形式を選択して貼り付けー値 (3)データー区切り位置ー(区切り文字)スペース でB,C,D列に(A-D列) 2勝2敗3分 2 2 3 3勝2敗1分 3 2 1 3勝1敗1分 3 1 1 (3)後は各列の足し算だけ --- 勝敗数の数字がもし全角数字でも、区切り位置操作の、ウイザード3/3の画面で各項目の「列のデータ形式」を「G/標準」に指定すると分離後には数値になって分離される。
- hallo-2007
- ベストアンサー率41% (888/2115)
>1ヶ月の勝敗分の合計を出すには ですよね、こまま >4勝2敗1分 と入力しています と入力していくと配列関数使っても大変な式になってしまいます。 早い時点で、シートの構成を変更されたほうが良いと思います。理想のシートは A B C D 試合日 勝ち 負け 引き分け 6/10 1 3 2 ・・・・ 更にもっと詳しい分析が出来るようにであれば A B C D E 試合日 相手チーム 得点 失点 勝敗 6/10 Aチーム 3 1 勝ち ・・・ 7/11 Aチーム 1 1 引き分け ・・・としてみてください。 取り合えず、現在のシートが A B 試合日 勝敗 6/10 4勝2敗1分 ・・・と入力され手いる状況だとして C列に =LEFT(B2,FIND("勝",B2)-1) D列に =MID(B2,FIND("勝",B2)+1,FIND("敗",B2)-FIND("勝",B2)-1) E列に =MID(B2,FIND("敗",B2)+1,FIND("分",B2)-FIND("敗",B2)-1) と入れて下までコピィ C~E列を選択コピィ、編集=>形式を選択して貼り付け=>値にチェックいれて OK します。 B列を削除すれば、紹介したシート構成になりますので、 後は、別シートに 年月 勝 敗 分 2009/6 2009/7 とか準備して、SUMIF関数で集計できるはずです。 これからも末永く利用できるはずです。
補足
ご返答ありがとうございます 後々のことも考えて 勝、敗、分にセルを分けて hallo-2007さんの数式を使わせてもらうことにしました ただ、SUM関数で合計を求めると0になってしまいます ちなみにセルの書式設定の表示形式の分類は「数値」です 合計は勝、敗、分の3つだけでいいのですが SUMIF関数のほうがいいのでしょうか? ちなみにこの勝敗というのは 株取引(デイトレ)の1日の勝敗分を月合計する という処理です 再度ご返答よろしくです
- KURUMITO
- ベストアンサー率42% (1835/4283)
配列関数を使ったとしても空の行が範囲に含まれている場合にはエラーとなります。 それらを無くするためには例えばA列の2行目からデータが入力されているとしてB1セルには勝、C1セルには敗、D1セルには分と入力します。 B2セルには次の式を入力したのちに下方にオートフィルドラッグします。 =IF(A2="","",LEFT(A2,FIND(B$1,A2)-1)) C2セルには次の式を入力し下方にオートフィルドラッグします。 =IF(A2="","",MID(A2,FIND(B$1,A2)+1,FIND(C$1,A2)-FIND(B$1,A2)-1)*1) D2にセルには次の式を入力し下方にオートフィルドラッグします。 =IF(A2="","",MID(A2,FIND(C$1,A2)+1,FIND(D$1,A2)-FIND(C$1,A2)-1)*1) B、C,D列をSUM関数でそれぞれ集計すればよいでしょう。 月毎の集計でしたらさらに工夫が要ります。追加してご質問ください。
補足
ご返答ありがとうございます 後々のことも考えて 勝、敗、分にセルを分けて KURUMITOさんの数式を使わせてもらうことにしました (空白だとエラーになるのを回避するやり方参考になりました) ただ、SUM関数で合計を求めると0になってしまいます ちなみにセルの書式設定の表示形式の分類は「数値」です 再度ご返答よろしくです
- popuplt
- ベストアンサー率38% (31/81)
>合計を出すにはどういった関数にすればいいのでしょうか >具体的には 4勝2敗1分 と入力しています その前に合計出来る表にしましょう。 今の入力は数字と文字ですので簡単に計算出来ません。 勝、負、分を別々のセルに入力して合計するべきでしょう。 参考程度の1例ですが、「勝」の合計を出すには =SUM(LEFT(A1:A9,FIND("勝",A1:A9)-1)*1)&"勝" 配列数式です。[CTRL]+[SHIFT]+[ENTER] 「負」「分」はご自分で・・・ 出来ないようならセルを分けることをおすすめします。
補足
ご返答ありがとうございます =SUM(LEFT(A1:A9,FIND("勝",A1:A9)-1)*1)&"勝" [CTRL]+[SHIFT]+[ENTER] でなんとか勝ちの合計は出ました 負け分けも同じようにやってみましたが エラーばかりでてしまいます やってみた数式は 【負】 =SUM(MID(A1:A9,FIND("負",A1:A9)-1,1)*1)&"負" [CTRL]+[SHIFT]+[ENTER] 【分】 =SUM(MID(A1:A9,FIND("分",A1:A9)-1,1)*1)&"分" [CTRL]+[SHIFT]+[ENTER] をいろいろ数字記号などの場所を入れ替えたりしましたが まったくだめでした 「*1」がなぜ必要なのか MID関数でいいのか...... あとうまくできたとしても この3つの数式を結ぶのは「&」でいいのでしょうか? 3つの数式を入力して最後に [CTRL]+[SHIFT]+[ENTER]をするのでしょうか? すみませんよろしくお願いします
- rukuku
- ベストアンサー率42% (401/933)
こんばんは >ちなみに勝敗分が入ってるセルは >分類は標準 >具体的には 4勝2敗1分 と入力しています これを関数で計算するのはできなくはないのかもしれませんが、相当複雑になります。 そこで、入力の方法の変更をします。 例えば、B列に勝数、C列に負数、D列に引き分け数と入力するようにすれば、SUM関数で合計することができます。
補足
ご返答ありがとうございます それが一番いいのかもしれませんが 関数の勉強のためできれば 難しいほうに挑戦してみたいと思っています 無理なら 簡単なほうに切り替えます
補足
*1 をつけると数値になるんですね 始めて知りました ありがとうございました