ついに夏本番!さぁ、家族でキャンプに行くぞ! >>

こういった書き方でよいか分からないのですが・・・・

VLOOKUP関数で、あるセルを基準にしてそこへ書かれた値をある範囲から見つけ、そこから数えて3列目の値を返す、という作業をさせたのですが、その3列目のセルの中身が「G5/5」などの関数で、#REFのエラーが出てしまいます。ここへ「G5/5」で計算した値(G5=14のときは2.8など)を返す方法はないでしょうか?

よく分からない質問で申し訳ありませんがよろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

VLOOKUP関数のHELPが参考になると思いますので参照下さい。


「ご質問者の3列目の値を返す」という点から想定です。
(例)=VLOOKUP(A1,E1:G10,3,FALSE)
検索値が「A1」、範囲を「E1:G10」、「E1:E10」を検索して範囲内の別のG列の同じ行を抽出(検索条件はFALSEで完全一致型)、
列番号はE列を「1」とするので「3」になります。

>#REFのエラー
⇒例えば、列番号が範囲列数を超えるとこのエラーになりますが如何でしょうか。
    • good
    • 0
この回答へのお礼

検索範囲の設定が間違っておりました><

>(例)=VLOOKUP(A1,E1:G10,3,FALSE)
が参考になりました。ありがとうございました。

お礼日時:2009/05/26 16:16

文章ばかりの表現に拘らず、実例を挙げて説明しないから、何のことか判らない。

エラーが出たとき、他の値で置き変える、はIF関数とISERROR関数を使うが、質問者の情況が伝わらない。
補足の事。
>Vlookup関数
どんな式(引数部分を含めて)を入れているか書かないで、質問になら無い。
>あるセルを基準にしてそこへ ーー>第1引数のセルはどこで、その値は?
>をある範囲から見つけ 範囲の列は(セル番地で表現のこと)
>数えて3列目の値 第3引数が3なんだね。
だい4引数はFALSEだろう。
ーー
問題は検索範囲の左から3列目の有るセルについて
どういう式が入っているのか。=G5/5のような式か
>、#REFのエラー
VLOOKUP関数を入れているせるだよね。
=G5/5のでるではないよね。
Googoleで「#REFエラー」で照会するとたくさん記事が有る。
http://allabout.co.jp/study/pcbasic/closeup/CU20 …
など
比較的単純な字油が多い。
そこから原因追求したら。
ーーー
    • good
    • 0
この回答へのお礼

検索範囲にミスがありました><
本当に単純な事由でした・・。

お礼日時:2009/05/26 16:19

^^; 本当にわかり難いですね。



たぶん文中で書かれているのは、VLOOKUPの動きですよね。

VLOOKUP(検索値【あるセルを基準にしてそこへ書かれた値】、
範囲【ある範囲から見つけ】、返す値の列【そこから数えて3列目の値】、検索の種類)

で、結局VLOOKUPを使用した時に、エラーが返ってきてしまう。
でも、そのエラーは、#REFである。

このエラーはその関数で使用されている参照先が削除されたりすると
発生します。

つまり範囲中にある数式か?VLOOKUPの検索範囲か、どちらかの
参照先が正しくない可能性があります。

検索範囲の中の「G5-5」が書かれてあるセルのシート上の表示は
エラーが出ていますか?

PS:通常は「=G5/5」と書かれているはずですけどね。
    • good
    • 0
この回答へのお礼

検索範囲にミスがありました。
ありがとうございました。

お礼日時:2009/05/26 16:18

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVLOOKUPの検索値について

エクセルでVLOOKUPの関数を使うときの「検索値」に関する質問です。

この「検索値」が数式結果だと反映されませんよね?
そこで範囲指定をして、「値だけコピー貼付」をしたのですが、
やっぱり反映されません。

<sheet1>
  A      B      C     D
1 123    りんご    10円    XXX
2 124    みかん    20円    YYY
3 125    めろん    30円    ZZZ
4 126    かき     40円    QQQ
  ↑
  この「123」や「124」が
  別のシートからVLOOKUPで「DのセルがXXXなら123にする」
  という数式の結果なんです。

