プロが教えるわが家の防犯対策術!

concatenateを使い、excelで作った文章に今日の日付を入れることに成功しました。しかし、その今日の日付を太字と下線を使い強調したいと思います。エクセルの関数はいろいろみてみたのですが、関数の式として太字にしたり下線を引いたりすることは難しいようです。以前spellnumberを作った時はVBAの完成した式をコピペして、新しい関数を作るようにできたのですが、そのように関数として太字や下線を入れるようにできることはできないでしょうか?もしよいサイトがありましたら、よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

関数の計算結果として表示されている内容の一部に,書式(下線・太字・斜体・フォントの色種類大きさ等)を施す方法自体がありません。

従って,そういうことができる関数もありません。

書式を施したいのでしたら,レイアウトに多少無理が生じても「前後の文字列のセル」「関数で日付等を表示させるセル」を分けて並べ,書式を施したい数式セルに書式を施しておくような見せ方になります。




#マクロが使えるのなら,結合した文字列をマクロで生成してセルに投入させ,さらにその言葉の一部分に書式を施すような仕込みをすれば,もちろん結果は出せます。
 今回ご質問は「関数でできるか」でしたので詳細は触れませんが,もしどうしてもというのでしたら詳しい状況を添え新たなマクロのご質問として,別途ご相談を投稿なさってみてはいかがでしょう。
    • good
    • 2
この回答へのお礼

ありがとうございました。今回はセルを区切ってやってみます。マクロは勉強を始めたばかりですのでなれないのですが、自分でできるようになったら試してみます。素早い回答ありがとうございました。

お礼日時:2011/06/01 14:18

条件付き書式を使えば、ある条件を満たし時だけ書式を変えることができます。


どういう条件の時に太字にしたいのかわからないので具体的に示せませんが、関数も入力でき野で可能だと思います。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで太字だけの合計を出したい!

エクセルで表を作っているのですが、合計を出す際に太字にしたセルだけを合計する事は可能ですか?

現状としてはオートフィルタを使い、セルC21=SUBTOTAL(109、C3:C20)としております。C7、C11、C12、C19を太字にしており、この合計を出したいのです。
太字の間隔は不規則で、行の追加・標準文字への変更の可能性もあります。

宜しくお願します!

Aベストアンサー

> ただ、この方法だとオートフィルタで合計が表示されません。

1. セルD3:D20を選択して(セルD3をアクティブセルとすること)、
 [挿入]-[名前]-[定義]で、[名前]に「bold」を、[参照範囲]に
 「=GET.CELL(20,Sheet1!C3)+NOW()*0」を、それぞれ入力して[OK]。
2. (セルD3:D20選択状態のまま、)
 「=C3*bold」と入力して、[Ctrl]+[Enter]。
3. セルC21に「=SUBTOTAL(109,D3:D20)」を入力して、[Enter]。

QエクセルVBAでセル内の特定文字列を太字に

エクセル2003です。
A2からA100の範囲のすべてのセルに文字列(文章)が入っています。
セルにより、約30~1200文字程度とばらばらです。
この範囲の各セルの文字列の中に、「愛、恋、幸福、love」という文字列があれば、その語句だけを太字にしたいのです。
(なければ、なにもしません。)
英字(love)は半角全角大文字小文字を問いません。
一応、ここまでは書いたのですが、検索するところでお手上げになってしまいました。
なにとぞ、お助けください。

Sub Test()
Dim myW
Dim i As Long
myW = Split("愛,恋,幸福,love", ",")
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
For n = LBound(myW) To UBound(myW)
MsgBox Cells(i, "A").Value & "に" & myW(n) & "があれば太字に" 'この肝心な部分がわかりません。
Next n
Next i
End Sub

エクセル2003です。
A2からA100の範囲のすべてのセルに文字列(文章)が入っています。
セルにより、約30~1200文字程度とばらばらです。
この範囲の各セルの文字列の中に、「愛、恋、幸福、love」という文字列があれば、その語句だけを太字にしたいのです。
(なければ、なにもしません。)
英字(love)は半角全角大文字小文字を問いません。
一応、ここまでは書いたのですが、検索するところでお手上げになってしまいました。
なにとぞ、お助けください。

Sub Test()
Dim myW
Dim i As Long
myW =...続きを読む

