人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセル2007(Excel2007)の質問です。
HTMLの中に「他のセルの文字列」を結合させて、一つのセルに文字列として表示される方法が知りたいです。

(※長いので「コメント」欄に続きを書いています。よろしくおねがいします。)

●質問者: ヘンリ
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●500ポイント ベストアンサー

文字列を結合するには、

="文字列" & J4 & "文字列" & L4 & "文字列" ...

という感じに、

というふうにする必要があるのですが、式の長さが 255 文字まで、という制限があるので、質問にある HTML は、この長さを超えてしまうので、このやり方では上手くいきません。

そこで、substitute 関数を使って、特定の文字を置き換える、というふうにやります。

  1. テンプレの HTML の文字列を、仮に Z1 に置きます。
  2. 他のセルの値で置き換えたい箇所を、@@1、@@2 というふうにしておきます。
  3. substitute 関数で、@@1 を J4 に、@@2 を L4 に置き換える、というふうに書きます。

Z1 は、こんな感じ。

<center><font color=#003300 size=5><b>@@1</b></font><br><br><table width=600 cellpadding=2 cellspacing=2 bgcolor=#669900><tr><td bgcolor=#FFFFFF><table cellspacing=3 cellpadding=4 border=0 width=100%><tr><td bgcolor=#DEEFA5 colspan=2 align=left><b><font color=#000000 size=3>□説明</font></b></td></tr><tr><td width=5%></td><td width=95% align=left><font color=#000000 size=3><b>@@1</b><br><br>好物:@@2<br>寿命:@@3<br>英名:<b><font size="4" color="red">@@4</font></b><br><br></font></td></tr></table></td></tr></center>

@@数字は、分かりやすいように色を付けているだけです。

K4 は、こんな感じです。

=substitute(substitute(substitute(substitute($Z$1,"@@1",J4),"@@2",L4),"@@3",M4),"@@4",O4)

substitute(置き換えられる文字列、置き換えたい文字列、置き換える文字列) を、四回 入れ子にしてます。

また、そのとき(一つのセルK4に文字列を表示するとき)に、
●行の高さが広くなったりしないで、そのままの高さ
で表示されると理想的です。

これは、K 列を選択して、「折り返して全体を表示する」を、オフにします。

の、どちらかで、できます。


ヘンリさんのコメント
a-kuma3さんへ 素早く、かつ素晴らしいご回答ありがとうございます。 そうなんです! こういうことがしたかったんですよ! しかも私でも色々応用ができそうです。 実際にK列は4行目以降(5行?)でも文字列結合したかったので、 フィルハンドルからドラッグすればいいだけなのがとても簡単で助かります。 【substitute】関数自体を知らなかったので、自分にはけして思いつかない文字列結合でした。ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