この<sheet1>を利用して、別の<sheet2>に
VLOOKUPで「“123”と入力したら“りんご”となる」
というようにしたいのですが、
この“123”“124”が数式結果のため、反映されません。
値だけ貼り付けても反映されません。
上書きで“123”“124”と入力すれば反映されますが
数が多いので困っています。

初心者なので、できるだけわかりやすく教えていただけたら
嬉しいです。

エクセルでVLOOKUPの関数を使うときの「検索値」に関する質問です。

この「検索値」が数式結果だと反映されませんよね?
そこで範囲指定をして、「値だけコピー貼付」をしたのですが、
やっぱり反映されません。

<sheet1>
  A      B      C     D
1 123    りんご    10円    XXX
2 124    みかん    20円    YYY
3 125    めろん    30円    ZZZ
4 126    かき     40円    QQQ
  ↑
  この「123」や「124」が
...続きを読む

Aベストアンサー

「反映されない」というのはExcelの動作にない単語ですが、
vlookup関数で#N/Aエラーになるという意味だと仮定します。

123とタイプすると、Excelは数値だと判断します。しかし数式など
で"123"という値を返すと、Excelは文字列だと判断します。違いは
判りますね。現状ではSheet1の表には文字列が入ってて、Sheet2で
タイプした数値では検索に引っかかってこないと思われます。

要するにどちらかに揃えればいいんですが、Sheet1のA列がさらに他
のシートからvlookupで検索した結果だとすると、根本まで遡ってす
べてを数値にするのは面倒くさいですね。Sheet2で123と入力したも
のが文字列として扱われるようにしましょう。Sheet2の検索値を入
力する予定のセルを選択し、書式→「セル…」の「表示形式」を
「文字列」にしてOKします。以後、その範囲にタイプした数字はす
べて数値ではなく文字列として扱われます。

QEXCELでVLOOKUPの返す結果を数式にしたいんですが

たとえばですが、
1 =SUM(A1:A13)
2 =(A1*A2)
3 =(A1*A3)
.
.
.
見たいな表を作り
これをVLOOKUPの範囲に指定してこの数式をそのまま引っ張ってきたいんですが出来ないのでしょうか。
何か良い方法があれば教えてくれませんでしょうか。
よろしくお願いいたします。

Aベストアンサー

質問がわかりにくい。もう少し丁寧に例を挙げてください。
>数式をそのまま引っ張ってきたいんですが、のあたり。
ーー
LOOKUPで引っ張って来る結果を数式・関数式(文字列)にして、セルに埋め込みたいということかな。
ーー
根本的に、関数式では、セルに「数式」を埋め込めない。エクセル関数はセルの値(Value)を処理して、値を割りだし(計算が多いが)、それをセルの値(Value)セット
するだけです。この根本を知っていればこんな質問にならない。
セルのValu以外の属性であるForFormula、NumberFormatなどは対象外です。
ーー
すなわち
何かに対応する、式の文字列は、VLOOKUP関数で割り出せる。しかし文字列どまりで、セル番地の場合はINDIRECT関数があり、番地文字列が番地に取り扱ってもらえるが、それに似たように、文字列を数式としてセットする手段を数式の場合は断ち切られている。
--
VBAなら、Range("A1").Formula="=数式文字列"ができるので、VBAを使うと、たやすく実現しそう。
またVLOOKUP関数もVBAのApplication.WorkSheetFunctionとして使える。

質問がわかりにくい。もう少し丁寧に例を挙げてください。
>数式をそのまま引っ張ってきたいんですが、のあたり。
ーー
LOOKUPで引っ張って来る結果を数式・関数式(文字列)にして、セルに埋め込みたいということかな。
ーー
根本的に、関数式では、セルに「数式」を埋め込めない。エクセル関数はセルの値(Value)を処理して、値を割りだし(計算が多いが)、それをセルの値(Value)セット
するだけです。この根本を知っていればこんな質問にならない。
セルのValu以外の属性であるForFormula、NumberFor...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

QExcel 関数返り値を「値」に

