
現在、私は仲間内で行っている麻雀の成績をエクセルで集計しております。
エクセルの表計算機能を用いれば、順位や平均ptなどの指標を計算・表示できるのですが、さらに複雑な指標を出そうとすると、さすがに関数が複雑になりすぎてしまいます。
そこで、プログラミングを用いて様々な指標を計算したいと思っています。
この場合、毎週増えていく成績をどのようにプログラム内に蓄積していくのがスマートなやり方なのでしょうか。
僕が思いついたものとしては、とあるフォルダ直下に各週の成績を記入したテキストファイルを保管していき、プログラムを走らせるたびにそれらを全部読み込んでいく手法です。
例)20220108.txt
Aさん/Bさん/Cさん/Dさん
60/3/-20/-43
-25/-10/30/5
4/50/-33/-21
こういうファイルがたくさん保管されていきます。
各ファイルを読み込んでいけば、これまでの成績が集計されて、指標などが計算できるというわけです。
しかしこの方法だと、毎回最初からの記録を読む必要があるので、その点がスマートではないと感じました。
より良い方法がありますでしょうか。
教えていただけると幸いです。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
テキストファイルで管理するくらいならAccessを用いて作成しても宜しいのでは?
VBAもありますけどクエリによる集計で収まるかもしれないですし。
麻雀はした事ないですけどね。
データ量として大きくなるなら、VisualStudioのVBやVC#などでSQLServerに接続してって事もありますけどちょっと敷居が上がりますかね。
データベースならファイルを分ける手間もありませんし〔テーブルが分かれるかは何を作るかで決まりますけど〕、ファイルを起動した際には準備が整ってて後はどんな情報が欲しいか指示すればデータを集め加工も出来るでしょう。
スキルアップしていければと言う条件はありますが。
No.4
- 回答日時:
No.2の補足について。
>結局、点数から順位を出したり、連続トップ回数などを算出したりするときに、プログラミングでリストに格納しますよね?
よね?と言われましても質問者さんが何を求めての事なのかは、麻雀をしない私には不明ですが、どこからリストが出てきたのでしょう?
データベースには抽出したい条件を送り込み、それにヒットしたデータを抽出するって感じです。
その過程において計算が必要ならクエリで関数を使ったり、VBAでユーザー定義関数を作成しておくなどはありますよ。
Pythonをご希望であればそれで宜しいのでは?
私は複数のテキストファイルを弄るのであれば(日付順に読み込むなど)、データベース化された方が楽じゃないかなってだけの事です。
>しかしこの方法だと、毎回最初からの記録を読む必要があるので、その点がスマートではないと感じました。
この部分を重視してです。
No.1
- 回答日時:
こんばんは。
現状、Excelで計算されているとの事ですよね。
プログラムを用いてとの事ですので、Excelの機能の1つである、VBAで
算出されるのは?と思いました。
計算部分のプログラムが見付かりませんが、VBAで下記の様なゲームと
しては見付かりますね。
https://excel-ubara.com/excelvba5/EXCELVBA286.html
http://home.att.ne.jp/zeta/gen/celljong/index.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
みんなに挑戦してほしい「色彩検定」
これまで多くの方々が受検したが「色彩検定」。その目的や活用法は人それぞれ。今回は、色彩検定に影響を受けた男女3名にインタビュー。
-
誰か助けてください。 私はプログラミングに興味がないのにそういう大学に入学しました。 当然、目的もな
その他(プログラミング・Web制作)
-
プログラミングについて質問があり投稿させていただきました。 現在考えているのが0~4秒の間はAの作業
その他(プログラミング・Web制作)
-
プログラミングを勉強しているのですが、作りたいものがないためやる気が出ません。 全く作りたいものがな
その他(プログラミング・Web制作)
-
4
プログラムで重複した時間帯は、除去する方法
その他(プログラミング・Web制作)
-
5
プログラミング言語の勉強の仕方について
その他(プログラミング・Web制作)
-
6
Microsoft Visual Studio Code 使用不可!・・・を覆せる?
その他(プログラミング・Web制作)
-
7
ひんとをおしえてください。私より頭いいお友達とかに聞いたけど、わかりませんでした。答えは聞いたらずる
C言語・C++・C#
-
8
パイソンを使ってエクセルで作った各会社ごとの売り上げを一つのエクセルにまとめる
その他(プログラミング・Web制作)
-
9
python for文で iの書き方がわかりません。。。
その他(プログラミング・Web制作)
-
10
【至急!!!】c言語のプログラムを書いて実行しようとすると、英語で「プログラムがリソースを消費しすぎ
C言語・C++・C#
-
11
プロゲートを終えて絶望しています...
その他(プログラミング・Web制作)
-
12
このエラーの治し方を知りたいです。
その他(プログラミング・Web制作)
-
13
正規表現に当てはまる文字列を教えてください。 下記の正規表現に当てはまる文字列を何でも良いので例をい
その他(プログラミング・Web制作)
-
14
どのプログラミング言語が最強ですか?
その他(プログラミング・Web制作)
-
15
VBAプログラミング
その他(プログラミング・Web制作)
-
16
プログラミングに必要なソフト Python初心者です。 いざプログラミングを実行するにも必要なソフト
その他(プログラミング・Web制作)
-
17
このコードを実行すると無限に結果が出てくるのですがなにかうまくまとめる方法はあるでしょうか?目的は解
C言語・C++・C#
-
18
連想配列について
Visual Basic(VBA)
-
19
配列の書き出しコードについての質問
Visual Basic(VBA)
-
20
複数のcsvをVBAでマージする方法をご教示ください!
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
バッチファイルでウインドウを...
-
5
モジュラス103の計算とは何でし...
-
6
排他的論理和 BCC(水平パリテ...
-
7
C言語についてです。 再帰を使...
-
8
CとFORTRANの計算速度はどちら...
-
9
C# 計算処理中に実行中ウィン...
-
10
VBAで関数をつくる
-
11
数値計算の高速化 (cos, sin, exp)
-
12
階乗のマクロ
-
13
VBとVBAの違い
-
14
VBAの再計算が反映されない件に...
-
15
EXCELなどで「返す」という表現
-
16
2次元ラプラス方程式を差分法で...
-
17
整数aを入力し、aの2乗、3乗...
-
18
スレッド処理からダイアログを...
-
19
引き放し法による除算アルゴリ...
-
20
べき乗の計算が遅い理由
おすすめ情報
公式facebook
公式twitter
Pythonを想定しておりました。基本的な操作(リストや入出力)はできます。
回答ありがとうございます。
初歩的な質問で恐縮なのですが、Accessなどでデータベースを作成したあと、結局、点数から順位を出したり、連続トップ回数などを算出したりするときに、プログラミングでリストに格納しますよね?
(すべてをクエリで処理できるとは思えないので)
となると、プログラムの最初にとりあえずデータベースに読みにいって、値を取得し、そのあと諸々の処理をしていく、というのが普通でしょうか?