excel
[HOME] [MAIL]

CEL366.VLOOKUP関数の範囲について

Q:(質問者:栃木noripitiさん)
前Excel基本塾に載っていた「CEL173.商品名から商品コードナンバーを表示」に付け加えての質問なのですが・・
VLOOKUP関数の範囲で複数のシートの範囲を指定する事は可能でしょうか?
商品マスタ一覧『Sheet3』『Sheet2』を検索の範囲とし『Sheet1』に商品名入力するとコードが表示されるようにしたいのです。

   A   B (Sheet3)
 ┌───┬────┐
1│商品名│CODE│
 ├───┼────┤
2│A商品│1001│
 ├───┼────┤
3│B商品│1002│
 └───┴────┘
    A   B  (Sheet2)
  ┌───┬────┐
1│商品名│CODE│
 ├───┼────┤
2│C商品│1003│
 ├───┼────┤
3│D商品│1004│
 └───┴────┘
    A   B  (Sheet1)
  ┌───┬────┐
1│商品名│CODE│
 ├───┼────┤
2│D商品│1004│
 ├───┼────┤
3│A商品│1001│
 ├───┼────┤
4│   │    │
 ├───┼────┤
5│   │    │
 └───┴────┘
???????????????????????

A:
『VLOOKUP関数の範囲で複数のシートの範囲を指定する事は可能でしょうか?』
不可能と思います。

しかし、ある場合に、Sheet1の表を、また、他の場合に、Sheet2の表を参照することは、可能です。

条件判断の対象になる商品名は、必ず一意のもとします。
Sheet1の【セルB2】に式 
=IF(A2="","",IF(COUNTIF(Sheet2!$A$2:$B$4,A2)=1
,VLOOKUP(A2,Sheet2!$A$2:$B$4,2,0),VLOOKUP(A2,Sheet3!$A$2:$B$4,2,0)))
を入力します。
式は、1行です。
A2="","",ここまでは、【セルA2】に商品名が入力されていなければ、なにも表示しない。
(ここの部分は、必ず、この関数を使わなければならないものではありません。)
次のCOUNTIF関数は、指定された範囲に含まれるセルのうち、検索条件に一致するセルの個数を返します。
【セルA2】の商品名と同じもが何個あるかを、Sheet2から、検索します。
ある場合はこの場合必ず1で、無い場合は0となります。
(ここの部分は、必ず、この関数を使わなければならないものではありません。)
あれば、Sheet2から、コードを探し出し、なければ、Sheet3から検索します。
商品名を間違えればエラーになります。
IF関数と、VLOOKUPの関数は、最近良く出ていますので、そちらの方を、ご参照ください。

VLOOKUP関数の第四引数の、0は、FALSEと同じ結果になります。
FALSEと覚えられた方がいいかもしれませんね。 [質問一覧][HOME]

CEL367.表をコピーして使うと列幅が変わる

Q:(質問者:千葉県hiroさん)
Windows98
エクセルの表を毎回コピーして、次の予定表つくりに使っているのですが、列幅がコピーすると短い言葉の幅に戻ってしまい、またいちいち直して使っているのですが、何かよい方法があったら教えてください。
例えば  朝打合せ     朝打
                 合せ
      行事       →行事

???????????????????????


A:
こんにちは、千葉県hiroさん。

同じシート内でコピーする場合は、列の英字(ABC)の部分をクリックして列全体をコピーして、貼り付けたい列の英字に貼り付けて下さい。
行の場合も同様にコピー出来ます。

別のシートにコピーする場合は、左上の列と行の交差している部分をクリックしてコピーし、別シートの同じ部分に貼り付けて下さい。

また、シートを別ブックにコピーしたり末尾にコピーするには、編集→シートの移動またはコピーを使用して下さい。 [質問一覧][HOME]

CEL368.リンクしたい!

Q:(質問者:愛知県mikaさん)
Windows98
エクセル2000を会社で使っています。
リンクさせる方法を知らないので、同じデータを2回入力しています。
シート内や同じファイル内のシート同士でセルをリンクさせる方法ってありますか?

???????????????????????

A:
兵庫yuhkiです。ありますよ。
同じデータを入力したいセルに
=(シート名)!(セル番号)
という式を入力します。

例えば、SHEET2のA1セルにSHEET1のB1セルの値を入力したいのであれば、
=SHEET1!B2
とします。
入力しなくとも、SHEET2のA1セルに「=」を入力して、マウスでSHEET1のB2セルをクリックしてあげれば、上記の式が自動的に設定されます。

頑張ってくださいね。
ではでは。 [質問一覧][HOME]

CEL369.一部分だけ縦書きにするには?

Q:(質問者:神奈川県ma-nekoさん)
Windows98 
表を作成していると、一部分だけ縦書きにしたいときがあります。
一行づつ文字を入力するのは大変なので、良い方法を教えてください!

???????????????????????


A:
ma-nekoさんこんにちわ、はじめまして。
愛知県のmitaniというものです。
一部分・・一つのセルを縦書きにすることは出来ます。

縦書きにしたいセルを選択後、右クリックをし、「セルの書式設定(F)」を選択します。

その後で、「配置」と書いてあるタブをクリックします。
すると、右の方に「方向」という項目があり、その下に縦書きで「文字列」と書いてある四角の所をクリックし、OKを押します。
これで選択したセル内に書いた文字がが縦書きになるです。
ちなみに、縦書きで「文字列」と書いてある四角の右にある四角を色々クリックすると「文字列」の文字が色んな角度を向きますよね?

角度を選んでOKを押すと、選択セル内の文字がその角度で表示されます。
実用にかなうかどうかは置いておいて、色々と試してみるのも面白いでしょう。

ご希望に添えればありがたいです。
それでは失礼します。 [質問一覧][HOME]

CEL370.セル複写時の行幅・列幅

Q:(質問者:愛知Tigerさん)
エクセルで、複数のセルを範囲指定して複写する際に、”カメラ”機能を利用せず、もとの行幅、列幅も複写先に反映させるにはどうすればよいのでしょうか?
特にシート全体を複写したい場合で、シート左上クリックで全選択してから新規シートに複写する際に、もとの行・列幅を反映させる方法があれば教えて下さい。
よろしくお願いします。

???????????????????????


A:
Tigerさん今日は。兵庫のhhirochannです。
シート全体を複写したい場合は、コピーしたいシートを開き編集→シートの移動又はコピーを選択し、移動先を指定し、コピーを作成する にチェックを入れてOKしますとシートのコピーが出来ます。

このシートのコピーの場合、元のシートのままとなります。
(行高さ 列幅とも同じ) お試しください。

なお、部分的なセルのコピーの場合は残念ながらコピー先のセルの幅高さが優先されます。 [質問一覧][HOME]

[HOME] [MAIL]