エクセル の学校
8.一覧 9.HOME
1.Top 2.Last

[[20260214102153]]

[ 初めての方へ | 一覧(最新更新順) |

|
| 全文検索 | 過去ログ | エクセルの学校HOME ]

 

『背景色のみで何回行ったかを集計したい』(えむ)

ちょっと説明しづらいし、 同僚に出来るの?と言われたことなので 私自身イメージがフワついてるのですが、

例えば、渋谷▶︎青、原宿▶︎黄色、銀座▶︎赤 1/1▶︎渋谷 1/2▶︎原宿 1/3▶︎銀座 1/4▶︎原宿 1/5▶︎原宿 1/6▶︎渋谷 1/7▶︎銀座

日付を入力して背景の色を変えるだけでは、 その場所に何回行ったのか別のセルにカウントすることは 出来ませんよね?

場所の名前はいちいち入力せず、場所を背景色で表して その場所に計何回行ったかをいちいち色を数えずに 別セルで合計が出るようにしたいらしい、、

文字を入れないと難しいと思うのですが、 出来るのか、、

出来ないとしたらなにかいい案ございましたら ご教授ください( ; ; )

伝わるかな、、伝われ、、、

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


発想として(マクロを使えば)可能ですが、オススメしません。 入力作業を単純化したいという話なら、入力規則のリストを使ってはどうでしょうか?

(もこな2) 2026/02/14(土) 11:42:45


もこな2様>> マクロ、、初耳です(o_o) 差し支えなければ、おすすめしない理由を教えてください!

入力規則のリスト、、 恥ずかしながらこれも初耳です笑

調べてみようと思います! ありがとうございます!! (えむ) 2026/02/14(土) 11:48:56


スマホからなのでコードをすぐに示せませんが、マクロって初耳という状態ならなおさらオススメしません。 なお、入力規則の案は、日付と着色(の条件に)するセルを変えるのが前提です。

(もこな2) 2026/02/14(土) 12:06:43


 古い関数?なのでmicrosoftが使用しないことをお勧めしていますが、

 excel4.0 マクロに get.cell()という関数があります。
 名前の定義に
   好きな名前 :=lambda(c,get.cell(63,c))  
 とすると背景色を取得できます。
   colorindexで取得するので仕様が面倒なんですが、
 一応やれますよとだけ
(ちくわ) 2026/02/14(土) 12:51:40

もこな2様>> ではマクロ聞かなかったことにします笑

それも踏まえて調べてみます! (えむ) 2026/02/14(土) 13:13:52


ちくわ様>> Microsoftが使用しないことを勧めているならばやめた方がアンパイですね、、

ありがとうございます! (えむ) 2026/02/14(土) 13:21:57


>いい案ございましたら >ご教授ください( ; ; )

色を使わずに符号にしたらどうですか。

    |[A]   |[B] |[C]|[D] |[E] |[F] 
 [1]|日付  |場所|   |場所|符号|回数
 [2]|1月1日|A   |   |渋谷|A   |   2
 [3]|1月2日|B   |   |原宿|B   |   3
 [4]|1月3日|C   |   |銀座|C   |   2
 [5]|1月4日|B   |   |    |    |    
 [6]|1月5日|B   |   |    |    |    
 [7]|1月6日|A   |   |    |    |    
 [8]|1月7日|C   |   |    |    |   

(これでどう) 2026/02/14(土) 14:09:58


やりたいことは 「日付を入力したセルの背景色を変更し、それぞれの背景色が何回あるかを数えたい」 ということですよね?

そのような集計方法はExcelにとってはイレギュラーな部類になるので、 既に説明があるように、マクロ(Excelで行う操作手順を記録・プログラムして自動で実行させる機能)を 用いる話になってくるわけです。

Excelのデータとして取り扱いやすい形は(これでどう)さんが提示しているような、 日付と場所を分けた形になるでしょう。 これであれば、集計することも容易です。

ですので、そもそも論として、日付を入力したセルの背景色で行った場所を示さなければならない理由はなんでしょう? そこの説明があれば、別の妙案が示されるかもしれません。

集計一覧表を用意したい、とうことでなければ、 オートフィルターの色フィルターで背景色を絞り込み、 SUBTOTAL関数で可視セルを数えるという方法があります。 (猫目石) 2026/02/14(土) 15:15:06


 推奨されていないようですが、マクロの例です。

 Alt + F11
 「挿入」→「標準モジュール」
 右側に白いコード画面が出るので下記を貼り付け。

 Option Explicit
 Function CountColor(TargetRange As Range, ColorSample As Range) As Long
    Dim CountResult As Long
    Dim Cell As Range
    Dim SampleColor As Long

    SampleColor = ColorSample.Interior.Color
    For Each Cell In TargetRange
        If Cell.Interior.Color = SampleColor Then
            CountResult = CountResult + 1
        End If
    Next
    CountColor = CountResult
 End Function

 A1:C3 に集計、10行目以降にデータがある場合の例です。
 A	B	C
 渋谷	🟦	=CountColor($A$10:$Z$1000,B1)
 原宿	🟨	=CountColor($A$10:$Z$1000,B2)
 銀座	🟥	=CountColor($A$10:$Z$1000,B3)

 Wird diese Antwort auch gelöscht?
(künstliche Intelligenz) 2026/02/15(日) 21:52:42

 なんか、英愛さんの投稿があったはずなのに消えていますね。
 第三者が消したのでしょうか。それでそういうドイツ語のコメントなんですかね。
 人の投稿を消すのはひどいです。止めて下さい。

(xyz) 2026/02/15(日) 23:26:21


 今回の場合は「マクロ」というより「UDF(User Defined Function)」
 と呼ぶ方が適切でしょう。xyzさんの回答はそれに該当します。

 どちらもVBAで記述しますが、
 UDFはワークシート関数としてセル上から呼び出せる自作関数です。

 COUNTIFなどの組み込み関数では対応できない処理
 (例:背景色のカウントや、複雑なロジックの計算)
 を行いたい場合にUDFが用いられます。

(Asa) 2026/02/16(月) 20:25:30





[ 一覧(最新更新順) |

]

キーボードヒント:[Home]または[Fn+Home]キーで一番上へ戻ります

YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.