• ベストアンサー

Excelで数式内の文字色を一部だけ変更したい

数式内の文字列の色を一部だけ変更したいのですが、どなたかご存知の方ご教授ください。 セルごと文字色を変更することは可能なのですが一部だけの変更ができません。 下記、例をあげます。 数式:="No"&A10&"を参照" 表示:No10を参照 上記のNo10の文字色を赤等に変更するにはどうしたらよろしいでしょうか。

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

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

数式:="No"&A10&"を参照" は一種の文字を結合する関数です。 私はいつも言っているのだが、関数(数式)は「値」だけを計算や加工したりするものです。元のセルの書式属性は引き継げません。 したがって「No}をセルに入れて、「赤色」に設定しても、あるセルの「10」の文字を赤くして、参照しても、文字の赤色属性は移りません。 ただあるセルの文字列の一部をの色を変えるのは、VBAで簡単にできます。 Sub test01() For i = 1 To 5 s = 1 e = 2 + Len(Cells(i, "D")) Cells(i, "G").Characters(s, e).Font.ColorIndex = 3 Next i End Sub D列にNoの数があるものとします。 G列に関数を入れているとします。 うまくいかなければ、G列をコピーし、値貼り付けして実行してみてください。

ojoruka
質問者

お礼

imogasiさん回答ありがとうございます。 参考になりました。

その他の回答 (2)

  • choco_jiji
  • ベストアンサー率31% (528/1701)
回答No.2

同一セル内の一部だけ変えることは出来ないので、 別のセルに変えたい部分とその他をそれぞれ分けて抽出し、書式を変えます。 あとはセルの幅等を調節するかして綺麗に並べます。 A1に「あいうえお」 「う」だけ赤くしたい。 B1に「う」以前の部分を抽出。 B2に「う」を抽出。 B3に「う」以降の部分を抽出。 セル幅等を調節すれば 「あい(う赤)えお」と見える。 これではどうでしょうか。具体的なやり方は… ごめんなさい。そこまで詳しくないので。発想だけ…

ojoruka
質問者

お礼

choco_jijiさん回答ありがとうございます。 同一セル内で色を変えたかったのですが、無理みたいですね。 セル分けでの考え方ありがとうございます。 今回作ろうとしている表では使えないのですが、何かの折に参考にしたいと思います。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

数式の結果の一部分の色を変更することはできないと思います。

ojoruka
質問者

お礼

BLUEPIXYさん回答ありがとうございます。 数式の一部の色を変更することはできないのですね・・・

