アプリ版:「スタンプのみでお礼する」機能のリリースについて

よろしくお願いします。
(使用:Excel2000、2003)

Excelでは、例えば下記のようにセルに入力すると
他のセルの値を参照できます。
=A1

しかし、これでは1つのセルあたり1つのセルしか参照できません。
例えば、
 セルA1:「abc_def_ghi」という文字列が入っている
 セルA2:「jkl_mno_pqr」という文字列が入っている
とします。
この状態で、セルA3にA1とA2から値を参照して
「abc_mno」(A1から「abc」をA2から「mno」を参照しています)と
いったようにするにはどのようにすれば良いでしょうか?

MS-DOSでバッチファイルを作成するときの環境変数のように
値を参照したいという意図です。

お手数ですが、ご存知のかたがいらっしゃいましたら宜しくお願いします。

A 回答 (5件)

こんにちは。



最初の「.」までを抽出したり、2番目の「.」までを
抽出したり、

A1:
abc_def_ghi

A2:
jkl_mno_pqr

※最初の「.」までを抽出したり、2番目の「.」までを抽出

=MID(A1&"_"&A2,1,FIND("^",SUBSTITUTE(A2&"_"&A3,"_","^",2))-1)

表示:abc_def


※2番目の「.」の次の文字から3番目の「.」の前の文字までを抽出

=MID(A1&"_"&A2,FIND("^",SUBSTITUTE(A1&"_"&A2,"_","^",2))+1,FIND("^",SUBSTITUTE(A1&"_"&A2,"_","^",3))-1)

表示: ghi_jkl_mno

------------------------------------------
2番目の "_" を探す
FIND("^",SUBSTITUTE(A1&"_"&A2,"_","^",2))

3番目の "_" を探す
FIND("^",SUBSTITUTE(A1&"_"&A2,"_","^",3))


ただし、
>MS-DOSでバッチファイルを作成するときの環境変数のように値を参照したいという意図です。

Excelで、上記に該当するのは、名前-定義のことですが、それとは、話が違うような気がしますね。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
非常に助かっております。
教えてくださった内容で解決しそうです。
詳細はMID、FIND等の使い方を勉強してみます。

>Excelで、上記に該当するのは、名前-定義のことですが、それとは、話が違うような気がしますね。

仰るとおりかもしれないです。
すみません。

お礼日時:2006/01/04 07:03

普通はFind関数でやるのでしょうが、_の数が多くなると、式が複雑になります。

そこでユーザー関数を作ります。
VBEの標準モジュールに、下記のたった4行貼り付けておくと
Function splt(s, n)
a = Split(s, "_")
splt = a(n - 1)
End Function
セルに
=splt(a1,1) 第1番目
のようにすれば良くなります。
第2引数を1,2,3と変化させると
基データ  第1番目 第2番目 第3番目 
abc_cd_deabccdde
asdf_s_dfg_frtasdfsdfg
_as_aasa
のように分離して取れます。
貼り付け操作は、下記は全てメニューの選択で
ツール-マクロ-VBE
VBE画面で
挿入-標準モジュール
その画面に上記コードを貼り付け。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
こういう方法もあるのですね。
試してみます。

お礼日時:2006/01/04 07:14

複数のセルから演算することは可能です。


下記ではいかがか。

=MID(A1,1,3) & MID(A2,4,6)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2006/01/03 11:35

「例えば」の例だけでいうとA3セルに


=LEFT(A1,3)&"_"&MID(A2,5,3)
で、可能ですが具体的にやりたいことが判らないと質問者の欲しい回答は得られません。具体的には何がしたいのですか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
>具体的には何がしたいのですか?

教えてくださった関数を使えばできそうだと見えてきました。

具体的には、例えば下記のような値がセルに入っているとします。
A1:「abc.def.ghi.jkl」
A2:「abc_def_ghi_jkl」
A3:「abc def ghi jkl」

上記で、最初の「.」までを抽出したり、2番目の「.」までを
抽出したり、2番目の「.」の次の文字から3番目の「.」の前の文字
までを抽出したりということを、それぞれ「 」や「_」といった
文字や他の文字でもやりたいと考えています。
意図、通じますでしょうか?

お礼日時:2006/01/03 11:35

望みの値を得るような計算式をセルに記述する必要があります。


例えば、
=A1 & B1
――とすれば、「abc_def_ghijkl_mno_pqr」が得られます。

文字列の連結には演算子&が、文字列の抽出には、ワークシート関数RIGHT()やLEFT()等が利用できます。
詳しくはExcelのヘルプをご覧下さい。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2006/01/03 11:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!