• ベストアンサー

エクセル2003 ドロップダウンメニューについて

ウィンドウズXPでマイクロソフトオフィスエクセル2003を使用しています。 Sheet1のA1セルにフリガナ(カタカナ半角)でアと入力すると、B2セルにドロップダウンリストでア行の取引先が表示されるようにできないでしょうか? 取引先一覧はSheet2にA1セルに取引先名一覧、B2セルにフリガナ(半角)の表題を入力していて、A2~A188に取引先名があいうえお順で入力しています。B2~B188にはフリガナ(カタカナ半角)があいうえお順で入力しています。 マクロ(VBA)は、わからないので関数を組み合わせた方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#70958
noname#70958
回答No.1

●甲案:オーソドックスに作業セルを使って。 1.作業列を設けてグループを書き出す  Sheet2のC2セルを   =MID("アカサタナハマヤラワ",MATCH(CODE(B2),{177;182;187;192;197;202;207;212;215;220},1),1)  として下方にフィル  ※"アカサタナハマヤラワ"は半角で入力してください。 2.範囲に名前をつける  [挿入] > [名前] > [定義] で   [名  前]: Idx   [参照範囲]: =Sheet2!$C$2:$C$999  として[追加] > [OK] 3.入力規則を設定する  Sheet1のB2を選択し、[データ] > [入力規則] > [設定]タブ で   [入力値の種類]: リスト   [元の値]: =OFFSET(Idx,MATCH(A1,Idx,0)-1,-2,COUNTIF(Idx,A1))  として[OK] ---------------------------------------------------------------------- ●乙案:(かなり無理矢理ですが)数式一発で。 1.範囲に名前をつける  [挿入] > [名前] > [定義] で   [名  前]: Phn   [参照範囲]: =Sheet2!$B$2:$B$999  として[追加] > [OK] 2.文字列に名前をつける  [挿入] > [名前] > [定義] で   [名  前]: Str   [参照範囲]: ="アカサタナハマヤラワ"  として[追加] > [OK]  ※"アカサタナハマヤラワ"は半角で入力してください。 3.入力規則を設定する  Sheet1のB2を選択し、[データ] > [入力規則] > [設定]タブ で   [入力値の種類]: リスト   [元の値]:    =OFFSET(Phn, SUM(INDEX(--(CODE(Phn&" ")<((FIND(A1,Str)-1-0.4*(CODE(A1)>=215))*5+177)),)),-1, SUM(INDEX(--(CODE(Phn&" ")<=(FIND(A1,Str)-0-0.4*(CODE(A1)>=212))*5+176),))- SUM(INDEX(--(CODE(Phn&" ")<((FIND(A1,Str)-1-0.4*(CODE(A1)>=215))*5+177)),)))  として[OK]  ※4行で一つの数式です。まとめて[元の値]欄にCtrl+Vで貼り付けてください。 -------------------------------------------------------------- いずれもExcel2003で動作確認。以上ご参考まで。

shota0403
質問者

お礼

本当にありがとうございました。甲案を使用させていただきます。本当に助かりました。ありがとうございます。

