Excelで週ごとに新しいワークシートを作っています。
その毎週ごとのワークシート内の一部の範囲を指定して、その範囲内に出現する文字列の回数をカウントしてその出現回数を新規ワークシートに作成したいと考えています。
週は時間がたつに連れ増えますが、最高でも1年分です。
初めはそれぞれのワークシート内でcountif関数でそれぞれの文字をカウントし、そのあと合計ページで各ワークシートの値をSUM関数で合計していました。
しかしこれだと新しいワークシートが増えたときに非常に手間ですし、たまにワークシートが抜けてしまうことがあります。
週ごとのワークシートの名前の付け方には規則性があって、1週・2週といった感じです。
それ以外の名前のワークシートはテンプレートという名前と、合計という名前だけです。
各ワークシートの中も、基本的なレイアウトは同じで、特定の文字列の出現範囲も同じで、文字の現れ方だけが違う感じです。
「ああああ」とあって、2週目は「ああいい」3週目は「あいあい」みたいな感じです。
最終的に「あ」「い」と言う文字は全ワークシート内で何回出たか!というのを合計ワークシートに集計したいのです。
何か簡単な方法はないでしょうか?
アクセスで作ったら簡単にできたのですが、これを使う人間がアクセスは無理だということで、どうしてもExcelということになりました。
私はExcelが苦手で、countifとsumをなんとかみつけたのですが、これだと週が抜けたりとか、あまりに合計が手間なので何かあれば教えて貰いたいです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
以下はユーザ定義関数です。
標準モジュールに貼り付けます。シート名の最後が「週」のシートの指定文字の個数をすべて合計します。
文字「あ」の個数をカウントするときは、=MojiCount("あ") のようにします。
セルを引数にすることもできます。
Function MojiCount(Moji As String)
Application.Volatile
Dim ws As Worksheet
Dim rg As Range
Dim CNT As Long
For Each ws In Worksheets
If Right(ws.Name, 1) = "週" Then
For Each rg In ws.UsedRange
CNT = CNT + (Len(rg.Text) - Len(Application.Substitute(rg.Text, Moji, ""))) / Len(Moji)
Next
End If
Next
MojiCount = CNT
End Function
ありがとうございます。
さっそく試してみますね。
こういう方法は初めてなので時間がかかりそうです。
明日またどうなったか補足へ書かせていただきます。
No.3
- 回答日時:
#1です。
勘違いしていたみたいです。
1週目シートは あ をカウント 2週目シートは いをカウント
と言うふうに、カウントする内容がシートにより異なると思ってました。
補足頂いた詳細内容であれば、countif と sumだけでも何とかなりそうです。
シートを増やす場所を工夫すればいいのではないでしょうか。
シート見出しを
1週 | 2週 | 3週 | ・・・ | n週 | サンプル | 合計
と言う形で並べて、サンプルシートも1週~n週と同じフォーマットで
値を入れないでおきます。(テンプレートとして使用しても可)
1週からn週、サンプルのシートで、「あ」をカウントする位置と
「い」をカウントする位置を固定にしておきます。
例えば 「あ」のカウント位置を X1セル 「い」のカウント位置を
X2セルに指定しておいて、合計シートのSum関数を
=SUM( と入力し、1週目シートを選択し Shiftキーを押しながら
サンプルシートを選択すると =SUM('1週:サンプル'! と関数に
表示されますので、X1と入力して かっこを閉じます。
シートを増やす時は、1週~サンプルシートの間に増やしていけば
自動的に合計値に加算されます。
http://www11.plala.or.jp/koma_Excel/contents5/ma …
No.1
- 回答日時:
COUNTIFをどのシートに入れられているのか、合計をどの様にされているのか
具体的な例がないので、一般的な説明になりますが・・。
シート名を増やす時に規則性があるのでしたら、現在の関数に追加して
CELL関数を使用してみてはいかがでしょうか。
http://www.relief.jp/itnote/archives/001079.php
手順としては、シート名と該当する検索文字列の表を作成
例)シート名 検索
A列 B列
1週 ああああ
2週 ああいい
シート名を書き出したセルをA1として
=VLOOKUP(A1,検索!$A$1:$B$100,2,false)
として、該当シートの検索文字列をB1に表示
http://www.excel.studio-kazu.jp/lib/e1tw/e1tw.html
このB1の文字列を使用してCountif関数で文字列を数えて
最後に串刺し計算でCountifの値を集計
と言うような方法ではいかがでしょうか。
この回答への補足
COUNTIFを各ページに入れています
A B C D
あ い あ あ
あ あ い い
で適当な場所に
F G
「あ」の出現回数は countif(A1:d2,"あ")
「い」の出現回数は countif(A1:d2,"い")
という感じでcountを取ります
これを各ワークシートごとにやって
合計ワークシートで
あ→sum(sheet!.....)
い→sum(sheet!.....)
といった感じです。
cell関数とvlookup関数を使うのですね。
さっそく試してみたいと思います。
ありがとうございました。
補足で足りない部分がありました。
合計ワークシートで
あ→sum(sheet!.....)
い→sum(sheet!.....)
といった感じです。
の部分ですが、ワークシートが増えるごとにsum関数の括弧の中の値を増やしています。
ここでたまに抜けたりしてしまっています。
なんとかこの作業を自動化したいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数学 Tan(θ)-1/Cos(θ)について...
-
スマートな関数を教えて下さい。
-
Excel ウインドウ枠の固定をす...
-
EXACT関数とIF関数の組み合わせ...
-
4つのパターンを表示するEXACT...
-
関数を教えて下さい。
-
Excel:一部のフォントでセルの...
-
エクセルで指定した日付、店舗...
-
エクセルでセルに「氏名を入力...
-
Excel 2019 のピボットテーブル...
-
スプレッドシートの関数VLOOKUP...
-
エクセルで日付の入ったセルの...
-
Excelファイルの「数式」タブ→...
-
excelの不要な行の削除ができな...
-
Excelのif関数で文字が見えなく...
-
各ページの1番上の表示について
-
エクセル関数に詳しい方、教え...
-
INDIRECTを使わず excelで複数...
-
Excel 2019 は、SPILL機能があ...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報