関連するQ&A

  • エクセルで、文字の完全一致ではなく、文字の一部が含まれているかをチェックする方法

    質問させてください。 エクセルのA列の文字の一部に、B列の文字が含まれているかどうか、 をチェックする数式を教えて頂けないでしょうか。 例えば、 A列:「赤 青」、「白 黄」、「緑 黒」 B列:「赤」「青」「黒」 この場合、A列の「赤 青」と「緑 黒」のセルの横に○、 というようにしたいのですが。。 VLOOKやCOUNTIFでは、“文字の一部”というのはチェックできないようで、 かつ、LEFTやRIGHTも使いづらい場合です。 きっと簡単な数式があるのでは、と思いお尋ねしました。 どうぞ宜しくお願い致します。

  • Excelの数式の自動変更について

    excelの数式で困っています。 以下のようなシート1があります。 シート1 │A B C ─┼──── 1│a b c 2│d e f 3│g h i シート2で、以下の数式でシート1の値"e"を参照しているセルがあります。 =シート1!B2 この式では、シート1に行や列を挿入しても、"e"の値があるセルを参照したままになるように、数式が自動的に変更されます。 そうではなく、以下の条件を満たすような数式に変更したいと思っています。 ・1行と2行の間に行を挿入  →数式が自動変更され、"e"を参照したままにする ・A列とB列の間に列を挿入  →数式は変更されず、元々"e"があった場所を参照する 何かよい方法はないでしょうか? 回答よろしくお願いいたします。

  • excel 特定セルの数式表示

    通常A1セルに=1+1と数式を入力するとセル表示は2となります。 これを=1+1と数式を入力したときに、同じA1セルに文字列ではなく=1+1と表示だけしたいのです。 別セルにてA1セルの計算結果2を参照していますので・・・・ ツール→オプション→表示→数式でシートのすべての数式を表示できることは知っていますが、そうでなくて一部のセルだけ表示したいのです。 ご教授の程宜しくお願い致します。

  • エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセル

    エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセルの条件によって「値」のみ残す方法を模索しております。 使用する列および行の例 列=A、B  行=5~10、15~20、25~30(A列、B列共通) 上記対象セルの内訳 A列(参照セル)=数値 ※空欄の場合もあります B列(変更セル)=数式(Aセル数値 * ○○%) ※B1セルの例:=IF(A1="","",A1*10%) のような数式が記入されております。 (例) Private Sub CommandButton1_Click() ’参照セルの指定 ("A5:A10","A15:A20","A25:A30") のようなコード*** ※現在はAセルの範囲としておりますが、後に変更の可能性を有しますので範囲指定が可能な形式を望みます。 ’変更セルの指定 セル指定のコード*** ※現在はBセルとしておりますが、これも後に変更の可能性を有しますのでA・B・Cのような入力(もしくはA=1、B=2、C=3)による指定可能な形式を望みます。 ’参照セル(Aセル)に数値が入力されている場合、数式から得られた変更セル(Bセル)の値を”値のみ”で残す。 実行コード*** ※参照セル(Aセル)が空欄の場合は変更を望まないので、変更セル(Bセル)は何も致しません。(数式のまま残す) End Sub このようなマクロを望んでおります。 イメージとしては数値がAセルに入力されていた際に同じ行のBセルにおいて右クリックコマンド内〔コピー〕 → 〔形式を選択して貼り付け〕 → 〔値〕の貼り付けを行うことをご想像下さい。 列や行の変更が予想されるので変更が可能なことを望んでおりますが、結果が伴えば他の体裁は気に致しません。 お手数ですがご教授宜しくお願い致します。 以上

  • エクセル/数式で表示された文字の一部のサイズ変更

    Sheet1のA1セルの文字列(顧客名)に 御中 をつけて別のシートに表示したいのです。 =Sheet1!A1&" 御 中" で表示できるのは存じておりますが、文字のサイズを顧客名と御中で変えたいのです。御中を若干ちいさめにしたいのです。 文字でセルに直接 ABCD株式会社 御 中 と打ち込んだものならフォントサイズは文字ごとに変えられますが、数式で表示された文字の一部のフォントサイズを変える方法が判りません。たぶん書式をいじる関数はないのだと思います。 御中を別のセルにできればよいのですが、顧客名の長さが不明なので数式で &" 御中 としています。 良い方法があったらご教示ください。

  • Excelでファイル参照を数式で表現したい

    Excel上で数式でファイル参照を表現し、 参照先のセルの値を表示させたいのですが、文字列として表示されてしまいます。 どのように記述すれば解決できますでしょうか。 現在、以下の方法を試みていますがうまくいきません。 ・A1セルに参照先のフォルダパスを記入 (例: D:\Application\ ) ・B1セルに参照先のファイル名を記入 (例: A.xlsx ) ・C1セルに参照先のシート名、セル番地を記入 (例 : Sheet1'!$A$1 ) ・D1セルにA1~C1セルを組み合わせた数式を記述 ="='" & A1 & "[" & B1 & "]" & $C$1 ※ 数式として次のようになります。 ='D:\Application\[A.xlsx]Sheet1'!$A$1 D:\Application\A.xlsx のSheet1のA1セルに test と記述されいる場合、 ここでD1セルに test と表示されてほしいのですが、 上記の数式が、そのまま文字列として表示されてしまいます。 A1~D1の書式は全て「標準」に設定しています。 また、このD1の値を他のセルに値として貼り付けて、Enterを押せば、test と表示されます。 数式に誤りはないはずなのですが、D1セルで直接 test と表示する方法はあるのでしょうか。

  • EXCELでの関数の一部を参照にする方法

    いつもお世話になっております。 早速ですが質問させていただきます。 今回直面している問題なのですが 関数の一部を参照にしたいということです。 例を出しますと A1セルに ='[File_****_東京.xls]1'!$B2 というようにしておいて、この参照関数?内の『****』を 別シートに入力してある数値を参照したいというものです。 『****』の部分には日付がはいります。 このファイルを複数の人間が扱うことを想定しておりまして 出来るだけ関数の変更を少なくしたいわけです。 SUBSTITUTE関数を試したのですがやはり文字列だけの変更しか出来なく セルには関数が文字列として表示されてしまいます。 わかる方、いらっしゃいましたらご教授宜しくお願いします。

  • excel 関数にて文字を0として認識させる方法

    数式の中に数字以外の文字が入ると#VALUE!が出ます。 ヘルプを参照すると、 「文字列が正しいデータ型に変換されません。必要な演算数や引数について、数式または関数が正しいかどうか、また、数式で参照するセルの値が有効かどうかを確認します。たとえば、セル A5 に数値が入力され、セル A6 に "なし" という文字列が入力されている場合、数式 =A5+A6 は、エラー値 #VALUE! を返します。」 これを解決させるにはどうしたらいいでしょうか? 上の例ですと、"なし"と打ち込んだ場合0として認識させるようにしたいです。

  • EXCEL 2003 数式中の参照セルについて

    数式であるシート(シート1とします)中の値として、 別シート(シート2とします)のセルを参照するとします。 (例a) シート1中の値 =シート2!J36 ※ J36は例 ここまではよいのですが、 上記の行番号「36」の部分を 更に別の参照値から引っ張ってくることは可能でしょうか? やりたいことのイメージ例として以下に記載します。 (例b) =シート2!J(=A1) ※ここの「A1」はシート2中の参照するセル番号を指定するための シート1中に設けたセルとします。 ※上記の数式は実際にはエラーになり入りません。 最初の例aでは、シート2中の参照するセル番号を数式編集して 指定しないといけないため、参照箇所が多いと大変ですが、 もし、例bのような指定ができればシート2中の参照するセル番号の 入力は一箇所ですみ楽になりありがたいと考えています。 わかりにくい文章ですみません。よろしくお願いします。

  • 【エクセルVBA】セルの数式種別により文字色変更

    おわかりになる方がいらっしゃいましたらご教示願えませんでしょうか。 今手元にあるエクセルにつき、文字色を一定のルールで変えたいと思っています。 1.シート内参照をしている数式が入っているセルは黒色 2.シート外(別シート)参照している・・・・・・・・・・・・・ 緑色 3.直接入力している・・・・・・・・・・・・・・・・・・・・・・・・・青色 ただし、文字色を変えたくない部分もあるので、セル選択した後に選択したセルに対してのみ 上記の処理をしたいと考えております。 もし御存じの方、若しくはどのようなマクロでできるのかを分かる方がいらっしゃいましたらご教示 願えませんでしょうか。 お忙しい中恐縮ですが、何卒宜しくお願い申し上げます。

専門家に質問してみよう