Aベストアンサー

一例です。

pos = InStr(1, Cells(i, "A"), myW(n), vbTextCompare)
Do While pos > 0
Cells(i, "A").Characters(pos, Len(myW(n))).Font.Bold = True
pos = InStr(pos + 1, Cells(i, "A"), myW(n), vbTextCompare)
Loop

QEXCEL セル内の一部文字色を太字にしたい。

EXCEL2003を使用しています。
アンケートの集計を行っています。
C・D・E列にコメントが入力されています。
その列それぞれのセル内の一部が、赤・青・緑と色分けされているので、その色の付いた文字を太字に変えたいのですが、どうしたらいいのでしょうか?
使用している色は、黒・赤・青・緑です。
VBAで変えられそうですが、全くわかりませんので、ご回答の程、どうぞよろしくお願いいたします。
また、色の数値の出し方も併せて教えてください。

Aベストアンサー

No4 の訂正です
> ? Activecell.Font.ColorIndex

? Activecell.Font.Color
に修正してください。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QVBAでセル内の指定した文字を太字にしたい

例) a を太字にしたい。
  A  
1 abcd
2 abad
3 cbda
4 bcad

エクセルVBAで、セル内の指定文字を一括で太字にしたいのですが、可能でしょうか?
例ですと a を太字にしたいのですが a の位置は決まっておりません。
位置が指定できれば可能ですが、指定できない場合はどのようにすればよろしいでしょうか?

どなたかご存知の方、ご教授願います。

Aベストアンサー

↓と全く同じ方法でいけると思います。

http://security.okwave.jp/qa4667858.html?ans_count_asc=20

Qセル番号を返す関数

エクセルで、セル番号を返す関数はありますか??
セルの内容ではなくて、番号です。(A1、B3など)
調べてみましたがなかなか見つからなかったので、
わかる方教えてください。
宜しくお願い致します。

Aベストアンサー

文字として"C4"を返す。
=ADDRESS(ROW(C4),COLUMN(C4),4)

式を入力したセルの位置を文字列で返す。
=ADDRESS(ROW(),COLUMN(),4)

ADDRESSの3つ目の引数を変えると
$C$4
$C4
C$4
C4
の4つの形に出来ます。

Qエクセル関数について(フォントサイズ変更)

フォントサイズを10に設定していたとします。
セルに「ああ」文字を2文字入力した場合、フォントサイズは設定のままで、「あああ」と3文字入力した場合、フォントサイズを8にしたい時は、どのようにすればいいのでしょうか。

よろしくお願いします。

Aベストアンサー

こんにちは
御質問を言い換えると「セル幅は変えないでフォントサイズをセルにはいるようにしたい」ということですか?
もうしそうなら、設定したいセルを選んでメニュー「書式」-「セル」を選び、タブ「配置」の「文字の制御」の選択肢を「縮小して全体を表示する」にチェックすると文字が増えたとき、フォントの大きさがセル幅に合うようなサイズに変わっていきます。
外していたらごめんなさい。

Qエクセルで条件により文字色を変える関数教えて下さい

エクセル2003を使っています。
セルa1に下限値,a2に上限値を入力、c3にデータを入力します。
入力したデータがa1下限値,a2上限値の範囲内であればデータの文字色はそのままで、その範囲を超えるとデータの文字色が「赤」に変わる数式を教えて下さい。よろしくお願いします。

Aベストアンサー

C1セルを選択し、次の方法で如何でしょうか。
(1)書式→条件付き書式
(2)条件を「セルの値が」、「次の値の間以外」、「=A1」、「=B1」で設定
(3)書式→フォントタブの色リストで赤を選択→OK
(参考)下行も同様にしたい場合、C1セル下方向にコピーして下さい。

Q太字に設定されているセルの個数を求めたい

数式だけで、太字に設定されているセルの個数を求めたいのですが、
可能でしょうか?
イメージとしては下記のようなものです。

○=太字に設定されているセルと仮定
 A  B  C  D
1○  × ○  ×  太字は2個
2○  ○ ○  ×  太字は3個
3×  × ×  ○  太字は1個

Aベストアンサー

数式(関数)では、書式情報を調べることはできません。
VBAを使用する必要があります

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む


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

人気Q&Aランキング