Excelで困っています。助けてください!

このQ&Aのポイント
  • エクセルで、A列のファイル名に対応する数字をC列から探し、その行のB列の値をA列のファイル名に組み込みたいです。
  • 要するに、A列のファイル名の一部をB列の値で置き換えたいのです。
  • 空欄の場合も考慮して、エクセルでの処理方法についてご教授ください。
回答を見る
  • ベストアンサー

excelで困ってます 助けてください

いつもお世話になっております。 エクセルでわからないことがあります。 どなたかご教授ください。 エクセルで、 A B C aaa1.jpg ABC 2 aaa2.jpg CDE 3 aaa3.jpg EFG 1 aaa4.jpg HID <-空欄 とあるとします。 それを、 A aaaEFG.jpg aaaABC.jpg aaaCDE.jpg としたいです。 要するに、Aのaaa○.jpgの ○の部分に対応する数字をC列から探し、 その行のB列の値を、Aの○の部分に入れたいのです。 なお、Cに空欄がある場合があります。 どなたか、ご教授をお願いします。

  • nkmyk
  • お礼率25% (4/16)

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

データがA1からC4の範囲にあるとして、表示したいセルに =IF(C1="","",LEFT(A1,3)&INDEX($B$1:$B$4,MATCH(VALUE(MID(A1,4,1)),$C$1:$C$4,0))&RIGHT(A1,4)) といれて、下へ式をコピーしてみてください。 ただし、あげられた例のように数値の前は3文字、数値の後は4文字、数値は1桁の場合の式です。

nkmyk
質問者

補足

表がずれてしまい、質問が大変わかりづらくなっております・・・ 一度ためしてみます。 お答頂いた方、本当にありがとうございます。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

D列に抽出しますが、次の方法は如何でしょうか。 抽出元セル内の数値までの文字数を固定3文字とし、C列は数値としていますので、文字列ならば、数式の*1部分を省略してください。 =IF(COUNTIF(C:C,MID(A1,4,1)*1),REPLACE(A1,4,1,INDEX(B:B,MATCH(MID(A1,4,1)*1,C:C,0))),"")

nkmyk
質問者

お礼

表がずれてしまい、質問が大変わかりづらくなっております・・・ 一度ためしてみます。 お答頂いた方、本当にありがとうございます。

