[[20240319125749]] 『別シートの対象セルをカウントする方法』(ゆきんこ) ページの最後に飛ぶ

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

| 全文検索 | 過去ログ ]

 

『別シートの対象セルをカウントする方法』(ゆきんこ)

いつもお世話になっております。どうかお知恵を貸してくださいm(__)m

上司に対するアンケートの集計を行います。実際はもっと数が多く複雑なのですがシンプルにしたもので説明させて頂きます。

・上司分3枚のシートがありシート名は山田・鈴木・佐藤となっています。
このシート内にアンケート結果として上司のポイントを集計したものを表示させたいです。例えば山田であれば山田のシートに12(5+3+4)と表示。
表示場所は山田シート内のA1でもB1でもどこでもOKです。

・アンケート結果シートにはそれぞれの部下が判定したポイントが以下のようにバラバラに入って来ます。

    A列  B列
1行目 山田  5
2行目 山田  3
3行名 山田  4
4行目 鈴木  3
5行目 佐藤  4
6行目 佐藤  4
7行目 鈴木  2
8行名 佐藤  3
9行目 鈴木  3

”シート名と同じ名前を結果シートから検索して合計する”という事なのですが、INDEXやMACTH関数でも上手にできず(泣)

どうかお知恵を貸して頂ければ助かりますm(__)m
よろしくお願いいたします。
 

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


個人的には「山田」は -500ポイント。
いや、うちの山田課長のことです。

(山田部下) 2024/03/19(火) 13:42:40


^^; 。。。
 Option Explicit
Sub OneInstanceMain()
    Dim i As Long
    Dim v()
    Dim zD
    Dim var
    With Worksheets("Sheet1")
        v = .Cells(1).CurrentRegion.Value
    End With
    Set zD = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(v, 1)
        zD(v(i, 1)) = zD(v(i, 1)) + v(i, 2)
    Next
    For Each var In zD.keys
        If Not Evaluate("=ISREF(" & var & "!A1)") Then Sheets.Add.Name = var
            With Worksheets(var)
                .Cells(2, 2) = zD(var)
            End With
    Next
    Erase v
    zD.RemoveAll
End Sub
(隠居Z) 2024/03/19(火) 13:50:32

 各シートが同じブックに入っているなら、こんな事なのかなぁ。。

 =SUMIF(アンケート結果!A:A,TEXTAFTER(CELL("filename"),"]"),アンケート結果!B:B)

(半平太) 2024/03/19(火) 13:53:08


隠居Z sama、失礼しました。Excelでの関数を探しておりますm(__)m
半平太 sama ありがとうございます。さっそくTRYしてみたいと思います!
(ゆきんこ) 2024/03/19(火) 13:56:07

<< _ _ >>
(隠居Z) 2024/03/19(火) 13:58:31

TEXTAFTER(CELL("filename"),"]")、、、すごいですね!!!
こちらの関数初めて見ましたがちゃんとシート名をよんで数値を引っ張ってくれました!!

後は何とかやってみたいと思います(^^
ありがとうございました!m(__)m

(ゆきんこ) 2024/03/19(火) 16:41:36


コメント返信:

[ 一覧(最新更新順) ]


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