• ベストアンサー

エクセル関数を使ってこんな事できますか?

どなたかご存知の方がいらっしゃったら教えてください。 各セルに、下記の様なテキストが入力してあったとします。 A        B  C  D 山 川 海 太陽 川  海  山 太陽 Aの中から、B、Cに入力されているテキストを削除してDに表示 させることってできるのでしょうか? その場合、Dにはどんな数式を入れたらよいのでしょうか? 知っている方、よろしくお願いいたします。

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

  • ベストアンサー
  • suekun
  • ベストアンサー率25% (369/1454)
回答No.1

=SUBSTITUTE(SUBSTITUTE(A1,B1,""),C1,"") こんな感じかな? スペースが邪魔ならTRIMを一つ先頭に入れましょう。

shimuchin
質問者

お礼

suekunさま 回答ありがとうございました。 早速試したら……上手くいきました。助かりました! またよろしくお願いいたします。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

REPLACE関数を使ってみた =REPLACE(REPLACE(A1,FIND(B1,A1),LEN(B1)+1,""),FIND(C1,REPLACE(A1,FIND(B1,A1),LEN(B1)+1,"")),LEN(C1)+1,"") 質問の2文字か3文字(語句)が(常識的な式の長さ・ネスト)から限度でしょう。 それ以上はVBAで処理となる。 ーー #1のご回答と似ているが、少し違うのを挙げてみる。 最右の「太陽」に当たる語句の処理にTrimが必要だが 原理的には語句+1スペースを単位にして、空白に置換でしょうから。 SUBSTITUTEでも =TRIM(SUBSTITUTE(SUBSTITUTE(A1&" ",B1&" ",""),C1&" ","")) というのもある。

shimuchin
質問者

お礼

imogasiさま ご回答いただきましてありがとうございました。 テキストなんですが、実際はすごく長いのがあったりして 試したのですが思うようにできませんでした。 VBAに関しても、知識不足から対応できず。 これに懲りずに、またよろしくお願いいたします。

回答No.2

  =LEFT(A1,FIND(B1,A1)-1)&RIGHT(A1,LEN(A1)-(LEN(B1)+FIND(B1,A1)-1)) Cの文字の位置を探し、その前後を繋いでます Cは1文字でなくても2文字、3文字でもOK  

shimuchin
質問者

お礼

l4330さま ご回答いただきましてありがとうございます。 試したのですが、いまいちうまくいかず……。 関数の知識がイマイチのため、せっかく回答いただいたのに 活用する術がわかりませんでした。 これにこりず、またよろしくお願いいたします。

関連するQ&A

  • エクセルの文字列検索

    Office2003のエクセルで例えば   A B 1 一 山 2 一 山 3 一 川 4 二 海 5 二 海 というような表があるとします。下のように  C D E 1一 山 川 2二 海 C1のセルに「一」を入力すると、対応する山と川をD1とE1の セルに表示してくれるような関数は無いでしょうか? 配列関数など色々探しましたが良いのが分かりません。 宜しくお願いします。

  • エクセルについて

    【sheet1】     A    B   C    D    E    F   G 1   1    ★   ●   ■   ◆    ☆   ◎ 2   2    海   山   川   陸    水   土 3   3    (1)   (2)   (3)   (4)    (5)   (6) 【sheet2】     A    B   C    D    E    F   G 1                      ◆  2   ☆              ★ 3   ■                  ●       ◎    sheet1に必要事項を記入します。 で、例えばですがsheet1のあるセルに「1」と入力すると、 行No.1に記入してある「★●■◆☆◎」がsheet2の一定のセルに自動的に 反映させたいのですが、関数で可能でしょうか? あるセルに「2」と入力した場合は、行No.2に該当するデータがsheet2に反映されます。 「★のところは→海」「●のところは→山」「■のところは→川」…といった感じで 自動的に反映させたいのですが。

  • 一定条件でセルの色が自動的に変わる(エクセル)

        A     B     C     D     E 1   ★ 2   海    あ    い     う     え 3   山    か    き     く     け 4   川    さ     し     す     せ 5   陸    た    ち     つ     て A1セルの★に「海」や「山」や「川」や「陸」と入力します。 例えば、★に「海」を入力したら、その横列にある「あ」「い」「う」「え」のセルに 自動的に色がつくようにすることは可能でしょう? ★に「山」を入力したら、その横列にある「か」「き」「く」「け」のセルに色が、 ★に「川」を入力したら、その横列にある「さ」「し」「す」「せ」のセルに色が、 ★に「陸」を入力したら、その横列にある「た」「ち」「つ」「て」のセルに色が、 といった感じにしたいのです。 恐らく「条件付き書式」を使用するのだと思いますが、 自動的にセルの色を変えたい行が500行近くあります。 なので、その条件付き書式をコピペ出来るとありがたいのですが。 どなたか教えてください!!!

  • エクセル 関数について

    初心者です。 表を作成し、セルの範囲内に数を入力されていれば計算するような数式を作りたいのですが、どうやって作ればいいのか分かりません。教えてください。 例  A  B  C  D  E 1  10       60% 数式(A・B・C)×D  2    20    60%   〃 3       30  60%   〃   こんな感じです

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • エクセル 関数

    教えてください。Aセルには文字列が入力されていて、Cセルには何も数値が反映されていない時(Bセルに対する数式は有)だけにDセルに1を表示させる方法を教えてください。

  • エクセル: ジャンプで教えて下さい

    エクセル初心者です。教えて下さい。 Sheet1にデーターがあります。 A  B  C  D  E 1  2  3  4  5 山  川  海  花  木 Sheet2でデーターを抽出するようにしています。 (セルA1に数値入力するとA2にデーターを検索して表示。) A  B  C 4  花  ◎ ここでお教えいただきたいのですが、Sheet2のC1をクリックするとSheet2のA1セル「4」を認識してSheet1のD2のセル[花]にジャンプさせるにはどのようにすれば良いのでしょうか。マクロを使わない方法でお願いします。

  • エクセル関数について、教えて下さい。

    エクセル関数について、教えて下さい。 a1:300 、 b1:* 、 c1:10 と入力してあります。 ここで、 d1へ =concatenate("=",a1,b1,c1) を設定した時に得られて表示される文字は、 「 =300*10 」 となります。 この時、この文字を数式として活用したいのですが、つまり解が " 3000 " と別のセルでも良いので、解答するようにしたいのですが、お解かりになる方教えてください。

  • エクセルで組み合わせの関数?を作る方法

    エクセルで組み合わせの関数か式?を作る方法を教えてください。 下のように、A列のセルに一文字の漢字とB列のセルに一文字の漢字を組み合わせて C列の一つのセルに2文字の漢字を表示させ、その後全て列挙していく方法はあるでしょうか? C列の一つのセルに2文字が不可能なら、C列にAの漢字、D列にBの漢字、という形でも結構です。 よろしくお願いします。 A- B- C 山- 青- 山青 川- 黄- 山黄 海- 赤- 山赤 空- 白- 山白 天- 黒- 山黒 地- 金- 山金 火- 緑- 山緑 水- 紫- 山紫 --川青 --川黄 --川赤 --以下同様に組み合わせを表示させていく ここでは下書き作成中での「スペース」が反映されないので意図的に列と列の仕切の意味でハイフンを入れていますが無視してください。

  • エクセルの関数について。

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

専門家に質問してみよう