• ベストアンサー

DGETで他の値がかえってくる。

DGETで単価のデータを持ってくる際に、他の項目の単価がかえってきます。 なぜこのようなことがおきるのでしょうか?確かに同じ文字列を含むのはあるんですが、解決できなくて困っています。 きちんと、単価データを表示させる方法があれば教えていただけませんか? よろしくお願い致します。 ちなみに同じ文字列を含むというのは、 会員と新会員、○○ハウスと××ハウス、などです。

質問者が選んだベストアンサー

  • ベストアンサー
  • CMLT
  • ベストアンサー率40% (143/357)
回答No.4

とりあえず同じシート内で試しに再現してみましたが、 全てのパターンで正常に単価を抜き取れました。 条件に合う行がなければ#VALUEが返されました。 #NUMが返される場合というのは、条件に一致する行がデータベース範囲内に複数ある場合に返されるエラーなので、 条件指定している列のみ拾った時に、全ての列について、重複する行があるか確認下さい。 方法の一例として、全部を列Aで並び変え、列Aが一致する範囲のみ部分指定して今度は列Bで並び変え、列AとBが一致する範囲を部分指定して列Cで並び変え・・・

donsukadon
質問者

お礼

ありがとうございます。わざわざお試しいただいたんですね。 すいません、施設名称を少し変えていたので正常に抜き取れたのでしょうか。 ちがった方向で質問させていただきます。このDGET関数はデータベースの列に空白があると成り立たないのでしょうか? 今回添付していただいた画像を参照して質問させていただくと、C列が『空白』とういう文字ではなくて何も記入されてない場合(『 』)、D列がクーポン利用じゃないときに空白(『 』)にしてるんです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • CMLT
  • ベストアンサー率40% (143/357)
回答No.6

日付区分が全て空白だった為に条件の中に日付区分を入れませんでした。 条件指定の中に空白がある場合には、NNAQ氏の云うように=にするか、 前回の添付画像のように項目そのものを条件から外すことです。 データベースの中にいくら空白があっても、条件の中に空白がなければ大丈夫です。

全文を見る
すると、全ての回答が全文表示されます。
  • NNAQ
  • ベストアンサー率56% (104/184)
回答No.5

未入力を条件にするなら、「 = 」(イコール)で抽出できます。    A         B      C         D       E    使用場所名  日付区分 クーポン   利用者区分 会員区分 1  小部屋(1室)  =      =     子供     新会員

全文を見る
すると、全ての回答が全文表示されます。
  • CMLT
  • ベストアンサー率40% (143/357)
回答No.3

>Gに入力した式は >=DGET(料金参照シート!$A$1:$F$300,料金参照シート!F1,A1:E2) 式中に$を使ってますが、まさかこの式を何行にもコピーしてませんよね? 料金参照シート!A1:F300の1行目は項目タイトルとして、A1:E2の1行目も項目タイトル、2行目に一致するユニークな行を料金参照シート!A2:E300から探し出して、その行のF列を抜き出す数式です。 料金参照シート!F1の部分は単純に6で良いです。 >300行のうち50行くらい#NUM!が出てしまいます。 上で述べた原因で項目タイトルが違ってしまってませんか? もし300行表示させたいなら、 =if(sumproduct((A2=料金参照シート!A:A)*( …など、別の方法の方が良いと思われます。 もし私の想像違いで、DGET関数セルが一つで、条件によって抜き出せない行が50行ほどあるのであれば、その場合の例なり共通点なりを教えて下さい。

donsukadon
質問者

お礼

