入力規則を使って、社員コードを入力する際に
10001 山田太郎
10002 鈴木花子
10003 佐藤大介
のように、ドロップダウンリストに「社員コード」「社員名」と2列表示させたいのです。
そして、例えば山田太郎を選択すると、セルには「10001」だけが入力されるようにしたいのですが・・・
(Accessのルックアップフィールドみたいな感じ)
[入力規則]-[リスト]で、社員コード表を選択しても、単一の列または行でなければいけませんとエラーが出ます。
かといって[入力規則]-[リスト]で範囲指定をカンマ区切りで
10001 山田太郎,10002 鈴木花子,・・・と入力しても、エラーは出ませんがドロップダウンリストから選択したときに社員コード表と社員名が一緒にセルに入力されてしまいます。
なにか良い方法はありませんでしょうか?
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
番号と社員名の間にスペースが入っているなら
メニューバーから「データ」→「区切り位置」で
1「カンマやタブなど---」にチェックを入れて「次へ」
2「区切り文字」で「スペース」にチェックを入れて「次へ」
3「完了」
で番号と社員名が違う列へ分けることが出来ます。
番号のデータがA2からA4、社員名がB2からB4にあるとし
C1にリストを設定して番号を入れ、D1に社員名が反映するようにするときにはD1に
=INDEX(A2:A4,MATCH(C1,B2:B4))
と入れてやるとうまくいくと思います。
ご回答ありがとうございます。
ちなみに、=INDEX(A2:B4,MATCH(C1,A2:A4),2)で良かったですよね??
意図していたものとちょっと違うのですが、とても良いです。
(というかこの方がいいです)
とても参考になりました。ありがとうございました^^
No.7
- 回答日時:
#5です。
説明にも簡単に書きましたが、
ドロップダウンリストではセル内改行は無効ですが、
選択後はセル内改行が有効となるという違いを利用しています。
しかし、セル内容は同じな訳です。
つまり、ドロップダウンリストのセルをキーにしても
Vlookupは使用できるわけです。
文字での検索になるので、検索の型をfalseにしておけば、問題なしです。
社員コード、社員名もVlookupで引っ張ってくるなら、
例で示した構成を、B列に社員コード、C列に社員名、
A列に社員コードと社員名の合成を使用すればいいだけですよね。
どうしても社員コードをキーにしたいということであれば、
上記のようにして、Vlookupで社員コードだけを引っ張ってきて
以後はその社員コードをキーに使用するということで問題ないかと。
または、ドロップダウンリストがセルD1にあるとして
=LOOKUP(10^17,LEFT(D1,ROW(A1:A20))*1)
と入力して、Alt+Shift+Enterで確定(配列形式)とすれば、
ドロップダウンリストのセルから数字部分だけ、つまり社員コードを
抜き出すことができます。
(この式は社員コードが氏名より前にある場合です)
社員コードをキーにするということにこだわるのであれば、
上記のように、ドロップダウンリストから社員コードを引っ張ってくれば
よろしいだけかと思いますが。
あと、訂正をひとつ。
セル内改行がドットで表示されると前回書きましたが、
Excel97ではそうでしたが、Excel2002ではドットで表示されませんでした。
このあたりはバージョンで異なるようです。
再度ご回答、ありがとうございます。
そうですね、VLOOKUP自体は社員コードと社員名でも検索してくれると思います。ただ今回社員コードのみをキーにしたいのは(またまた説明不足でしたが)、会社のホストコンピュータから出力されるEXCELの営業成績表を、VLOOKUPの検索範囲として参照したいから・・・などの理由からです。
いろいろなワザ(!)を駆使すればなんとかなる事なのかもしれませんが、あまりひねらずに出来る方法があるのでは?との思いから質問してみました。
この場を借りて、ご回答いただいた皆様にお礼申しあげます。
とても勉強になりました。ありがとうございました!
No.6
- 回答日時:
#1です。
一例を補足です。B列に社員コードを入力する必要があるとしますと、A列に社員コード+氏名を入力する作業列を作成します。
ここではA列としましたが、実際には印刷や集計に影響のない、かつ、入力に便利な列を選択して下さい。
さらに、先に回答したようにAA列:社員コード+氏名、AB列:社員コード、AC列:氏名を用意したテーブルを別に用意して表引き用にします。
そうして、入力する際にはAA列をリストソースにしてA列に入力します。
この後、実際に社員コードが欲しいB列には、A列をキーにして、AA~AB列に対してvlookupを行えば、社員コードだけが取り出せますので、結果的には望む体裁になりませんか? もちろん、氏名が必要な場合はこの範囲をAC列にまで拡げればよいですし。
なるほど、よくわかりました。
この方法ですと、社員名+社員コードをドロップダウンから選択でき、さらに関数を組み合わせると、別セルに社員コードを表示できるということですね。
参考になりました。
再度ご回答、ありがとうございました。
No.5
- 回答日時:
こんばんわぁ。
行高さの設定等で使用できない場合もあるかもしれませんが、
次の方法ではいかがでしょうか?
セルA1~A3に社員コードが、
セルB1~B3に社員名があるものとします。
セルC1に =A1&""&B1
と入力します。ただし、""の中はAlt+Enter(セル内改行)を入れてください。
Alt+Enterを押すと数式バーの表示も改行されますので、状況がわかるかと思います。
また、セル内改行の前後にスペースを入れておくと、後で見やすくなると思います。
これで確定をすると、セルC1には10001・山田太郎
という感じで社員コードと氏名の間にドットが入った表示になるかと思います。
(セルの設定をいじっていないことを想定してます)
セルC1をセルC2~C3にコピーして下さい。
この表示がドロップダウンリストに表示されることになりますので
見栄えはセル内改行の前後にスペースを入れる等で適当に調整してください。
次にセルD1に入力規制を設定するものとします。
セルD1のセルの書式設定で
折り返して全体を表示するにチェックを入れ、
文字配置の縦位置を上詰めにします。
この状態でセルC1~C3を元の値としてリストの設定をします。
ドロップダウンリストにはセル内改行は適用されないので
“10001・山田太郎”のようにセル内改行はドットで表示され
選択後はセル内改行が有効となり、折り返されてセルの下のほうに行くため
表示されなくなります。
(正確には表示範囲外に社員名はあることになります。)
ドロップダウンリストではドットが表示されますが、
選択後は社員コードだけになるかと思います。
(見栄えだけですけど)
行の高さがちょっと高いようでしたら、Alt+Enterを2つ入れたりすると
もう少し調整ができたりします。
ご回答ありがとうございます。
説明がまずかったかもしれません。
補足しますと、社員コードをキーにしてVLOOKUPで別表から社員の営業成績を引っ張ってくるつもりです。
その時、社員コードを手入力するのは手間なので、ドロップダウンリストから選択(入力規則で設定)したいのです。
ただ、ドロップダウンリストから選択するときに、社員コードだけ見ても誰のものかわからないので、一緒に社員名が表示されたら便利だな、でもドロップダウンリストから選択した後セルに入力されるのは社員コードだけにしないとVLOOKUPが使えないしな・・と思ったわけなのです。
でもそんな贅沢なこと無理ですよね・・
No.3
- 回答日時:
#2です。
セルには「10001」「だけ」をと言うところを見落としました。済みません。別セルに=mid(g1,1,3)とか入れるやり方やVBAでPrivate Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then 'G列の場合
ActiveCell = Mid(ActiveCell, 1, 3) '3桁の場合
End If
End Sub
でそれらしくはなりましたが、なぜか反応は鈍いし、このやり方はどうでしょう。
ActiveCell = の行は
Target = Mid(Target, 1, 3)でも同じでした。
VBAでリストボックスをつかい、リストには多列表示して、1列目のみセルにセットなども、本の例題で見た気がしますが。
再びご回答ありがとうございます。
やはりVBAでやるしかなさそうですね・・
VBAは全く知識がないので、これから勉強してみようと思います。
imogasiさんはVBAやその他いろいろお詳しい方のようですね。
今後もお世話になるかもしれません(^^ゞ
またよろしくお願いします。
No.2
- 回答日時:
E列、F列に
123山田
124小島
125松屋
とある時
G1に関数式=E1&F1と入れて、式を複写します。
123山田
124小島
125松屋
となります。
=E1&" "&F1
も見やすいかも知れません。
データ-入力規則-リスト-(元の値)G1:G3
でどうですか。
E列の文字数が行で違う時は一定文字数を決めて
(一定文字数)-(実際の文字数)文の空白桁を挟んで
F列の先頭が揃うように出来るので、そうすると見やすいです。揃え方の実例は本日のNo.717182の私の回答
をご参考にしてください。
ご回答ありがとうございます。
お教えいただいた方法、早速試してみました^^
ですが、これでもやはり、ドロップダウンリストから選択したときに社員コードと社員名が一緒にセルに入力されてしまいます。
ドロップダウンリストから選択するときは「社員コード」+「社員名」
選択した後にセルに入力されるのは「社員コード」のみ
このような事は不可能でしょうか?
たびたび申し訳ありませんが、よろしくお願いいたします。
No.1
- 回答日時:
別に列を用意して、作業用データとして
|A------------|B-----|C
10001山田太郎 |10001 |山田太郎
10002鈴木花子 |10002 |鈴木花子
10003佐藤大介 |10003 |佐藤大介
といった感じのテーブルを作成し、A列をキーにしてB列を値表示、更にB列をキーにしてC列を表示
という具合にしてはどうでしょう?
ご回答ありがとうございます。
>A列をキーにしてB列を値表示、更にB列をキーにしてC列を表示
これは、入力規則に加え関数を使うということなのでしょうか?それとも他の方法で・・?
お手数ですが、出来ればもう少し具体的にお教えいただけると嬉しいのですが。
お願いいたしますm(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
Excelのプルダウンで2列分の情報を表示して、セルには片方のデータを入れたい。
Visual Basic(VBA)
-
ドロップダウンリストを2列で表示するには?
その他(ソフトウェア)
-
Excel 入力規則 リスト 複数列表示
Excel(エクセル)
-
-
4
データの入力規則でリストの元の値を2列以上選択したい
Excel(エクセル)
-
5
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
6
Excel 条件によって入力禁止にする
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
Excelの入力規則で2列表示したい
Excel(エクセル)
-
10
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
11
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
12
エクセル2016でfilter関数がないので、、抜き出す関数をおしえてください。
Excel(エクセル)
-
13
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
14
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
15
Excel2016でプルダウンのメニューをすべて表示する
Excel(エクセル)
-
16
空白のないドロップダウンリストの作り方
Excel(エクセル)
-
17
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
18
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
19
エクセル関数で日付かどうかの確認?
Excel(エクセル)
-
20
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの入力規則で2列表示したい
-
複数の文字列のいずれかが含ま...
-
SUMに含まれる範囲から特定のセ...
-
列の数字に100をかけたい
-
Excel上でのデータ数字が連番で...
-
スペースとスペースの間の文字...
-
数式が入ったセルを含めて、数...
-
エクセルでセルの値分の個数の...
-
エクセル セル内の文字数を超え...
-
エクセルで表示されている数字...
-
別のセルに値が入力されたら、...
-
エクセルで小数を含む数値の抽出
-
エクセルで1列全部10倍したい
-
エクセルのVLOOKUP関数について
-
エクセル:横長の表を改行して...
-
Excel 平均値負の値を表示したい
-
赤字と青字だけ合計する
-
アルファベットを含む数をエク...
-
エクセルで、毎日の走行距離(...
-
時間を「昼間」と「夜間」に分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの入力規則で2列表示したい
-
複数の文字列のいずれかが含ま...
-
SUMに含まれる範囲から特定のセ...
-
スペースとスペースの間の文字...
-
Excel上でのデータ数字が連番で...
-
数式が入ったセルを含めて、数...
-
列の数字に100をかけたい
-
エクセルでセルの値分の個数の...
-
エクセルで1列全部10倍したい
-
エクセルで表示されている数字...
-
エクセル:横長の表を改行して...
-
Excelでの検索結果を含む行だけ...
-
エクセル セル内の文字数を超え...
-
「エクセル」特定の行(セル)...
-
エクセルで曜日に応じた文字を...
-
エクセルのsumifでかけ算してか...
-
別のセルに値が入力されたら、...
-
エクセルにデータを入力すると...
-
時間を「昼間」と「夜間」に分...
-
C列にF列の担当者(A〜)を順番...
おすすめ情報