アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelについて質問です。
例えばセルB1に都道府県を入力すると、A1に都道府県コード(1~47までの数字)を表示させたいと思っています。
別シートのA列に都道府県コード、B列に都道府県を作って47都道府県コードとその都道府県を作ってVLOOKUPで表示させようとしましたがうまくできませんでした。
次にif関数を使って「B1が北海道ならA1に1を表示」というように47都道府県をif関数を重複させて作っていきましたがif関数を8つぐらいまでしか重複させることができず失敗に終わりました。
何か良い方法はありますでしょうか?

A 回答 (5件)

No.4です。

頭の部分がありませんでした。以下の文を追加します。

B1都道府県を入力すると、A1に都道府県コードを表示させたいシート(以下「同じシート」と呼びます)の空いているセル・・・仮に"D1"セルとします・・・に"北海道01青森県02~鹿児島県46沖縄県47"の文字列を入れます。

この文字列の作り方は、次のようにすると簡単です。
別シートのA列に都道府県コード、B列に都道府県を作ってあるとのことなので、これを利用します。C列は未使用と仮定します。

先ず、都道府県コードが入っているA列の書式を"文字列"に変更して、A1に"01"を入れます。A1を選択状態にして、右下の「.」をダブルクリックすると、
セル"A1"~"A48"に"01"、"02"~"47"が入力されます。

次に、"C1"に「=B1&A1」、"C2"に「=C1&B2&A1」を入れ、・・・・・・と続きます。


それから、神奈川県、和歌山県、鹿児島県が4文字なので、このままではうまく表示できませんので次のように訂正します。

同じシートの都道府県コードを表示させたいセル"A1"に次の式を入れます。
=MID($D$1,FIND(B1,$D$1)+LEN(B1),2)

見苦しくなり、申し訳ありませんでした。
    • good
    • 1

次に、"C1"に「=B1&A1」、"C2"に「=C1&B2&A1」を入れ、"C2"を選択状態にして、右下の「.」をダブルクリックすると"C48"に"北海道01青森県02~鹿児島県46沖縄県47 48"と表示されます。


"C48"をコピーし、"C50"に「形式を選択して貼付」→貼付欄の「値」をクリックすると、
"C50"に"北海道01青森県02~鹿児島県46沖縄県47 48"の文字列ができます。
"沖縄県47"の後の不要部分をカットし出来上がった文字列を、同じシートの例えばセル"D1"に貼り付けます。

都道府県コードを表示させたいセル"A1"に次の式を入れます。
=MID($D$1,FIND(B1,$D$1)+3,2)
"A1"セルを選択状態にして、右下の「.」をダブルクリックすると"B"列の空欄のある行の前まで、目的の「都道府県コード」が表示されます。
この場合、都道府県とコードが入っているセル"D1"は必ず"$D$1"と絶対表示にします。

このように、必要な文字列を作り操作する手法は、数字の並びやデータの並びが不規則なときなど、簡単で広く応用が利きます。
    • good
    • 0

都道府県がコード順番に並んでるなら


=MATCH(都道府県のセル,都道府県の範囲,0)
でコードが出てきます。ランダムの場合は
=INDEX(都道府県コードの範囲,MATCH(都道府県のセル,都道府県の範囲,0)
,1)
ですね。
    • good
    • 1

別シートのA列に都道府県コード、B列に都道府県を作ってるならば




適当に修正してね
For 1 to 41(都道府県別シート検索47個を調べる)
で別シートのA列に都道府県コード、B列に都道府県回して検索を掛ける

  If Sells(変数、2)=シートNo1 Sells(変数、2) Then
 

    同じであれば
     横の数字セル番号=移動先にコピーする




   でループ

エンド 省略

For で回す

IF47個も要らないで
これならIfが1つで済みますね
で回すといけますよ
 
    
    • good
    • 0

とりあえず2案


1)VLOOKUP関数で検索できるのは、検索値の右側ですからC列を作業列にしてA列データをコピーする
2)A列とB列を入れ替える
であればVLOOKUP関数で検索できますね
>if関数を8つぐらいまでしか重複させることができず失敗に終わりました。
関数を入れ子状態にすることをネストといいますが
関数のネスとできる数に仕様として制限があるからです
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!