• 締切済み

関数で抽出したセルの一部の文字を変更したい

DGET関数を使って、別シートよりデータをひっぱってくるように設定しています。 元の値はセルに入っている文字の一部のみ文字の色を変更、太字、下線をひくようにしていますが、 関数ではその文字の条件まで抽出する方法が見当たりません。 DGET関数によって抽出したデータにおいて、「あいうえおかきくけこ」のうち「あ」だけ文字色を赤色、太字、下線をひくようにしたいです どなたか詳しい方やり方を教えてください。 宜しくお願いします。

みんなの回答

回答No.3

そうですね。数式が表示している結果の一部だけに書式を施す方法は残念ながらありませんし、そういったことをしたいなら、先に値化(「形式を選択して貼り付け」により値のみ残して数式のないセルにすること)が必要。数式を消さないために、値を貼り付ける先は、別セルとしても構わないのですが。No.1 さん・No.2 さんが回答されているとおりです。それが普通の答えです。 ひねくれた方法ではありますが、どうしてもということなら、次がご参考になれば。 文字列を 1 文字 1 文字に分解してそれらを 1 セルずつに表示させれば、「あ」だけに書式設定することは、できなくもないです。つまり、計算結果の一部だけに書式を設定することはできないのですが、セル全体に設定することは可能だからです。 添付図の例では、次式を記入しています。 A1 あいうえおかきくけこ     ←ここに DGET 関数なりで文字列を持ってくるとか A3 =mid($A1,columns($A3:a3),1) A5 =a1 A3 セルを右方向に O 列あたりまでドラッグ。

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! DGET関数に限らず、数式によって表示されているデータを一旦「値」としなければ 質問にあるような操作はできないと思います。 その場合、数式そのものが消えてしまいますので、表示されているデータを別セルに表示させ そこで操作する方法はどうでしょうか? 手を動かしての操作が基本となりますが、規則性が判ればVBAで可能です。 一例です。 数式によってA1セルに表示されているデータをB1セルに表示させ、最初の1文字だけを フォントの色を赤・太字にし、下線を引くようにしてみました。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてみてください。 Private Sub Worksheet_Calculate() 'この行から With Range("B1") .Value = Range("A1").Value .Font.ColorIndex = xlAutomatic .Font.Bold = False .Font.Underline = False End With With Range("B1").Characters(Start:=1, Length:=1).Font .ColorIndex = 3 .Bold = True .Underline = True End With End Sub 'この行まで ※ あくまで参考程度で・・・m(_ _)m

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

関数の計算結果の「一部分」に書式を施す方法は「ありません」。諦めてください。

すると、全ての回答が全文表示されます。

関連するQ&A