- 締切済み
Excel
仕事で顧客リストを作りました。 7月、8月、、と複数のシートで管理するように、お客様をあ行カ行サ行と縦に入力し、来店済みの人には左の表に◯をつけています。 先月来店したのに今月来てない人を探すようなExcelの関数はありますか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- NuboChan
- ベストアンサー率47% (785/1650)
反応が無いのでこれが最後とします。 一例として 7,8月の顧客の名前の並びが全く同じなら以下のコードで未来店者をチェックできます。 但し 8月に新規も顧客があった場合はどのように処理するか等は全く考えられていません。 Sub Check() Dim wsJuly As Worksheet Dim wsAugust As Worksheet Dim lastRow As Long Dim i As Long ' Set the worksheets Set wsJuly = ThisWorkbook.Sheets("7月") Set wsAugust = ThisWorkbook.Sheets("8月") ' Get the last row in column B of July sheet lastRow = wsAugust.Cells(wsAugust.Rows.Count, "B").End(xlUp).Row ' Loop through the client names in column B of July sheet For i = 2 To lastRow ' Check if the client has a check mark in July sheet but not in August sheet If wsJuly.Cells(i, "A").Value = "〇" And wsAugust.Cells(i, "A").Value <> "〇" Then ' Display "未来店" in column C of August sheet wsAugust.Cells(i, "C").Value = "未来店" End If Next i End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
(関数でという限定があるためでしょう)countifのご回答がすでに出ていますが、その他MATCHやVLOOKUP関数でも、他シートでの、その顧客の名前などの存非をチェックできると思います。 でも、次に、存在したもの(行)を抜き出して印刷したりしたくなるでしょう。 抜出しは、エクセル関数では苦手です。 ーー でも商売のデータを分析に使う目的らしいから、データベース的な使い方であることから、VBAを勉強すれば、簡単に出せるので、勉強をお勧めします。出来ればアクセスVBAの勉強を勧めます。 参考 https://masagoroku.com/%E3%80%90access%E3%80%91%EF%BC%92%E3%81%A4%E3%81%AE%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%A7%E4%B8%80%E8%87%B4%E3%81%97%E3%81%AA%E3%81%84%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%8A%BD%E5%87%BA 【ACCESS】2つのテーブルで一致しないデータを抽出する方法 手段がエクセル関数だけというのは、早晩行き詰まると思います。
- NuboChan
- ベストアンサー率47% (785/1650)
A列に〇、B列お客様だとして 8月のシートのC列に以下の式を入力 =IF(COUNTIF(7月!A:A,A1)>0,"","当月は、来店していません。")