重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

現在、下記関数を使用しています。

C5=IF(ISNUMBER(B5),VLOOKUP(B5,支払先,2,FALSE)," ")

B5に[支払先C]を入力すると、C5に[支払先]が出るようになっています。
[支払先C]と[支払先]は、別シートに一覧表示し、リンクさせてる状態です。

そこで質問です。
(1)別シート一覧表の範囲設定方法
 (現在、行の挿入で追加しています)
(2)“ISNUMBER”の意味
 (IFとVLOOKUPの意味は理解できています)

引継ぎ時に型ができていたので、内容を理解しないまま使っています。
補足が必要かと思いますので、質問も兼ねてご回答頂ければと思います。
宜しくお願い致します。

A 回答 (5件)

シート名を書くのは「別のシートを参照する」時だけでいいんです。


今回のようにB5で入力したコードの隣に名称を表示するなら、B5を参
照する時にはシート名を付ける必要はありません。

で、vlookup()関数の中で参照している支払先のコードと名称の一覧
表が別のシートにあるということで、普通ならここで
「Sheet2!A1:B20」のように参照するんですが、どうも質問やお礼を
読んだ感じでは、名前が定義済みで「支払先」としか入力したことが
ないような気がします。
メニューで名前の定義を探して下さい。「支払先」という名前で一覧
表の20行目までの範囲が定義されてませんか。ここを変更してやれば
今まで通り何も悩まずに使えるはずです。「=Sheet2!$A:$B」と定義
してやると、Sheet2のA列からB列までの全ての行が範囲に含まれます
ので、一覧表が数千件に増えても大丈夫ですよ。

この回答への補足

分かりました!

[挿入]→[名前]→[定義]ですよね!

知りたかったのは、まさにこの事です!!
どうもありがとうございました<(_ _)>

補足日時:2003/05/22 09:27
    • good
    • 0
この回答へのお礼

お礼が遅くなり、申し訳ありません。
ご回答ありがとうございます。

>メニューで名前の定義を探して下さい。

この方法が知りたかったのです!
この名前の定義の方法(ツールバーのどこで設定するのか)を
教えていただけますでしょうか?

お礼日時:2003/05/22 09:19

Sheet2のA1:B3に会社コードと会社名があるとします。


Sheet1のA列に会社コードを入れ、B列に会社名を出すとき
Sheet1のB1に式
=VLOOKUP(A1,Sheet2!$A$1:$B$3,2,FALSE)
を入れるべきです。
その時の注意は(1)第四引数はFalseを指定する。
(2)Sheet2の表は絶対番地($付き)で記述する。
ことが肝心です。よくOKWEBの回答にも洩れているケースがあります。
Isnumber(B5)はB列が数値(字)かどうかを判定して(聞いて)いて、数字以外の入力で混乱しないようになっていて、丁寧に組んであります。更にA列未入力セルに、#N/A
が出るのを防ぐ役目もしています。
=IF(A5="","",VLOOKUP(A5,Sheet2!$A$1:$B$3,2,FALSE))
としたりもします。
範囲(例えばSheet2のA1:B3に「支払先」と名前をつけると
各シート間で共通になり、Sheet1に式を入れる時も、=VLOOKUP(A5,支払先,2,FALSE)
と書けて、Sheet2!が不要になります。
    • good
    • 0
この回答へのお礼

お礼が遅くなり、申し訳ありません。
ご回答ありがとうございます!

関数活用は幅が広いですね!勉強になります!!

お礼日時:2003/05/22 09:21

>どこに“シート名!”を付ければ良いのか



セルの前です。
B5 が Sheet2にあるならば Sheet2!B5
となります。

IF文は
IF(結果,TRUEの時の処理,Falseの時の処理)
というふうになります。

結果が A=A など 正しければ TRUEになって TRUEの時の
処理をします。
    • good
    • 0
この回答へのお礼

ご返事ありがとうございます。

数式の中に入れ込むと云う事でしょうか?
IF(ISNUMBER(Sheet!B5),VLOOKUP(Sheet!B5,支払先,2,FALSE)," ")

例えば、Sheet2の一覧表に、20行目まで数字が入っていたとします。
予め範囲が指定してあり、21行目以降の[支払先C]を入力しても[支払先]は表示されず
「#NA」になってしまいます。
この場合、21行目以降もリンクさせる設定方法があります。
確か、Sheet2上で設定できたと思うのですが・・・。
ご存知でしょうか?

お礼日時:2003/05/21 17:40

ISNUMBERは数値かどうかを判断しています。



> C5=IF(ISNUMBER(B5),VLOOKUP(B5,支払先,2,FALSE)," ")

上記でいうと、
『もし、B5が数値なら、VLOOKUPで検索した結果をC5に。数値以外であれば空白を入れる』
となってます。
    • good
    • 0
この回答へのお礼

明解!なご回答ありがとうございます!
完璧に理解できました!!

お礼日時:2003/05/21 17:26

>別シート一覧表の範囲設定方法



Sheet2!A1:B22

というふうに シート名!をつけてあげればいいです。

ISNUMBERは、セルの値が 数値だったら True を返します。

ISNUMBER(B5) では B5の中身が 数値かどうか判定してて
IF(ISNUMBER(B5),Trueの時,Falseの時)
となります。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
>Sheet2!A1:B22
というふうに シート名!をつけてあげればいいです。

・・・との事ですが、どこに“シート名!”を付ければ良いのか
教えて頂けますでしょうか<(_ _)>

お礼日時:2003/05/21 17:25

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