• ベストアンサー

SQLでエクセルの表(または別テーブル)から文字列を抽出するには?

はじめまして、こんにちは。困っているので教えてください。現在エクセルの表にさまざまなIDがあります。 それらを順番に抽出してきて、データベース内にあるIDと一致したらそのIDを一つの横の列に移して、1とかかれているセルを0にしたいのですが、そのようなことは可能なのでしょうか?もしエクセルのままで行うのが難しいのなら別のテーブルを作成しても大丈夫です。とても困っています、よろしくお願いします。

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

  • ベストアンサー
  • worlds
  • ベストアンサー率40% (23/57)
回答No.1

ぱっと思い浮かんだ方法なのですが、 1)Excel表(以下A)と比較したいデータベースのテーブルを、Excelにエクスポートする 2)エクスポートしたExcel表(以下B)のID列を昇順に並べ替える 3)AのID列の真横にでも(どこでもいいですが…)1列挿入し、Vlookup関数を使ってBと比較させる。一致したら◎、一致しないとき×など、IF関数も組み合わせてください 4)VBAを使用して、Vlookup関数の列が◎の行の、1と書かれているセルを0に上書きするという処理を作る …完全自己流ですみません。もし挑戦できそうなら、試してみてください。 それ以前に目的と間違っていたらすみません。

eri1235
質問者

お礼

ありがとうございます。 それでも確かにできますね。 しかし、できればボタン一つでプログラムが走り、一致したIDを自動でデータベースから削除するようなことを考えていたのですが、やっぱり難しいでしょうか?

関連するQ&A

  • エクセルで表から文字列を抽出したいのですが・・・。

    例えば、エクセルで表(B1:B100)から「夏の扇風機は安い?」という文字列を抽出したいと思います。 ただ、表では、「夏の扇風機」しかのっていません。 MATCHで場所を抽出して、INDEXで表示しようとしても、文字列が一致しないので、MATCHで場所を探せません。 はじめの5文字だけでMATCH文を作るとか、抽出する他の方法はありませんか? エクセルは、初心者です。 以上、よろしくお願いします。

  • これを抽出するSQLを教えてください

    どういうSQLを書けばこれが実現出来るのか分からないので教えて下さい。 テーブル名 f_table というテーブルがあります。 このテーブルには、f_id,u_id,day(日付)という三つの列があり、下記のようにデータが入っているとします。 f_id  u_id    day   1    1   2007/3/8 2    2   2008/1/2 3    2   2008/1/10 4    1   2007/2/12 このf_tableから、各u_idで一番日付の新しいf_idを抽出する(この表の場合f_idの1と3が抽出される)にはどういうSQLで出来るのでしょうか? ※実際の表ではu_idに入っている数字の種類は1と2だけではなく、もっと沢山あります。 ご回答よろしくお願いします。

  • エクセル、同じ行の別の列の文字列を抽出する関数

    エクセル2010です。 例えば、図の上の表のように、担当ごとにある仕事をした日付を記入していく表があるとします。 そこに記入していくと、同時に別のカレンダー(図の下の表)に、日毎に誰が仕事をしたかまとめて書き出すような書類を作ろうとしてします。 日付を検索条件にして、その日付が書かれている同じ行のA列にあるセルの文字列を、ヒットするものだけ抽出して書き出す、という仕組みです。 カレンダーの日付はあらかじめ記入しているものとします。 こういう場合、どんな関数を使えばよいのでしょうか? 「この関数を使えばいい」というヒントだけでも結構です。どうぞよろしくお願いします。

  • エクセルの表から抽出

    エクセルについて教えてください。 表の列と行を指定して(セル番地と言う意味ではないです。)一致しているセルの文字列を表示したいのですが方法がわかりません。   1 2 3 4 A あ か さ た B い き し ち C う く す つ D え け せ て E お こ そ と 上記のような表で2-Bなら「き」と表示させたいのです。 分かりにくいかも知れませんが 宜しくお願いします。

  • Excelでデータを抽出

    エクセルでデータベースを作成しました。 このデータベースから目的のものだけを別のシートに抽出したいです。 データベース A ID1 B ID2 C 内容 この内容が100行書かれているとします。 ある20個のIDの内容だけを別のシートに抽出したいのです。 ID1を昇順にならべるとID2は昇順にならないようなIDになっています。 なので、VLOOKUPがつかえません。 ID1から抽出したいもの20個を選んで、シート2へ選んだ内容のID1と内容を抽出 ID2から抽出したいものを20個選んで、シート3へ選んだ内容のID2と内容を抽出 どの様にしたら出来ますか? うまく説明できなくてすみません。 宜しくお願いします。

  • excel 文字列抽出に関する質問

    エクセル文字列抽出について質問です。 例えば、 "西郷 隆盛" この文字列から、" "の前後に分けて "西郷" と "隆盛" をユーザ定義関数を用いて、それぞれ別セルに抽出する場合、どのようにモジュールに入力すれば良いのでしょうか? ご教授願います

  • エクセル 文字列抽出について質問です

    こんにちは^^ エクセル文字列抽出について質問です。 例えば、 "ボリュームサイズ=74.53GB" この文字列から、"="の前後に分けて "ボリュームサイズ" と "74.53GB" をそれぞれ別セルに抽出する場合、どんな方法があるでしょうか? 関数、VBAマクロどちらでも結構です。 教えて下さい。お願いします。

  • エクセル ピボットテーブルで同一列内の同じ文字を抽出

    マクロを使い、ピボットテーブル上でA列の任意の文字をクリックすると、 A列を検索して同じ文字があれば抽出した行を反転?(青くなる奴です)したいです。   A    B    C  ・・・ 1 大阪  50 2 静岡  15 3 東京  33 4 大阪  14 5 大阪  05 6 東京  88 この場合、セルA5の"大阪"をクリックするとA列の1行目と4,5行目の"大阪"の文字をキーワードに、1・4・5行を反転させたいのですが可能でしょうか? 当方エクセル、VBAともに初心者です。よろしくお願いします。 補足 A6セルをクリック(A6セルの上にカーソルがある状態)すれば3・6行を反転という事です。

  • エクセル ある文字列を入れるとある文字列を返す

    エクセルでの関数、ど素人です。一応自分で調べたのですが、無理なので質問させていただきます。よろしくお願いいたします。 エクセルで、時刻ですが文字列として1745~2345までを手入力します(1745,とか2000とか2330とか。。。。。) 入れた文字列によって、すぐ横のセルに1745、1800、1815であれば8.00、1830からは0.25刻みで8.25、1845であれば8.50、1900であれば8.75。。。。2330であれば13.25、2345であれば13.50と言ったように、入力した文字列に対しある特定の文字列を自動的に入れたいのですが、どのような関数を使えばよろしいのでしょうか。 私が行おうとしたのは、別シートに文字列一覧を作り、if(特定のセル(手入力するセル)=別シートの1745~2345まで、横のセル=別シートの8.00、8.00、8.00~13.50まで)や、sumif、lookupを使ってみましたが撃沈です。 どなたか教えていただきたく、お願いいたします。

  • Excelでデータ抽出!

    かなり切羽詰ってます。助けてください。 excelで3×15の表を作ってそこからデータを抽出したいのです。列と行の数値はそれぞれ別のセルからの参照にしたいのですが...。ifとかvlookupとかいろいろ使ってみたのですがうまくいきません。エクセルでゆーところの'B3'を出したいだけのことなのですが...。誰か助けてください。