Excelで他のセルに基づきセルを自動入力する方法

  • これを共有
Hugh West

セルが自動的に埋められたらどんなに良いでしょうか? ほとんどの場合、私たちはそれを愛するでしょう。 今日は、別のセルからの値に基づいてExcelでセルを自動入力する方法を紹介します。 このセッションでは、Excel 2019を使用するつもりです、あなたの好みのバージョンを使用して自由に感じなさい。

まず最初に、今日の例のベースとなるデータセットについて知っておきましょう。

ここでは、従業員の名前、ID、住所、部署、入社日などの情報を含むテーブルがあります。 このデータを使って、セルに自動的にデータを入力する方法を説明します。

これはダミーデータを含む基本的なデータセットであることに注意してください。実際のシナリオでは、もっと大規模で複雑なデータセットに遭遇することがあります。

練習用ワークブック

練習用ワークブックは、下記リンクからダウンロードしてください。

別のセルに基づいたExcelのセルの自動入力.xlsx

別のセルに基づくセルの自動入力

ここでは、従業員の名前を入力すると、その人の情報が自動的に検索されるように設定しています。

ここでは、元のテーブルから分離した情報フィールドを導入しています。 ここでは、その情報フィールドを 氏名、ロバート .

では、その詳細を ロバート どうすればいいのか、考えてみましょう。

1.VLOOKUP関数を使う

ちょっと「自動入力」のことは忘れて、条件に合ったデータを取り出すことを考えてみてください。 どのような機能が思い浮かぶでしょうか? 極めて当たり前のことです。 ブイルック もその一つです。

ブイルック VLOOKUPの詳細については、こちらの記事を参照してください。

今度は、それを使った数式を書きます。 ブイルック 関数を使用すると、セルに必要なデータを正確に取得することができます。

従業員のidを導き出す式を書いてみましょう。

=iferror(vlookup($i$4,$b$4:$f$9,2,0),"")

ブイルック 関数に、名前( I4) として ルックアップバリュー .すると、テーブルの範囲全体が ルックアップ_アレイ .

があります。 社員ID は2列目なので、2としています。 列番号 .

を使用しました。 イフエラー をラップするための関数です。 ブイルック これにより、数式から発生するすべてのエラーを取り除くことができます(この関数については、記事:IFERRORを参照してください)。

部門名を導き出すには、計算式を修正する必要があります。

=iferror(vlookup($i$4,$b$4:$f$9,3,0),"")

ここでは 列番号 は、元のテーブルの位置に従っています。 部署名 は3列目なので、3を使っています。

については 入社年月 とのことです。 住所 という式になります。

=iferror(vlookup($i$4,$b$4:$f$9,4,0),"")

そして

=iferror(vlookup($i$4,$b$4:$f$9,5,0),"")

従業員の詳細が判明しましたので、名前を変更するとセルが自動更新されます。

ドロップダウン・リスト付きVLOOKUP

先ほどは手動で名前を入力しましたが、時には手間がかかるだけでなく、混乱することもあります。

この問題を解決するには、従業員名のドロップダウンリストを作成します。 ドロップダウンリストの作成方法については、記事を参照してください。

での データバリデーション ダイアログボックスで リスト と入力し、名前のセルリファレンスを挿入します。

B4:B9 は、名前を含む範囲です。

ここで、ドロップダウンリストを見つけます。

より効果的に、より素早く名前を選べるようになったのです。

を使用したため、他のセルは自動的に入力されています。 ブイルック .

2.INDEX-MATCH関数を使う

を通して行った操作です。 ブイルック を組み合わせてもよい。 INDEX-MATCH をクリックすると、自動的にセルに入力されます。

MATCH は、行、列、または表におけるルックアップ値の位置を示す。 INDEX は、範囲内の指定された位置の値を返します。 詳しくは、INDEX、MATCHの記事をご覧ください。

数式は以下のものになります。

=iferror(index($c$4:$c$9,match($i$4,$b$4:$b$9,0)),"")

ここでは、idの範囲を以下のように指定しているので、計算式はid番号を導出します。 INDEX とのことです。 MATCH 関数は、テーブルの基準値と一致する行番号を提供します ( B4:B9 ).

を導き出すために 部署名 で範囲を変更します。 INDEX となり、以下のような数式になります。

=iferror(index($d$4:$d$9,match($i$4,$b$4:$b$9,0)),"")

部門は、以下のとおりです。 D4 まで D9 .

の計算式は、以下の通りです。 入社年月 であろう

=iferror(index($e$4:$e$9,match($i$4,$b$4:$b$9,0)),"")

また、アドレスについては

=iferror(index($f$4:$f$9,match($i$4,$b$4:$b$9,0)),"")

では、わかりやすくするために、選択範囲を消して、任意の名前を選択してみましょう

他のセルにも自動的に入力されることがわかります。

3.HLOOKUP関数を使う

データが水平方向に配置されている場合は HLOOKUP この関数については、HLOOKUPの記事をご覧ください。

名称 フィールドはドロップダウン・リストから設定され、残りのフィールドは自動的に入力されます。

idの導出には、以下の式を用いることにします。

=iferror(hlookup($c$11,$c$3:$h$7,2,0),"")

と同様の操作となります。 ブイルック の式で表されます。 HLOOKUP 関数として、名前を提供しています。 ルックアップバリュー として、テーブルを ルックアップ_アレイ 2行目にIDがあるので 行番号 は2、完全一致は0です。

さて、部門の場合、計算式は次のようになります。

=iferror(hlookup($c$11,$c$3:$h$7,3,0),"")

があります。 部署名 は3列目なので 行番号 はここで3です。

入社日の計算式を書いてみよう

=iferror(hlookup($c$11,$c$3:$h$7,4,0),"")

があります。 入社年月 は4列目なので 行番号 はここで4となり、アドレスは行番号を5に変更します。

=iferror(hlookup($c$11,$c$3:$h$7,5,0),"")

セルを消して、ドロップダウンリストで名前を選んでみよう

名前を選択すると、他のセルが自動的に入力されることがわかります。

4.行のINDEX-MATCH

また INDEX MATCH の組み合わせで、以下のような数式になります。

=iferror(index($c$4:$h$4,match($c$11,$c$3:$h$3,0)),"")

これはidを導出するためのものなので C4:H4 において INDEX という関数があります。 社員ID 行になります。

行の範囲を変更して部門を検索する

=iferror(index($c$5:$h$5,match($c$11,$c$3:$h$3,0)),"")

同様に、入社日と住所の行番号も変更します

=iferror(index($c$6:$h$6,match($c$11,$c$3:$h$3,0)),"")

こちら C6:H6 入社年月 行になります。

そして、その C7:H7 住所 という行があるので、アドレスの導出式は以下のようになります。

=iferror(index($c$7:$h$7,match($c$11,$c$3:$h$3,0)),"")

結論

以上、セルを基準にした自動入力の方法をいくつか紹介しました。 参考になれば幸いです。 分かりにくいところがあれば、お気軽にコメントください。 また、他に見落とした方法があれば教えてください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。