- ベストアンサー
EXCELの式を教えてください。
LOOKUP関数で#N/Aのエラーが出ます。EXCEL97です。 1つのシート内でやると、うまくいくのですが、シートをまたがると、エラーが出ます(-_-;)以下のようにA列にある文字と一致したセルの2つ隣のセルの数字を持ってくるという単純な式なのです。(C列の100が出ればいいのですが・・) Sheet3に式を入れています。 Sheet1の表 A B C 1 4月計 100 2 5月計 200 3 6月計 300 Sheet3の式 =LOOKUP("4月計",Sheet1!A1:A3,Sheet1!C1:C3)
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
再びANo.#1です。 補足事項を書かせていただきますね。 LOOKUPの検索範囲を昇順に並べておかなくてはいけないという事についてですが、 5月計 6月計 4月計 なんて並んでいると#N/Aになってしまいます。 これは次のように推測しているのですが。 LOOKUP関数が範囲の上または左から検索していく時に 最初「5月計」を見ます。 ここですでに「4月計」より大きい値であるのでLOOKUP関数は探すのを諦めるのではないでしょうか。 もしVLOOKUP関数のように検索範囲を上から下まで全部検索してくれれば 早々に諦める事はないと思いますよね。 で、とてつもなく広い範囲に対してVLOOKUP関数を使用しますと、処理に時間がかかります。 こんな場合LOOKUP関数はとても速くて便利だと思うのですが。 ANo.#6さんがおっしゃったのはVLOOKUP関数を使い、引数にFALSEを入れてみてはどうでしょう、というご提案だと思います。 =LOOKUP("4月計",Sheet1!A1:A3,Sheet1!C1:C3) をVLOOKUPに変えてみると =VLOOKUP("4月計",Sheet1!A1:C3,3) と同じですね。 (第四引数に何も入れない、TRUEや0以外を入れる、どれも同じ同じことです) VLOOKUPもTRUEのままですと検索範囲を昇順に並べておかなくてはいけません。 ですから =VLOOKUP("4月計",Sheet1!A1:C3,3,FALSE) にしてみたらどうですか?とのご提案ですね。 LOOKUPを使われるか、VLOOKUPを使われるかはお使いのケースによりけり、という事になります。 Hiroonchanさんは理由があってLOOKUPを使われたのだと思います。 あとは100を引っ張ってくる関数としましてまだまだたくさんありますが 例えばSUMPRODUCTなどもあります。 =SUMPRODUCT((Sheet1!A1:A3="4月計")*Sheet1!C1:C3) です。 今回の場合Sheet1!C1:C3が数値なのでエラーにはなりません。 Sheet1!C1:C3が文字列の場合は#VALUE!になります。 更に、今回の場合はSheet1!A1:A3に「4月計」が2つ以上無かったので、 LOOKUPと同じように対応するセルの値を引っ張ってきました。 SUMPRODUCTは、もし「4月計」が2つあれば 「4月計」に対応するセルの数値の合計を返してきます。 「4月計の分を全部足したい」時には便利です。
その他の回答 (6)
- imogasi
- ベストアンサー率27% (4737/17069)
下記を再度チェックして見てください (1)第2引数Sheet1!A1:A3の部分は絶対番地を指定しないと複写した時おかしくなります。 Sheet1!$A$1:$A$3 (2)第3引数Sheet1!C1:C3のところは2,3などの 検索列からの列隔たり数を指定するはずです。 (3)第4引数はTRUEかFALSEでこの場合はFALSEをいれる ケースかと思います。<--2つ隣のセルの数字を持ってくるという・・・より推定 (4)Falseの場合は検索列は昇順や降順にする必要はありません。
再びANo.#1です。 念のためというか、お伺いして置きたい事があります。 LOOKUPの対応範囲は昇順に並べておく必要があります。 こも条件は上記の表ですと満たされているように思いますが、 昇順に並んでいますでしょうか?
- makomi
- ベストアンサー率0% (0/9)
=LOOKUP(B5,Sheet1!I4:I6,Sheet1!J4:J6) 4月計じゃなくてセルの値を入れないとじゃないですか?
- Hna-kao
- ベストアンサー率37% (3/8)
こちらでは、全角半角をそろえてやってみたら、どちらもきちんと表示されました。 新しいブックを作ってもう一度やってみてはいかがでしょうか? それでOKでしたら、そこから原因を絞り込めるかもしれません。(もしかしたら単純な入力ミスの可能性もありますし)
- Hna-kao
- ベストアンサー率37% (3/8)
実際にやってみましたら、Sheet1のA列を全角(『4』月計)で記述し、Sheet3の式を半角(『4』月計)で記述したら、#N/Aのエラーが出ました。 両方とも全角半角を揃えてやってみてはいかがでしょうか?
補足
早速のご回答有難うございます。 半角、全角それぞれ合わせて、やってみたのですが、 やっぱ、ダメでした。(-_-;)
4月計の「4」が全角と半角で合致しないなどでしょうか? 関数が全角と半角を区別しているのではないでしょうか。
補足
早速のご回答有難うございます。 半角、全角それぞれ合わせて、やってみたのですが、 やっぱ、ダメでした。(-_-;)
補足
ご回答、有難うございます。 A列にある"4月計"という文字列を探すのではなくて、確かにA3というように特定のセルを指定すれば、出来ました。 ということは、この文字列が常に固定された位置でないとダメなのでしょうか?この"4月計"という文字が可変である場合、できないのでしょうか(;_;) いまいち、この関数の参照する法則性(定義)がわかりません。