>式中に$を使ってますが、まさかこの式を何行にもコピーしてませんよね? してません。 >料金参照シート!F1の部分は単純に6で良いです。 変更しました。 >上で述べた原因で項目タイトルが違ってしまってませんか? 違ってません。    A         B      C         D       E    使用場所名  日付区分 クーポン    利用者区分 会員区分 1  小部屋(1室)  空白   クーポンなし  子供     新会員 2  小部屋(1室)  空白   クーポンなし  大人     新会員 3  小部屋(1室)  空白   クーポン利用  子供     新会員 4  小部屋(1室)  空白   クーポン利用  大人     新会員 5  小部屋(1室)  空白   クーポンなし  子供     会員 6  小部屋(1室)  空白   クーポンなし  大人     会員 7  小部屋(2室)  空白   クーポンなし  子供     新会員 8  小部屋(2室)  空白   クーポンなし  大人     新会員 9  小部屋(2室)  空白   クーポン利用  子供     新会員 10 小部屋(2室)  空白   クーポン利用  大人     新会員 11 小部屋(2室)  空白   クーポンなし  子供     会員 12 小部屋(2室)  空白   クーポンなし  大人     会員 13 小部屋(3室)  空白   クーポンなし  子供     新会員 14 小部屋(3室)  空白   クーポンなし  大人     新会員 15 小部屋(3室)  空白   クーポン利用  子供     新会員 16 小部屋(3室)  空白   クーポン利用  大人     新会員 17 小部屋(3室)  空白   クーポンなし  子供     会員 18 小部屋(3室)  空白   クーポンなし  大人     会員 この料金参照シートのうち1・2・7・8・13・14行目の部分で#NUM!が表示されます。

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 原因としては、クライテリア(検索式)の書き方の問題でしょうけれども、Excelのバージョンは、いくつでしょうか。再現性が取れませんので、もしかしたら、Excel 2002 なのか、クリイテリアが違うのか、その質問では分かりません。 ただ、DGET は、データベースから、ひとつを選び出そうとするものであって、複数該当するものがあればエラーが出ます。もしかしたら、ワイルドカードで呼び出そうとしているのかもしれませんが、DGETは、あまり操作性が良くありません。同じクリアテリアを使用するなら、フィルタオプションと簡単なマクロを使ったほうがよいかもしれません。 または、データのレイアウトや検索の内容が分かりさえすれば、配列数式で処理する方法もあります。

donsukadon
質問者

お礼

回答ありがとうございます。 使用しているのはExcel2003です。 エラーは#NUM!が出てしまうのですが、複数該当にはなってないんです。 初歩的な質問ですいませんが、ワイルドカードで呼び出すとはどういうことなんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • CMLT
  • ベストアンサー率40% (143/357)
回答No.1

使用方法が間違っていると思われますので、具体例を補足頂けますか?

donsukadon
質問者

お礼