関連するQ&A

  • 取引先名による金額の自動配分方法

    ウィンドウズXPでマイクロソフトトエクセル2003を使用して「切手受払帳」を作成したいと思っています。Sheet1を切手受払帳に、Sheet2を取引先一覧にSheet名を変更しています。Sheet1を切手受払帳のA1に取引先名、B1に切手使用額、C1に総務、D1に営業、E1に資材と表題を入力しています。Sheet2の取引先一覧にはA列に取引先名を約千件入力しています。B列にはフリガナを半角カタカナで入力し、C列には頭文字を半角カタカナで入力、D列には取引先名に対応した部署名を入力しています。○○工業は総務と登録しています。取引先一覧の取引先名(D列)を元に、切手受払帳A2に取引先名を○○工業と入力し、B2に260と切手使用額を入力すると、C2に260と自動的に金額が表示される。A列に入力した取引先名でB列の切手使用額をC列~E列の部署ごとの列に自動配分する関数の組合せをおしえてください。

  • エクセルでドロップダウンリストを…

    エクセルでドロップダウンリストを使用する場合の質問です。 あるセルに入力した文字列によって、ドロップダウンリストで選択できる範囲を限定するような設定は可能でしょうか。 例) セルA1に「花」と入力したら     セルA2にドロップダウンリストで    セルE1~E4の「ひまわり、バラ、すみれ、チューリップ」を    選択できるようにし、    セルA1に「野菜」と入力したら、    セルA2にドロップダウンリストで    セルE5~E8の「トマト、なす、きゅうり、にんじん」を    選択できるようにする。 初歩的質問ですみませんが、よろしくお願いします。

  • エクセルのドロップダウンリスト

    エクセルのドロップダウンリストについて、困っていることがあります。 たとえば、 ・Aシート A列|B列|C列 1|ペン|200 2|鉛筆|100 3|本|200 ・Bシート A列|B列 ペン(ドロップダウンリスト)|200 という風に、Bシートのドロップダウンリストを選択すると、動的に200と隣のセル(B列)に表示するようにするにはどのようにすればいいでしょうか? よろしくお願いします。

  • EXCEL2010 抽出とドロップダウンリスト

    windows7 Excel2010 です。 ファイル名:物件データ一覧 ワークシート名:物件一覧 に       A            B            C 1   担当者        物件名         納入品名  2   鈴木 一郎      ABC商事        いろは 3   鈴木 一郎      ZZZ商会A        にほへ 4   鈴木 一郎      BB商事          にほへ 5 というようなデータが保存されており、 ファイル名:明細書作成 ワークシート名:3月分 という別ファイルで作業を行います。 A1セルにAと入力(全角半角は区別しない)すると B1セルにドロップダウンリストでABC商事とZZZ商会Aが表示され、 ABC商事を選択すると C1セルにいろはが自動で表示されるようにしたいのです。 どなたか教えていただけませんでしょうか? 宜しくお願い致します。

  • エクセルで名簿を50音で切り分ける

    一つのシートに名簿があります。 半角カタカナでフリガナデータを持っていますが、 ア行で始まる人のシート、 カ行で始まる人のシート、・・・・ という様に切り分けたいのですが・・・ そういう事ってマクロで可能ですか とりあえず、ア行は1、カ行は2、と関数でコーディングしておき、1の範囲を新規シートにコピー、2の範囲を・・・とやっていけばいいのかなぁ・・・などとおぼろげに考えていますが・・・ ただ、現実に自分でマクロを組むことが出来ないので・・・ どうすればよいか教えていただければ幸いです。

  • Excel97でのドロップダウンリストについて

    セルにドロップダウンリスト(入力規則)を設定したエクセルファイルがあります。このファイルを開けると、セルによってドロップダウンリストが出現するセルと出現しないセルが発生します。 出現するセルと出現しないセルは、いつも同じセルです。なぜリストが出現しないセルがあるのか分かりません。  状況1.WIN98SEにOFFICE97を入れています。  状況2.ファイルが開くときにマクロで書式設定等を行っています。  状況3.マクロを無効にして開くと、全てのリストは出現します。  状況4.OFFICE2000の環境では、正常に全てのリストは出現します。  状況5.そのファイルは何度か手を加えられており、97の環境で作られたか       2000の環境で作られたか分かりません。おそらくもともと97で       作られ、その後2000で手を加えられたと思います。 リストが出現しないというのは、そのセルをクリックしても、ドロップダウンの矢印?が出ず、リストも表示されないというものです。リストの一覧は他のセルに設定してあります。ただ、入力規則は働いており、そのセルには、リストの一覧にある文字しか入力はできません。 どなたか助けてください。お願いします。

  • Excelのドロップダウンリストについて

    Sheet1において, A列 B列 1 田中太郎 2 佐藤次郎 3 山田三郎 のようなリストを作成してあるとします。 Sheet2において, A1のセルに1を入力すると,B1のセルに田中太郎と表示される様,B1にVLOOKUP($A1,Sheet1!$A$1:$B$3,2,0)と入力しています。 この時,A1をドロップダウンリストで入力する場合,リストの表示と入力値を変更するようなことはできるのでしょうか。 すなわち,リストには, 田中太郎 佐藤次郎 山田三郎 と表示され, 田中太郎 を選ぶとA1には1が入力され,B1にはVLOOKUP関数の効果として田中太郎と表示されるといった具合です。 当方,HTMLは理解しておりますので,HTMLで意図をご説明させていただければと思います。 HTMLでプルダウンボックスを使う場合の入力として, <SELECT name="ボックス名"> <OPTION value="1">田中太郎</OPTION> <OPTION value="2">佐藤次郎</OPTION> <OPTION value="3">山田三郎</OPTION> </SELECT> ということになります。 これと同じようなことがエクセルで可能なのかどうかという質問でございます。

  • EXCELで

    EXCELでシート1のセルAにあるカタカナの全角の文字をシート2のセルAにカタカナ半角で表示したいのですがどうすればいいのでしょうか?

  • excelで入力規制ドロップダウンがでてこない??

    excel:mac 2001を使用しています。 以前のワークシートでは出来ていたのですが、新しく追加したワークシートではドロップダウンの▼マークがでてこなくなってしまいました。 データ>入力規制→「リスト」を選択→ドロップダウンリスト選択にチェックあり。 元の値に「,」で区切った複数の入力候補を入れてあります。 別の空きセルに入力候補を入れて選択する方法も試しましたが、うまくいきません。 他の設定で、なにか邪魔をしているものがあるのでしょうか?

  • 条件を絞り込んだVBAでのドロップダウンの作り方

    いつもお世話になっております。 今、Sheet1のA列に果物名、C列に数字が入力されています。(今回Sheet1のB列は、特に処理の対象とする訳ではないので不要です。) Sheet2のCells(15,1)に果物名を入力した際、Sheet1のA列の果物名でで絞り込んだC列の数字を、Sheet2のCells(15,2)にドロップダウンリストで表したいです。 当方が考えたロジックは Sheet1のA列をforで回しSheet2のCells(15,1)と一致した場合に、Sheet1のCells(i,3)の値を、あらかじめ入力規則に設定したセル範囲に転記。一致判定と一致した場合のCells(i,3)の値の転記を繰り返せばドロップダウンが出来上がるのですが、いまいちスマートではないなと思います。 いい方法があればご教示下さい。