• 締切済み

エクセル

エクセルの質問です。 Sheet1    A               B     C     D 1 〇〇商事〇〇営業所  Sheet2     A               B     C     D 1 〇〇商事           10    20    30 Sheet1のB1に、Sheet2のA列からSheet1のA1の一部を含むセルを探して、Sheet2のB1を反映させることは可能でしょうか? どなたか教えて頂けると助かります。

みんなの回答

noname#203218
noname#203218
回答No.3

検索文字にアスタリスク(*)をつける事をワイルドカードと言います。部分一致の文字列も検索する事が可能です。 シート1の検索文字が必ずシート1にある事が分かっている場合や、検索エラーが出ても良いと考えているのであれば シート2B1式は =VLOOKUP("*"&$A2&"*",Sheet1!$A$2:$D$1000,COLUMN(B1),FALSE) エラー処理でエラーの場合セルを空白にするのであれば =IF(ISERROR(VLOOKUP("*"&$A2&"*",Sheet1!$A$2:$D$1000,COLUMN(B1),FALSE)),"",VLOOKUP("*"&$A2&"*",Sheet1!$A$2:$D$1000,COLUMN(B1),FALSE)) ワイルドカードは*をつける位置によって検索方法が違います。 下記サイトはVLOOKUPをマクロで利用する時のワイルドカードの説明が記載されていますので*の位置による検査方法の違いをご確認下さい。 今回のケースでは*は検索文字の後だけにつければ良いのですが、確実に検索する為に文字の前後に*を付けていますので、セルの文字列の途中に検索文字列があっても検索してくれます。 株式会社◯◯商事××営業所とシート1にあり、◯◯商事でVLOOKUPで検索に対応する為に*を前後につけました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

配列数式などを使いますと計算にはかなりの負担がかかります。 例えばシート1のB1セルには次のような式を入力してC1セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF($A1="","",VLOOKUP(LEFT($A1,IF(ISERROR(FIND("商事",$A1)),0,FIND("商事",$A1))+IF(ISERROR(FIND("会社",$A1)),0,FIND("会社",$A1))+1),Sheet2!$A:$D,COLUMN(B1),FALSE)) 上の式はシート2でのA列の名前に商事や会社で終わっている場合です。工夫して使ってみてください。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

B1に =VLOOKUP(LEFT(A1,MAX(IF(COUNTIF(Sheet2!A:A,LEFT(A1,ROW($B$1:$B$99)))>0,ROW($B$1:$B$99)))),Sheet2!A:B,2,FALSE) と記入し、必ずコントロールキーとシフトキーを押しながらEnterで入力します。 必ず、あなたがご相談で書いたその通りのサンプルを作成し練習してから、本番に臨みます。

