
スポーツクラブで学童会員の名簿を作成しています。
【目的】
VLOOKUP関数を利用して、シート1「名簿」のA列に会員番号を
手入力すると
B列に学年、C列に氏名が各々自動入力されるようにしたい。
【設定】
・シート1を「名簿」とし、
A列を会員番号、B列を学年、C列とD列を結合して氏名としました。
・シート2を「参照データ」とし、
A列を会員番号、B列を学年、C列とD列(結合を解除)を氏名と
しました。
・シート2の1行目はタイトル行とし、データが入力されているのは
2行目からです。
・別シートのデータを参照するため、シート2のデータが入力されて
いる範囲に「参照範囲1」という範囲名をつけました。
【状況】
現在設定している数式は B2=VLOOKUP(A2,参照範囲1,2,FALSE)
なのですが、以下の場合は「参照範囲1」で設定した範囲とは
異なる範囲のデータを参照しなければなりません。
・入会者がいる場合:データを追加するため、行が増える
・退会者がいる場合:データを削除しブランクを解消するため、
行が減る
【質問】
上記状況の場合、VLOOKUP関数に加えてどのような関数を使用すれば
別シートにある参照範囲の変動に対応できるのでしょうか?
会員が増減するたびに、新たに参照範囲を設定し範囲名をつけ直す
という作業は避けたいのですが・・・
ご教示いただけますよう、何卒宜しくお願い申し上げます。
No.3ベストアンサー
- 回答日時:
#1です。
実用上は#2さんの仰る通りですが、覚えておけば、ピボットテーブルや、グラフに動的な範囲を与える時に役に立つでしょう。
関数で直に与えるなら、下記のようにIndirectまたはOffsetを用いてできます。(動的名前に設定するのと同じ式ですが)
Sheet1
................A...............B
..1.............あ...............b
..2.............え...............c
式は、下記のどちらでもよいです。
B1の式=VLOOKUP(A1,INDIRECT("Sheet2!$A2:$B" & COUNTA(Sheet2!$A:$A)-1),2,FALSE)
B2の式=VLOOKUP(A2,OFFSET(Sheet2!$A$2,0,0,COUNTA(Sheet2!$A:$A)-1,2),2,FALSE)
Sheet2
.................A...............B
..1.......見出A.......見出B
..2.............い...............a
..3.............あ...............b
..4.............え...............c
..5.............お...............d
..6.............か...............e
..7.............き...............f
ご回答ありがとうございました!
ご指摘いただいたとおり、今後の勉強や実用のためには
様々な関数を身につけていこうという前向きの姿勢が
大切ですね。
Indirect、Offset、Counta関数についても勉強しようと
思います。
No.4
- 回答日時:
Sheet1!B2: =VLOOKUP($A2,OFFSET(Sheet2!$A$1,,,COUNTA(Sheet2!$A:$A),4),2,FALSE)
Sheet1!C2: =VLOOKUP($A2,OFFSET(Sheet2!$A$1,,,COUNTA(Sheet2!$A:$A),4),3,FALSE)&" "&VLOOKUP($A2,OFFSET(Sheet2!$A$1,,,COUNTA(Sheet2!$A:$A),4),4,FALSE)
No.2
- 回答日時:
別に
・別シートのデータを参照するため、シート2のデータが入力されて
いる範囲に「参照範囲1」という範囲名をつけました。
を
シート2のA~D列の範囲を名前付ければよくありませんか?
=VLOOKUP(A2,シート2!A:D,2,FALSE)
でも良いような気がしますが。
ご回答ありがとうございました!
ものすごくシンプルな解決法があったんですね。
最初から列全体を範囲に指定してしまえば
後からわざわざ範囲を変更せずに済む、というわけか~。
目からウロコな回答をありがとうございました。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) 単価シートから単価をエクセル関数で自動取得する方法 1 2023/07/02 22:00
- Excel(エクセル) エクセルVLOOK関数について 3 2022/07/05 08:45
- Excel(エクセル) 指定した条件でTRANSPOSE関数を使う 5 2023/08/18 19:45
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
【アクセス】レポート テキスト...
-
テーブルとクエリの相関図は表...
-
Accessのクエリで、replace関数...
-
access2021 VBA メソッドまたは...
-
access2021 強制終了してしまう
-
ACCESS VBA でのエラー解決の根...
-
Access Error3061 パラメータが...
-
Access VBA [リモートサーバー...
-
Access VBA を利用して、フォル...
-
accessでlaccdbファイルが削除...
-
accessデータを指定したExcel、...
-
アクセス 削除するレコードを含...
-
access2019 チェックボックスと...
-
Accessのレポートについて
-
CSVファイルの「0落ち」にVBA
-
Accessのクエリの結果を、既存...
-
docmd.gotorecordを起動するには
-
AccessからExcelを開いて閉じて...
-
列が255以上のCSVファイルをAcc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
ACCESS VBA でのエラー解決の根...
-
Accessのクエリで、replace関数...
-
access2021 強制終了してしまう
-
Access VBA [リモートサーバー...
-
access2021 VBA メソッドまたは...
-
Access VBA を利用して、フォル...
-
Accessデータベースに含まれる...
-
アクセスで、実行時エラー3075 ...
-
Access Error3061 パラメータが...
-
提供されるデータの形式が変わ...
-
Accessのスプレッドシートエク...
-
お助けください
-
accessデータを指定したExcel、...
-
CSVファイルの「0落ち」にVBA
-
Accessのリンクテーブルのパス...
-
accessでlaccdbファイルが削除...
-
Accessのクエリの結果を、既存...
-
Microsoft365にAccessってあり...
-
実行時エラー3131 FROM 句の構...
おすすめ情報