[[20240414100805]] 『作業列 を作らずに対比して有無の表示』(Ty) ページの最後に飛ぶ

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

| 全文検索 | 過去ログ ]

 

『作業列 を作らずに対比して有無の表示』(Ty)

 いつもお世話になります

 まとめシートに 作業列 を作らずに

 個別シートのC1に有(まとめシートにある)
 個別シートのC2に無(まとめシートにない)
 を表示させる方法があれば、お教えください

 まとめシート
    |[A] |[B] 
 [1]|東京|大谷
 [2]|東京|鈴木
 [3]|東京|吉田
 [4]|東京|山本
 [5]|大阪|大谷
 [6]|大阪|山本

 個別シート
    |[A] |[B] |[C] 
 [1]|大阪|大谷
 [2]|大阪|鈴木

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


>個別シートのC1に有(まとめシートにある)
>個別シートのC2に無(まとめシートにない)
C1、C2は空白ですけど、どういうことですか。
これをどうしたいのですか。
大阪|鈴木をまとめシートに転記したいということですか。

(わからん) 2024/04/14(日) 10:31:43


 説明がいつも へたですみません

 個別シートのC1に、関数もしくはマクロで表示(有)をしたいのです
 よろしくお願いします
(Ty) 2024/04/14(日) 10:36:14

 個別シートには既にデータがあるということですよね。
 ベースはこんな感じでいけるのでは。

    Sub Macro()
        Dim dic As Object
        Dim i As Long, r As Long, s As String
        Set dic = CreateObject("scripting.dictionary")
        With Worksheets("まとめ")
            r = .Cells(Rows.Count, "A").End(xlUp).Row
            For i = 1 To r
                s = .Cells(i, "A") & vbTab & .Cells(i, "B")
                dic(s) = ""
            Next
        End With
        With Worksheets("個別")
            r = .Cells(Rows.Count, "A").End(xlUp).Row
            For i = 1 To r
                s = .Cells(i, "A") & vbTab & .Cells(i, "B")
                If dic.exists(s) Then
                    .Cells(i, "C") = "有"
                Else
                    .Cells(i, "C") = "無"
                End If
            Next
        End With
    End Sub
(ニック) 2024/04/14(日) 10:55:14

 ご回答ありがとうございます
 今外出していますので 後ほど確認させていただきます 
 ありがとうございました
(Ty) 2024/04/14(日) 11:02:16

>作業列 を作らずに
数式に慣れるためにも作業列を活用した方がいいと思うのですが
なぜ避けようとするのでしょうか?

とりあえず

C1: =IF(COUNTIFS(まとめシート!$A$1:$A$6,A1,まとめシート!$B$1:$B$6,B1),"まとめシートにある","まとめシートにない")
(メジロ) 2024/04/14(日) 11:06:44


 ニック様
 できました
 ありがとうございました

 メジロ様
 ありがとうございました
 IF(COUNTIFS の使い方がよくわかりました
 勉強になりました
(Ty) 2024/04/14(日) 12:40:46

コメント返信:

[ 一覧(最新更新順) ]


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