Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
任意のセルを参照して該当者にマルを入れる
投稿日時: 20/12/01 09:54:34
投稿者: kou5355

 
社員No 氏名 対象
 
001 田中 ○
002 鈴木
005 木下 ○
010 佐藤
011 伊藤 ○
012 和田
 
 
上記のような表があります。実際には社員は数百名おります。
また、上記の表は降順になっているものの退職者がいるため
必ずしも連番ではありません。
 
紙ベースで申請された申請書を見ながら、3列目「対象」に○を
入れていく作業があります。
現状では、紙ベースの申請書を社員Noに並び替えた後、
マウスをスクロールしながら対象の社員を探して
○を入れているのですが、煩雑です。そこで、別の任意の列に
コード番号を入力すれば自動的に「対象」列に○が入るよう
数式を設定したいです。
 
上記の表でいれば、
001
005
011
 
と連続的に対象の社員コードの値を別の列に打ち込んでいくイメージです。
 
上記の目的を実現するためのアイデアがあればお教え下さい。

回答
投稿日時: 20/12/01 10:09:00
投稿者: メジロ2

G列に対象の社員コードの値を入力するとして。
 
C2: =IF(AND(A2<>"",COUNTIF($G$1:$G$3,A2)),"〇","")
 
下にコピーします。

回答
投稿日時: 20/12/01 10:31:24
投稿者: WinArrow
投稿者のウェブサイトに移動

余計な心かもしれませんが、
  
別の列に入力した「コード番号」は、削除(クリア)することはないでしょうか?
また、退職した社員の行を削除することはないでしょうか?
  
前者の場合、数式ですから、別の列に入力した「コード番号」が消えてしまうと
   折角の「○」が消えてしまいます。
 
後者の場合、行を削除すると別の列の行も消えてしまいます。
誤操作等防止したいのでしたら、別の列ではなく、別のシートの方がよいと思います。
 

回答
投稿日時: 20/12/01 12:02:52
投稿者: Mike

kou5355 さんの引用:
また、上記の表は降順になっているものの…
示された表は「降順」でなく「昇順」と稱されます。←番号が“大きい(小さい)方”に“(降り)”る
 
  A  B  C  D E  F  G H I  J  K L M N  O
1 No 氏名 対象   昇順     降順     順不同
2 001 田中 ○   001 田中 ○  012 和田   011 伊藤 ○
3 002 鈴木    002 鈴木   011 伊藤 ○  002 鈴木
4 005 木下 ○   005 木下 ○  010 佐藤   012 和田
5 010 佐藤    010 佐藤   005 木下 ○  001 田中 ○
6 011 伊藤 ○   011 伊藤 ○  002 鈴木   010 佐藤
7 012 和田    012 和田   001 田中 ○  005 木下 ○
 
C2: =IFNA(VLOOKUP($A2,name,COLUMN(C1),FALSE)&"","")
 
name の処には、文字列の 昇順、降順、順不同 の好きな範圍名を入れられます。
但し、「昇順」の場合だけ、=IFNA(VLOOKUP($A2,昇順,COLUMN(C1))&"","")でも(「,FALSE」の省略)OKです。
各範圍名に定義された範圍は下記の通りです。
 名前    範圍
昇順   =$E$2:$G$7
降順   =$I$2:$K$7
準不同  =$M$2:$O$7

投稿日時: 20/12/02 09:51:19
投稿者: kou5355

Mike さんの引用:
kou5355 さんの引用:
また、上記の表は降順になっているものの…
示された表は「降順」でなく「昇順」と稱されます。←番号が“大きい(小さい)方”に“(降り)”る
 
  A  B  C  D E  F  G H I  J  K L M N  O
1 No 氏名 対象   昇順     降順     順不同
2 001 田中 ○   001 田中 ○  012 和田   011 伊藤 ○
3 002 鈴木    002 鈴木   011 伊藤 ○  002 鈴木
4 005 木下 ○   005 木下 ○  010 佐藤   012 和田
5 010 佐藤    010 佐藤   005 木下 ○  001 田中 ○
6 011 伊藤 ○   011 伊藤 ○  002 鈴木   010 佐藤
7 012 和田    012 和田   001 田中 ○  005 木下 ○
 
C2: =IFNA(VLOOKUP($A2,name,COLUMN(C1),FALSE)&"","")
 
name の処には、文字列の 昇順、降順、順不同 の好きな範圍名を入れられます。
但し、「昇順」の場合だけ、=IFNA(VLOOKUP($A2,昇順,COLUMN(C1))&"","")でも(「,FALSE」の省略)OKです。
各範圍名に定義された範圍は下記の通りです。
 名前    範圍
昇順   =$E$2:$G$7
降順   =$I$2:$K$7
準不同  =$M$2:$O$7

 
 
ありがとうございます。並びかえの用語を誤認しておりました。以後気をつけます。

投稿日時: 20/12/02 09:52:21
投稿者: kou5355

WinArrow さんの引用:
余計な心かもしれませんが、
  
別の列に入力した「コード番号」は、削除(クリア)することはないでしょうか?
また、退職した社員の行を削除することはないでしょうか?
  
前者の場合、数式ですから、別の列に入力した「コード番号」が消えてしまうと
   折角の「○」が消えてしまいます。
 
後者の場合、行を削除すると別の列の行も消えてしまいます。
誤操作等防止したいのでしたら、別の列ではなく、別のシートの方がよいと思います。
 

 
ありがとうございます。
社員を削除することがあるため、別シート運用のほうが良いことに気づきました。
それを踏まえて作成いたします。

投稿日時: 20/12/02 09:52:58
投稿者: kou5355

メジロ2 さんの引用:
G列に対象の社員コードの値を入力するとして。
 
C2: =IF(AND(A2<>"",COUNTIF($G$1:$G$3,A2)),"〇","")
 
下にコピーします。

 
 
ありがとうございます。
こちらの数式で対応いたします。