関連するQ&A

  • エクセルの検索条件について教えて下さい。

    いつもお世話になっております。 エクセルでご教授頂きたくお願い申し上げます。 例えば、 (A列) (B列)    AAA   19990101 AAA   20001231 AAA   20080101 CCC   20090101 EEE   20001001 EEE   19980101 とありまして、 (A列)のAAA3つのなかで、(B列)がもっとも大きい数字20080101の行だけをひろって表示させる方法を教えて下さい。 説明が下手で恐縮ですが、ご教授の程、お願い申し上げます。

  • エクセルデータの改列の方法について

    エクセルデータの改列の方法について エクセルデータでA列のセルに以下のように「aaa」と「スペース」で区切られた数列のグループを、 ___A__B__ 1|aaa|1 2|465|2 3|231|3 4|124|4 5|221|5 6|・ 7|・  ・(数は不明) ・ 10|3|84 11|スペース 12|aaa|1 13|556|2 14|245|3 15|111|4 16|232|5 17|・ 18|・ ・(数は不明) ・ 28|2|78 29|スペース 30|aaa|1 31|255|2 ・ ・ 以下のようにaaaを頭とする複数の列に分割するにはどうしたらいいでしょうか。 ___A__B__C__D・・・ 1|aaa|__|aaa|__・・・ 2|465|1|556|1・・ 3|231|2|245|2・・ 4|124|3|111|3・・ 5|221|4|232|4・・・ 6| ・ 7| ・ 各ファイル50ブロックの数字の列があり、更にファイルも100以上ありますので、 贅沢ですが、できれば作業が少ない方が。。と思っています。 どなたか教えていただけたら幸いです。 よろしくお願いします。

  • ["]でくくられた文字列内に存在する[,]をsedで処理する正規表現について

    PostgreSQLを使うのは初心者です。 csvファイルよりCOPYコマンドを使ってPostgreSQLのテーブルにデータを入れようとしています。 もとになるcsvファイルは、データの区切りは[,]であり、文字列は["]でくくられ、さらに["]でくくられた文字列には[,]が存在します。 <csvデータ例> 123,"aaa","b,cde",234 いろいろ調べてみた結果、COPYコマンドを実行する前に、sedコマンドで正規表現を用いて置換をすればよいとの結論にたどり着いたので、 (1)["]でくくられた文字列内の[,]を[#]に置換する  → [123,"aaa","b,cde",234] => [123,"aaa","b#cde",234] に置換したい (2)["]を除く(sed 's/\"//g')  → [123,"aaa","b#cde",234] => [123,aaa,b#cde,234] に置換したい (3)[,]をtabに置換する(sed 's/,/\t/g')  → [123,aaa,b#cde,234] => [123 aaa b#cde 234] に置換したい (4)[#]を[,]に置換する(sed 's/#/,/g')  → [123 aaa b#cde 234] => [123 aaa b,cde 234] に置換したい を順番に行う処理を考えていますが、(1)で記述する正規表現がわかりません。 正規表現も初めて扱う初心者ですので、色々試してみましたが、うまく置換できません。 どなたかご教授の程をお願いします。 なお環境は、RedHatLinux9 + PostgreSQL-7.4.9です。 以上、宜しくお願い申し上げます。

  • Excelで特定の数値が含まれていればすべて同じに

    どうやってもうまくいかず、こちらに質問をさせていただきました。 現在、エクセルで特定の文字列にある数値が入ってれば、 他にどのような数値が入っていようと同じになるという文字列を組もうとしております。 例えば写真のように、B列に○や×などが入っていますが、 aaaに1つでも○が付いていれば、C列では○を返すという形を作りたいと考えております。 vlookやmacth等で組み合わせていたのですが、うまくいかず・・・ どなたかご教授いただけないでしょうか? よろしくお願いいたします。

  • Excel比較関数について教えてください。

    下記のようにA列とC列を比較して、 一致した値が存在する場合、B列とC列を比較して、 E列に一致した場合は、●一致しない場合は、空欄にしたいのですが教えてください。 A列 B列 C列 D列 E列 12345 aaa 12389 bbb A2と一致したので● 12389 bbb 22222 bbb 一致しないので空欄 33333 bbb 12345 aaa A1と一致したので●

  • エクセルの文字処理

    以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 A1~A4の4つのセルに以下のスペースが入った文字列が入っていた場合 A1|AAA A2|AAA BBB A3|AAA BBB CCC A4|AAA BBB CCC DDD    A   B   C   D  1|    AAA 2|AAA BBB 3|AAA BBB CCC 4|AAA BBB CCC DDD という具合にしたいのです。 条件は  ・セル内にスペースで区切られない文字列があった場合には、B列に入れる  ・それ以外はスペースで区切って、A列B列C列D列に入れる  ・文字数は3文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。

  • Excelで特定の文字を抜き出す

    Excelで関数を使い、特定の文字列を自動で抜き出し、二つの列に分けたいです。 あいうえお0X =AAA= かきくけこ00 =BBBB= さしすせそ000 =CCC= たちつてと0 =DD= なにぬねの00X =EEE= はひふへほ000 =F= 上記のようにA1~A6に、文字数も文字もバラバラのセル列があったとします。 これを以下のように分解したいです。 例: A1:あいうえお0X =AAA= A2:かきくけこ00 =BBBB=    ↓ 「B1:あいうえお0X」と「C1:AAA」 「B2:かきくけこ00」と「C2:BBBB」 関数を教えて下さい。

  • excelマクロ 別ファイルの特定列をコピーしたい

    C:\testの配下にexcelファイル「aaa.xls」「aaa_yyyymmdd.xls」「bbbxls」があります。 「aaa_yyyymmdd.xls」は「aaa.xls」のバックアップファイルです。 又、「bbbxls」にマクロを記述しようと思います。 ☆処理内容☆ 「aaa.xls」「aaa_yyyymmdd.xls」が開いていない状態で、「aaa.xls」のシート「sheet1」内の E列をコピーして「bbbxls」のシート「sheet3」のA列に貼り付け。 「aaa_yyyymmdd.xls」のシート「sheet1」内の E列をコピーして「bbbxls」のシート「sheet3」のB列に貼り付け。 その後、張り付けたA列を正としB列と比較して、差異があった場合はB列の差異があった部分の セルに色つけをした後、「aaa_yyyymmdd.xls」をC:\test:\oldフォルダに移動する。 上記のようなexcelマクロを作成中なのですが、できなくて困っております。 有識者の方、助けを貸してください。 よろしくお願い致します。

  • Excel比較関数について教えてください。2

    下記のようにA列とC列を比較して、 一致した値が存在する場合、B列とC列を比較して、 E列に全て一致した場合は○、一致しない場合は×にしたいのですが教えてください。 また、A列にあってC列にない場合は、×を表示したいです。 A列 B列 C列 D列 E列 1 12345 aaa 12389 aaa A1とA3が一致&B1とD3が一致したので○ 2 12389 bbb 22222 bbb A2とC1が一致したが、B2とD1が一致しないので× 3 33333 bbb 12345 aaa A3の値がC列にないので空欄 教えてください。

  • エクセルの使い方で困っています

                   A   B  C   D     1   a   b   c  空欄 上記のように1行目のA列にa, B列にb, C列にcというある数字が存在するときに、 aが正の値のときにD列の空欄のセルに値bを、 aがそれ以外(0か負)の値のときにD列の空欄のセルに値cを表示させたいとき、 どのように関数などを設定すればよいでしょうか? エクセル初心者なので、このような条件付き抽出の方法がよく分かりません。 よろしくお願いします。

専門家に質問してみよう