Perlで期間内の合致する値を集計する方法

このQ&Aのポイント
  • Perlで指定した期間で合致する値を集計する方法を教えてください。
  • サークルのメンバーリストを管理していますが、指定した期間内で全ての値が合致するデータを集計したいです。
  • 具体的には、7月1日から7月3日までの全ての値が0である人数をカウントする方法が知りたいです。
回答を見る
  • ベストアンサー

Perlで指定した期間で合致する値を集計したい

サークルのメンバーリストをHPで管理しています。 画面では○月○日という項目に出席・欠席・未定をコンボボックスから選択して登録してもらって一覧表示しています。 名前  7月1日  7月2日  7月3日  7月4日  7月5日 -------------------------------------------------- 太郎  欠席   欠席   出席 次郎  出席   出席   出席 三郎  出席   欠席   出席 ↑こんな感じです。 そこで表の上に7月1日~7月3日において全部出席した人数を表示させたいと思っています。 データはttdata.cgiに入っていて表はichiran.cgiで表示しています。 @daylist=('7/1','7/2','7/3','7/4','7/5',); @syukketsulist=('出席','欠席','未定',); ttdata.cgi内では 太郎,1,1,0 次郎,0,0,0 三郎,0,1,0 となっています。 7/1、7/2、7/3が全部0になっている人数をカウントしたら良いと思い、色々試しましたができませんでした(/_;) うまく表示できるやり方を教えてください。_(._.)_

  • Perl
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • masaboo
  • ベストアンサー率58% (7/12)
回答No.1

open(IN,"ttdata.cgi"); my @lines = <IN>; close(IN); my $count = 0; for my $line (@lines){   my @data = split(/,/, $line);   if($data[1] eq '0' && $data[2] eq '0' && $data[3] eq '0'){     $count++;   } } print $count; ################## 状況がよくわかりませんが、こんな感じでしょうか。 あと、余談ですが >コンボボックス これはリストボックスですね。

kikimimisan
質問者

お礼

わかりにくい質問の書き方にも関わらず教えていただきありがとうございました。_(._.)_ おかげさまで無事表示できました。