Excel の関数の返り値そのものを数値に置き換える関数はないのでしょうか。

たとえば、=VLOOKUP()でみているセル値をそのまま「値」に置き換える。
     (LOOKUPの対象が変わっても、前の値を保持するため)など

関数がドグサければマクロでも。

教えて下さい。よろしくお願いします。

Aベストアンサー

>数値に置き換える関数はないのでしょうか
ありません。

そのセルをコピーして、「編集」→「形式を選択して貼り付け」→「値」で式ではなく値に変換することは可能です。
それをマクロにすると以下のようになります
Sub Macro2()
 Selection.Copy
 Selection.PasteSpecial Paste:=xlPasteValues
 Application.CutCopyMode = False
End Sub

私もこのマクロの貼り付け部分だけのマクロをショートカットキーに割り付けて使用していますが、結構重宝します。
またマクロでVLOOKUP関数相当の処理を行って、セルに値を書き込むことも可能ですが、質問内容だけではマクロにできません。

ところで「ドグサければ」って何でしょう

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

QexcelのVLOOKUPで検索値を2つにできますか?

excelのVLOOKUPで検索値を2つにしたいです
私の知っているVLOOKだと下記のことは対応できます
例えば、A列に会社名、B列に住所、C列に電話番号 とあった場合
「住所が検索値と同一なら電話番号を表示しなさい」という指示は出せます

そこで質問です
「会社名と住所が検索値と同一なら電話番号を表示しなさい」
というような、複数の検索値を持つ事はできないのでしょうか?

参考になるURLなどでも結構ですので、ご存知の方よろしくお願いいたします

Aベストアンサー

元の表をA列に会社名、B列に住所、C列に「=A2&B2」、D列に電話番号のようにして
=VLOOKUP(会社名&住所,$D$2:$C$100,2,FALSE)
のようにすれば可能です。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qどなたかお願いします!!!VLOOKUP関数がうまく設定できません。教えてください!!!

こんにちは今仕事で困っている事があります。普段から「VLOOKUP関数」はよく使うのですが、何故か今回はうまく働きません。
データの表は名前をつけて、計算式を設定するときに名前の定義から引用しています。
表を作成するときの注意点として、何かあるのでしょうか?ちなみに表の中に空白はありません・・。
結果を出したいセルに数式を入れて、数式の窓には数式の結果として、正しい結果が出ているのに、その状態で「Enter」を押すと
そのセルには、数式そのものが表示されてしまい、肝心な結果が表示されません。
(数式の頭「=」から表示され、エラーにはなりません)
ツール→オプションで数式の表示の設定をみても、チェックマークはついていませんでした。
何が問題なのでしょうか・・・。
ちなみにその元の表は他人が作成したものです。
どうしても大量に抽出したいデータがあり、作業が進まなくてとても困っています。
どなたか教えてください。宜しくお願いします。

Aベストアンサー

もしかしたら、表示形式が「文字列」になっていませんか?
セルを右クリックで[セルの書式設定]を選択
表示形式で[標準]を選んでください。

Qエクセルで数式の結果が反映されない(自動計算になっているのに)

すいません、教えてください。

エクセル(XP)で数式が自動計算されなくなって
しまいました。

  ※ツールのオプションはちゃんと自動計算に
   なっているのに全く反映されません。

今まで全く問題なく作業できていたので
原因が分からず困っています。

数式等のエラーだとは考えにくいです。
と言うのも数式のあるセルをダブルクリックして
選択し、そのままEnterキーを押すと計算結果が
反映されます。
ただ、今まで全て自動計算されていたのが
全く動かなくなってしまったんです。

同じようなトラブルを経験された方、又は
詳しい方、どうかよろしくお願いします。

Aベストアンサー

原因は分からずじまいになってしまいましたが
同じことがありました。

「Officeの救急隊」を試してみましょう。
ボタン一発で全ての設定が元に戻ります。
http://www.vector.co.jp/soft/win95/util/se247118.html
(ツールバーなども初期状態に戻ります)

私の場合はコレで直ってしまいました^^

参考URL:http://www.vector.co.jp/soft/win95/util/se247118.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報