dポイントプレゼントキャンペーン実施中!

DGET関数を使って、別シートよりデータをひっぱってくるように設定しています。
元の値はセルに入っている文字の一部のみ文字の色を変更、太字、下線をひくようにしていますが、
関数ではその文字の条件まで抽出する方法が見当たりません。

DGET関数によって抽出したデータにおいて、「あいうえおかきくけこ」のうち「あ」だけ文字色を赤色、太字、下線をひくようにしたいです

どなたか詳しい方やり方を教えてください。
宜しくお願いします。

A 回答 (3件)

そうですね。

数式が表示している結果の一部だけに書式を施す方法は残念ながらありませんし、そういったことをしたいなら、先に値化(「形式を選択して貼り付け」により値のみ残して数式のないセルにすること)が必要。数式を消さないために、値を貼り付ける先は、別セルとしても構わないのですが。No.1 さん・No.2 さんが回答されているとおりです。それが普通の答えです。

ひねくれた方法ではありますが、どうしてもということなら、次がご参考になれば。

文字列を 1 文字 1 文字に分解してそれらを 1 セルずつに表示させれば、「あ」だけに書式設定することは、できなくもないです。つまり、計算結果の一部だけに書式を設定することはできないのですが、セル全体に設定することは可能だからです。

添付図の例では、次式を記入しています。

A1 あいうえおかきくけこ     ←ここに DGET 関数なりで文字列を持ってくるとか
A3 =mid($A1,columns($A3:a3),1)
A5 =a1

A3 セルを右方向に O 列あたりまでドラッグ。
「関数で抽出したセルの一部の文字を変更した」の回答画像3
    • good
    • 0

こんばんは!



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
    • good
    • 0

関数の計算結果の「一部分」に書式を施す方法は「ありません」。

諦めてください。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A