関連するQ&A

  • エクセル

    エクセルの質問です。 同じシート内で      A     B    C     D     E        1 〇〇商事  10       ××商事  20 2 ××商事  5        〇〇商事   3 という入力があります。 教えて下さい。 CにA列と同じ企業をD列から探してEの数値を表示させたいのですが何か方法はありあすでしょうか? ちなみにAもDも1000行くらいあるので関数か何か方法はないか探しております。 皆様宜しくお願い致します。

  • エクセル 並べ替えについて

    エクセル 並べ替えについて A列 B列 C列 取引先 売上額 納付確認日 A商事 10000 1月1日 B商事 20000 1月2日 C商事 30000 1月3日 D商事 40000 1月4日 E商事 50000 1月5日 シート1にエクセル2003で上記のような表を作っています。 今から売り上げを加算して帳簿につけるのですが、C商事だけ 別会計になっています。 VBAでC商事だけ以下のように省いて、シート2に自動的にはじく ようにしたいのです。 初心者ですいませんが、ご教授していただければ嬉しいです。 シート1 A列 B列 C列 取引先 売上額 納付確認日 A商事 10000 1月1日 B商事 20000 1月2日 D商事 40000 1月4日 E商事 50000 1月5日 シート2 A列 B列 C列 取引先 売上額 納付確認日 C商事 30000 1月3日 よろしくお願いします。

  • エクセル シート分離について

    エクセル シート分離について 一度質問させていただきましたが、もう少し勉強したいので 回答を聞かせていただきたいです。 A列B列C列 取引先売上額納付確認日 A商事100001月1日 B商事200001月2日 C商事300001月3日 D商事400001月4日 E商事500001月5日 シート1にエクセル2003で上記のような表を作っています。 今から売り上げを加算して帳簿につけるのですが、C商事だけ 別会計になっています。 VBAでC商事だけ以下のように省いて、シート2に自動的にはじく ようにしたいのです。 初心者ですいませんが、ご教授していただければ嬉しいです。 シート1 A列B列C列 取引先売上額納付確認日 A商事100001月1日 B商事200001月2日 D商事400001月4日 E商事500001月5日 シート2 A列B列C列 取引先売上額納付確認日 C商事300001月3日 よろしくお願いします。

  • エクセルの数式をどのように入れたら良いでしょうか?

    エクセルの数式をどのように入れたら良いでしょうか? いつもこちらでお世話になっています。 今回も教えて頂きたく質問させていただきます エクセルについてですが、 sheet1に入っているデータを sheet2に入力するようにしたいのですが sheet1の A列に1~50までのNo. →A1セルにNo.1、A50セルにNo.50 B列に(1)データ C列に(2)データ があり sheet2の D5のセルに「1」と入力すれば、sheet1!A列の数字とリンクしてsheet!B1の(1)データが入り D6のセルに「10」と入力すれば、Sheet1!A列の数字とリンクしてsheet!C10の(2)データが入る ように設定し、 さらにsheet2のD5,D6のセルに上書きで(繰り返し)数字を入力させ 数式が消えないようにしたいのですが どのようにすればよいでしょうか? 分かりずらい説明で申し訳ありませんが 大変困っているので、アドバイス頂けると助かります。

  • EXCELの質問です。どなたか教えてください。

    EXCELの質問です。どなたか教えてください。 Sheet1のA1,B1,C1にSheet2のA1,C1,E1と、一つ飛ばしの 値を反映させるにはどうしたらいいですか? Sheet1のセルA1,B1に A1=Sheet2A1,B1=Sheet2C1とし、2つのセルを選択してドラッグしても A1=Sheet2A1,B1=Sheet2C1,C1=Sheet2C1,D1=Sheet2E1,E1=Sheet2E1,F1=Sheet2G1・・・ と反映されてしまいます。 できれば小難しい計算式は使いたくないのですが、なにかいい方法や簡単な 式があったら教えてください。 宜しくお願い致します。

  • エクセルでSheet1の特定の列をSheet2に反映させたい

    エクセルの質問です。初心者です。 Sheet1ではA B C D E F列を使っています。 Sheet2にA B C列を反映させ、Sheet2の他の列にはSheet1とは別の情報を入れたいです。 変更するときはSheet1を変更するとして、Sheet1で行を増やしてもSheet2に勝手に反映する方法はありますか?

  • Excelに詳しい方、お力をお貸しください(>_<)

    Excelで困っています。 膨大なデータがありまして・・・例えば、 A-------------B------------C-------------D    番号---------果物---------原産地--------価格 100----------ぶどう--------岡山----------100円  101----------さくらんぼ-----山梨----------100円 102----------ゴーヤ-------沖縄----------100円 103----------バナナ------フィリピン-------100円 ・ ・ ・ といったデータが1つのシート(シート[1])のセルに入力されているとします。 そして、別の真っ白なシート(シート[2])には、 A 番号 102 103 101 100 ・ ・ ・ と、番号のデータだけが入力されています。 ここで、シート[1]のB~D列のデータを、シート[2]のB~D列に反映させたいのですが、シート[2]のA列は、番号がばらばらになってしまっているので、コピー&ペーストは無理な状況です(>_<) 「じゃあ番号を揃えてからコピペすればよいのでは?」と思ったのですが、シート[1]のA列は連続した数字ですが、シート[2]のA列は連続しておらず、データの数も違うため、上手くいきませんでした・・・ 「シート[1]のA列とシート[2]のA列を比較し、番号が一致すれば、シート[1]のB~D列のデータを、同じくシート[2]のB~D列にも反映させる」みたいな、そんな関数やExcelのテクニックがございましたら、ご指導いただきたいです(>_<) よろしくお願いします<m(__)m>

  • エクセルについて

    エクセルについて、お知恵をお貸し下さい。 シート1に    A   B    C   D 1 2  45 3 4      @       42.3 5  と書いてあります。 シート2には    A   B    C   D 1      0°    45°  90° 2  20   3 30   4  40        4.2   5  50 と書いてあり、シート1の@のセルに、 シート1のA列の数字を、シート2の1行を参照し、合致した数字 シート1のD列の数字を、シート2のA列を参照し、四捨五入して合致した数字 が交わる数字(4.2)を返す式をお教えいただけましたら幸いです。 宜しくお願いします。

  • Excelでの質問です。

    こんな事が出来るのか?出来ないのかさえ判らない者ですが・・・・     シート2のA列と、シート3のA列に上からランダム(上からは順番です、シート2と、シート3の順序はバラバラです)に日付を入力 この、それぞれに入力した日付をシート1の、A列の上から順番(入力順)に反映したい。     尚、シート2、シート3共、B列、C列、D列に日付の関連項目を入力し、これもシート1のB列、C列、D列に反映したい。    Excelの先達の方々、どうかよろしくご教授下さい。

  • Excel VBA どうしたらいいんでしょう?

     A   B   C   D    E    F    G 101  118  122  133  139 113  114  119  120  124  128  140 126 104  112  131 106  117  121  127  130 119  128 139 113  124  140 114  120  133 118 101 119 126 122 128 このようなExcelのsheetがあって(これはほんの一部)この中にある番号をダブることなく空いている列(例えばI列)に並べたいんですけどどうすればいいのか分からなくて困っています。どなたか教えていただけませんか? 自分で考えたのが、セルA1→B1→C1・・・A2→B2・・・、というふうに順に見ていき、初めて出てくる番号ならばI列に並べていくというふうにしようと思ったのですが、なにぶん初心者な者で、どういうふうにプログラムを書けばいいのかわかりません。宜しくお願いします。

専門家に質問してみよう