回答ありがとうございます。 具体例ですが、 料金参照シート と 入力シート を作りました。 料金参照シートには A         B       C             D        E          F 使用場所名  平日か休日 クーポン利用かナシ 子供か大人 新会員か会員  単価 というのを300行まで一通り入力しています。 入力シートは A B C D E の項目を入力規則のリストから選択するようにしました。 A~Eをリストから選択したらGのセルに単価が入力されるように設定したんですが、300行のうち50行くらい#NUM!が出てしまいます。 Gに入力した式は =DGET(料金参照シート!$A$1:$F$300,料金参照シート!F1,A1:E2) です。 これで補足はできましたでしょうか?もし意図した内容と違いましたら指摘してください。また書き直しします。 よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 関数(DGET)のファイルを作成しました、検索セルに英数字を入力するのですが・・・

    エクセルで関数(DGET)の検索をするファイルを作ったのですが、検索セル(英数字を入力するセル)に英数字を入力する際、小文字で入力しても大文字に変わるようにしたいのです。 何か方法はありませんか?オートコレクトでひとつづつ指定すれば可能にはなるのですが・・・データーが多くて困っています。 よろしくお願いします。

  • エクセル「DGET」関数の範囲について

    お世話になります。 DGET関数に関して質問です。 =DGET (データベースの範囲,条件を満たすフィールド,検索条件) に対して、「データベースの範囲」に対してタイトル(AA~CC)をつけていますが、 データベース上に同じ名前があると、2件目以降のAA~CCの項目にあるデータは 条件で見つけてくれないようでした。(以下の条件だとヒットしない) ●条件 AA       BB    CC 2012/2/10 山田 \24,000 ●データベースの範囲 AA       BB    CC    AA       BB CC 2012/2/10 田中 \12,000                   2012/2/10 山田 \24,000 データベースをすべて縦書きにして同じ項目をなくせばもちろんヒットするのですが、 現金と通帳のデータ両方をデータベースの範囲として見て欲しいので、レイアウトを 横並びにしたいのですが、なにか方法はありますでしょうか? 別の関数でも構いませんのでよろしくお願いします。 やりたいのは、横並びにした両方のデータを参照して、 一致したものは入金が終わっているとしたのですが、その関係で同じタイトルにしてます。

  • VLOOKUPによる他シートの値参照

    初心者で以下の処理を行うコーディングの方法が分りません。 いろいろと他の質問、サイトを調べましたが、解決できませんでしたので、ご指導頂ければ有り難いです。 (1)"Sheet1"に下記例の通り、2列にデータが並んでいる。  左列には商品、右列にはその単価がセットされている。 (例) 商品1  \11 商品2  \22 商品3  \33 : (2)別シート"Sheet2"の左列には、商品が"sheet1"とは 異なる順序で並んでいる。また同一商品が複数存在することもある。 この商品の右列にそれぞれの単価をセットしたい。 商品3  (Sheet1を参照して値をセット) 商品7  (Sheet1を参照して値をセット) 商品1  (Sheet1を参照して値をセット) : 、って感じです。EXCEL関数の"VLOOKUP"を使おうと思っているのですが、どうも思った通りの結果がでません。 商品のデータ数は当然変動するのでVLOOKUPの参照セルに変数を使おうと思っているのですが、 その方法がまずいのでしょうか?

  • エクセル2002 winXP タイトルの列を入れ替えて他のブックへコピーしたい

    お世話になります。 簡単なマクロを使って、表題通り、あるブックの表を、他のブックへ コピーし、なおかつタイトル列を右へ左へと入れ替えた状態で表示する方法を 教えてください。 具体的には・・・ bookA には、A列から順番に、たとえば 日付 材料名 単価 入り数 金額 というタイトルの列が並んでいて(データの量は、3000行くらいです) 各列には文字列だったり数値だったりのデータが入っています。 このようなデータから、他ブック  bookB へ。 このbookB には、既にデータが何千行か入っていて、bookAと 同じデータなのですが、 見方を違えているので、タイトルがbookA と 並び方が違っています。 bookA のタイトルが、bookBでは 日付 単価 金額 入り数 (実際にはもう少し複雑なのですが)と並んでいます。 このbookBの、最終行に、bookA を、貼り付けたいのです。 bookA   日付 材料名 単価 入り数 金額    (3000行くらいデータが入ってるのでそれをコピーしたい) から、 bookB   日付 単価 金額 入り数        (既に何千行か入ってるので最終行の続きへ貼り付けたい)

  • セル内のデータが空白の場合、その行は印刷しない

    エクセルデータで1000行、列項目が10項目ある表を作りましたが、データのない項目があるので印刷時にデータのない行は印刷しない方法を教えてください。 ただし、AとB列は品名と品名コードが常に表示されます。 データとして在庫数、重量、単価の項目があり金額は重量×単価の計算式があります。 ※在庫数、重量、単価が空白の場合はその行は空白行とみなし印刷しないようにする。  また、プレビューで見た場合も空白行は詰めて表示されること ※在庫数、重量、単価のセル内には関数が登録されておりデータが0の場合は空白となるように 設定してあります。  サンプル画像を添付しますのでよろしくお願いします。

  • 条件に合った値を抜き出すには

    例えば、A列に縦に並んだデータのシートが数十枚あります。 その各シートのデータの先頭の値と、 指定する値(複数あります)に当てはまったデータだけを新しいシートに抜き出す方法はありますでしょうか? A列に縦に続くデータ 0 1 2 3 4 5 ・ ・ ・ 上記データのより <複数の条件を指定する〉 0123           ○→全て該当するので抜き出す 012345         ○→全て該当するので抜き出す 123456         ×→全て該当しないので抜き出さない (全て文字列モードで表示できる方法があれば嬉しいです)

  • SQL文 NULL値に別の値を表示したい

    以下のようなテーブルAがあったとして、 項目Cを抽出する際、キー項目Bが「2」の場合、nullですが、 これを「b」と表示するようにしたいです。 [テーブルA] キー項目B 項目C ------------ 1  a 2  null 3  c 4  d ---------------------------------------------- 項目Cのデータ型が数値の場合は、 SELECT CASE WHEN B IS NULL THEN 0 ELSE B END AS B FROM テーブルA で対応できるようですが、 文字列の場合は、同じような方法があるのでしょうか? 何かご存じの方、お願い致します。

  • 値が 18446744073709551615 になる。

    こんにちは、 PHPとMYSQLの連動でサイトを作っています。 会員の情報であるコラムの値がきづくと、 18446744073709551615になっています。 そのコラムは「BIGINT UNSIGNED」で作成してあり、気づくとその数値型の最大値が挿入されているのです。ちなみに正常、今入っている数値はせいぜい100くらいです。 実際にこのコラムの値をPHPでいじるところを調べてみたのですが、さっぱり見当がつきません。 例えば「文字列を入れるとなる」とか「0*0」を入れるとなる。とか、そんなのご存知の方はいらっしゃいませんでしょうか? よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • エクセル 複数条件一致したセルの抽出方法について

    はじめまして。 エクセルの複数条件で一致するセルの抽出方法の質問が幾つかありましたので 参考に試してみましたが上手く計算することができなくて、投稿致しました。 問題が解決すると非常に助かりますので、教えて頂けますでしょうか。 質問内容 エクセル2007を使用しております。 同じ商品を複数社で購入する場合、単価が異なります。 購入先と商品名で一致した場合に単価が参照されるようにしたいです 2つのシート使用しており、1つは■データベースシート、1つは●入力シートとなってます。 ■データベースシートの項目は A列    B列   C列   D列   E列    F列 購入先  〔※〕  〔※〕  品名   〔※〕   単価 AA社             みかん       1,000 BB社            みかん       1,500 CC社            みかん        700 CC社             いちご        5,000 DD社              いちご        3,500 〔※〕B・C・E列にも項目がありますが、質問(単価参照)とは関連がありません。 この項目は他のデータと使うことがありますので、削除や他の列に移動をしない方法が希望です。 ●入力シートの項目も同じです。 A列    B列   C列    D列    E列     F列 購入先  〔※〕  〔※〕   品名    〔※〕    単価 【 (1) 】           【 (2) 】          《 (3) 》 (3)に関数を入力されるように組みたいです。(1)と(2)を入力すると ■データベースシートの「F列」の単価が参照されるイメージです。 分かり難い質問で申し訳ありません。お知恵を頂けますと助かりますので 何卒宜しくお願い致します。 以上

  • 他シートからのデータ抽出について

    以下の状況について、ご教示いただければ助かります。 【状況】 シートA K列にキーとなる項目があります。(K5セルからK100セルにデータが記入してあります) AG列に「手数料」項目を表示させる列があります。(AG5セルからAG100セルにデータが表示されます) シートB M列にキーとなる項目があります。 AA列に「手数料(1)」項目があります。(AA13セルからAA200セルにデータが入ります) AH列に「手数料(2)」項目があります。(AH13セルからAH200セルにデータが入ります)  AA列にデータがある行は、AH列にはデータは入りません。  AH列にデータがある行は、AA列にはデータは入りません。 【実現したいこと】 シートAのL列にシートBのAA列かAH列の記入されている手数料データを表示させたい。  シートBのAA列にデータがある場合はAA列のデータを表示させる。  シートBのAH列にデータがある場合はAH列のデータを表示させる。 これは、vlookupで対応する事を想定しているのですが、実現できるのでしょうか。 何卒、よろしくお願いいたします。

このQ&Aのポイント
  • MFC-9340CDWのコントロールセンター4がインストールされない際に発生するMicrosoft Visual C++ 2005 Redustrubutable(x86) Command Line option syntax errorの解決方法について教えてください。
  • Windows11 Pro 23H2環境下で無線LAN接続されているMFC-9340CDWのコントロールセンター4のインストールにおいて、Microsoft Visual C++ 2005 Redustrubutable(x86) Command Line option syntax errorが発生し、インストールができない問題が発生しています。
  • MFC-9340CDWのコントロールセンター4のインストール時に、Microsoft Visual C++ 2005 Redustrubutable(x86) Command Line option syntax errorが表示されてしまい、インストールができない問題について、解決方法をご教示ください。
回答を見る

専門家に質問してみよう