関連するQ&A

  • Perlで項目の集計をしたい

    サークルのメンバーリストをHPで管理しています。 画面では○月○日という項目に出席・欠席・未定をコンボボックスから選択して登録してもらって一覧表示しています。 名前  7月1日  7月2日  7月3日 ------------------------------------ 太郎  出席   欠席   出席 次郎  欠席   出席   出席 三郎  出席   欠席   出席 ↑こんな感じです。 そこで表の上に7月1日の出席人数○人、欠席人数○人、未定人数○人という感じで表示させたいと思っています。 データはttdata.cgiに入っていて表はichiran.cgiで表示しています。 @daylist=('7/1','7/2','7/3','7/4','7/5',); @syukketsulist=('出席','欠席','未定',); ttdata.cgi内では 太郎,0,1,0 次郎,1,0,0 三郎,0,1,0 となっています。 いろいろ調べてみましたが解決できませんでした。 もしわかる方がいましたら教えてください_(._.)_

  • エクセルの集計での質問

    A列に日付、BからF列に担当者名(1~5)が入っています。 この表で誰が何日稼働したか調べたいのですが、日付の被りがあるのと、例えば▲▲さんが「担当者1」、●●さんが「担当者2」と決まっているわけでなく、早いもの順に「担当者1~5」までに名前が入っています。 A B C D E F 日 担1 担2 担3 担4 担5 1/3 太郎 次郎 花子 三郎 和子 1/3 次郎 太郎 三郎 美和 和子 1/4 花子 次郎 孝夫.......... この場合求められたものが 1/3 太郎 ×1、次郎 ×1、三郎×1、花子×1、和子×1 、美和×1 1/4 花子×1、次郎×1、孝夫×1 なので 太郎1日 次郎2日 三郎1日 花子2日 和子、美和、孝夫各1日 という風にエクセルで集計できないでしょうか?

  • エクセルで未入力のセルを印刷しない方法。

    多人数の出欠表を作成しています。 出席者は○、欠席者は×をセルに入力していますが、○の人だけを印刷したいのです(未回答は未記入)。 例えば、 1 山田太郎 ○ 2 田中次郎   ←未回答 3 佐藤三郎 × 4 小林四郎 ○ 5 横田五郎 ○ この場合、表示は上記の通りでよいのですが、印刷する場合に、 出席と回答した1、4、5の人のみが印刷されるようにしたいのです。 ご存知の方がいらっしゃったら回答よろしくお願いします。

  • エクセルのピボットテーブル集計ごとに印刷

    お世話になります ピボットテーブルでの印刷ですが全体の印刷はすぐに可能ですが 集計ごとの印刷は大変です。 集計ごとに印刷させるVBA等ありましたらよろしくお願いします 太郎 売り上げ|100 交通費 |100 集計 |200 次郎 売り上げ|100 交通費 |100 集計 |200 三郎 売り上げ|100 交通費 |100 集計 |200 上記がピボットとします。 太郎、次郎、三郎同時に印刷させるのではなく A4用紙1枚で太郎の表 A4用紙1枚で次郎の表 A4用紙1枚で三郎の表 と 個々に印刷させたいのですがこんなわがままな印刷ボタンできますか? わかる方ご教授よろしくお願い致します。

  • エクセルで文字列を数えて一覧表にしたいのですが

    たとえばですが、2人一組で配達に行きます。 メンバーは、太郎、次郎、三郎、四郎、五郎・・・と多人数です。 A1に太郎、B1に三郎 A2に次郎、B2に五郎 A3に太郎、B3に次郎 ・ ・ ・ と、いうような表ができます。 このとき、*郎は何回配達にいったのかをカウントしたいのです。 *郎は、A、Bのどちらに登場するかわかりませんし、 何回も登場しますし、組み合わせもばらばらです。 最終的に、太郎 15回、次郎 8回、三郎 21回・・・というように分かるようにしたいので、 仮にD1に太郎、E1に次郎、F1に三郎・・・の名前 (ダブって登場する名前を一つにまとめて、登場する全ての名前を残したい)、 D2に太郎、E2次郎、F2に三郎の回数(登場した名前の回数を数字で求めたい) というようにしたいのです。 エクセルの詳しい方、よろしくお願いします。

  • ミーティングを開いてます

    実は、月1で、Meetingを開いているのですが、 それの出席確認を毎回、メールでしています。 コレが結構、手間なのです。 できたら、WEBにアクセスしてもらって、 自分自身で、出欠の書き込みをしてもいたいのですが、 何か良い方法は、ありませんでしょうか? 表のイメージとしては、こんな感じにしたいのですが・・・。 (表がずれていたらごめんなさい。) ___________________________ |  |  |    |   |名前|8月×日|9月×日| |____|_______|_______|_____ |太郎|出席 | 未定 | |__|____|_______|_____ |花子|欠席 | 出席 | |____|_______|_______|_____ | | | | | | | | どうぞ宜しくお願いいたします。

  • Excelセルで縮小表示

    例えばセルに以下を入力しますと 山田太郎(改行) 山田次郎(改行) 山田三郎 縮小表示だと 山田太郎山田次郎山田三郎 になります。 折り返して全体表示だと 山田太郎 山田次郎 となり、山田三郎隠れて見えないのです。これを全体的に縮小表示はできませんか。お願いします。

  • 【Excel VBA】コピー&ペーストの自動化

    以下のエクセル表があり、同じ日付ごとのデータを自動的に別のシートに移したいです。 例えば、別のシートに、2004/1/1に書かれているデータのみを移す。(シート2参照) それをVBAで書くにはどうすればいいでしょうか。 マクロの記録をするのではなく、この表の日付を増やしたり変えたりしても機能するようにコードを書きたいと思っております。 For LoopとIf thenを使い、A1セルがそれより下のセルの値と異なるまでコピーし続ける、、といった作業をすればよいのでしょうか。 全くの初心者で勉強中です。よろしくお願いいたします。 列行 A B 1 2004/1/1 太郎 2 2004/1/1 次郎 3 2004/1/1 三郎 4 2004/1/1 一郎 5 2004/1/1 五郎 6 2005/3/3 三郎 7 2005/3/3 次郎 8 2005/3/3 太郎 9 2005/3/3 四朗 10 2006/2/2 次郎 11 2006/2/2 一郎 12 2006/2/2 太郎 シート2 2004/1/1 太郎 次郎 三郎 一郎 五郎 シート3 2005/3/3 三郎 次郎 太郎 四朗 シート4 2006/2/2 次郎 一郎 太郎

  • エクセルでの顧客数のカウント

    エクセルで下記のような表を作っています。 A   B       C 日付 顧客名   売上 10/1 山田太郎  1000 10/5 中村次郎  2000 10/10 鈴木三郎  1000 10/22 中村次郎  2000 10/31 山田太郎  1000 この時に、10月1か月の顧客数をカウントしたいのです。 上記であれば、山田太郎、中村次郎、鈴木三郎の3人ということになるはずです。 どのようにすればできますでしょうか。

  • phpにて出欠登録管理を作成しています。

    phpにて出欠登録管理を作成しています。 日程表の登録、表示、編集、削除まではできていますが、肝心のメンバーの出席、欠席等の登録でつまずいています。 流れとしては、ユーザーログイン→日程表→出欠登録という流れです。 出欠登録では、出席、欠席を登録した際にデータベースに登録されるようにしています。 メンバーのデータベース(DBテーブル名 member)と日程表のデータベースは(DBテーブル名 schedule)別々にしています。 出席・欠席などはラジオボタンにて作成しています。 出欠登録をするとその日程表のカラム(出席を選んだ場合は出席のカラム、欠席の場合は欠席のカラム)に名前とコメントが同時に登録されるようにしたいです。 例(山田太郎が出席を選んだ場合) | attendance(出席) | absence(欠席) | | 山田 太郎(がんばります) | | 例(山田次郎が欠席を選んだ場合) | attendance(出席) | absence(欠席) | | 山田 太郎(がんばります) | 山田 次郎(すみません) | という風に追加されていくいうものにしたいのですが。 ラジオボタンにてカラムを選ぶことは可能なのでしょうか? お分かりの方がいらっしゃいましたら、参考サイトまたはソース等をご教授いただければと思います。 わかりにくい点があるとは思いますが、ご了承下さい。 宜しくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう