「夫を成功」へ導く妻の秘訣 座談会

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

よろしくお願いします。

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

A 回答 (5件)

こんにちは


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

ありがとうございます。
書式が決まっているため、セルの幅は変更できません。
特定の文字でも無理でしょうか。

お礼日時:2009/04/20 16:34

>エクセル関数について


エクセルの関数の基本に対する無知を暴露してますよ。関数はセルの値を決めるもので、書式(フォント・サイズなど)は左右できませんよ。
ーー
VBAでやる(それも2文字の場合x、3文字の場合はy、4文字の場合はz・・といったテーブル(参照表)を持ってそれででもフォントサイズを決めないと
ダメでしょう。
ーー
書式ー配置に有る、縮小して全体を表示する.ShrinkToFit = True
などを使うぐらいだと思う。
(オートフィットというのがあるそれは列幅を広げたりする。Worksheets("Sheet1").Columns("A").AutoFit)
この質問は余り勝手なニーズで合って、エクセルでは応え切れない。
    • good
    • 0

セルの幅は変更されずに、その幅で表示できるようにフォントサイズが自動調整されますよ。

    • good
    • 0

フォントサイズの自動変更はVBA(マクロ)しかありません。


一例です。
仮にA1:A5範囲で3文字以上入力されたらフォントサイズを変更します。
(1)対象シートタブを右クリック→コード表示→以下のコードを貼り付け→VBE終了
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo error
If Intersect(Target, Range("A1:A5")) Is Nothing Then Exit Sub
If Len(Target.Value) >= 3 Then Target.Font.Size = 8
error:
End Sub
    • good
    • 0

そのような関数はございません。


#1さんのようにセル幅にあわせて自動調整させるか
文字数・ポイント数指定ならマクロを組むしかないでしょう。

にしても
4文字以上の時は何ポイントにしたいとか詳しい仕様が分かりませんので。
    • good
    • 0
この回答へのお礼

ありがとうございます。
書式が決まっているため、セルの幅は変更できません。
特定の文字でも無理でしょうか。

お礼日時:2009/04/20 16:35

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

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

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

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

Qセルの書式設定のフォントやサイズの設定はできないの

エクセルの条件付き書式ではセルの書式設定のフォントやサイズの設定はできないのですか?

条件:セルの値が
次の値に等しい:a

として、書式ボタンをクリックしたのですが
色やスタイルや下線は設定できますがフォントやサイズの設定はできません。
仕様でしょうか?
条件が悪いのでしょうか?

Aベストアンサー

こんばんは!
確かに条件付書式ではフォント名・フォントサイズの変更はダメみたいですね!

どうしても!というコトであればVBAで可能です。

仮にA列を質問のような表示にしたい場合の一例です。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストして、A列にデータ入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Intersect(Target, Columns(1)) Is Nothing Or Selection.Count <> 1 Then Exit Sub
If Target = "a" Then
With Target.Font
.Name = "MS P明朝" '←好みのフォント名に
.Size = 18 '←16Ptとしています
End With
Else
With Target.Font
.Name = "MS Pゴシック" '←他のセルの同じフォント名に!
.Size = 11 '←他のセルと同じフォントサイズに!
End With
End If
End Sub 'この行まで

※ フォント名・フォントサイズのみの設定としています。
※ フォントスタイルは条件付書式で設定可能のようですので、コード内に入れていません。

参考になりますかね?m(_ _)m

こんばんは!
確かに条件付書式ではフォント名・フォントサイズの変更はダメみたいですね!

どうしても!というコトであればVBAで可能です。

仮にA列を質問のような表示にしたい場合の一例です。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストして、A列にデータ入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Intersect(Target, Columns(1)) Is Nothing Or Selection.Count <> 1 Then Exit S...続きを読む

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

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

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

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

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

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

宜しくお願いします。

Aベストアンサー

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

でどうでしょうか?

Qエクセルでセルのフォントサイズを取得する関数?

エクセル初心者です。
印刷したときにセル内の文字が全部印刷されるように、セルごとに文字数の上限をこえるとメッセージが出るようにしたいのですが。。

セルのフォントサイズを取得する関数ってあるのでしょうか? 

Aベストアンサー

関数は無いですね

自動折り返しとか、自動縮小は出来ますが

「書式」-「セル」-「表示タブ」

Qセルの書式設定で一部のフォントサイズを変更したい

Excel 2010を使用しているのですが、「セルの書式設定」についてわからないことがあります。

「セルの書式設定」→「ユーザー定義」で「hh:mm "PDT"」という書式を作成したところ、「10:00 PDT」と表示されました。この「PDT」という文字の部分だけフォントを小さくしたいのですが、こういった設定は可能なのでしょうか?

なにか良いアイデアがありましたらご教授願います。

Aベストアンサー

こんにちは!
セルの表示形式の操作だけでは無理だと思います。

いくらセルの表示形式で「PDT」を表示させたとしても、実データは入力した時刻(時間)のシリアル値になりますので
一旦文字列にして「PDT」という文字を付け加えてやる必要があります。
ただ、セル内の文字全部のフォント変更であれば簡単ですが、部分的に変更となると
手作業で行うにしてもかなり手間がかかってしまいますね!

ただ、これでは何もお役に立てないのでVBAになってしまいますが、一例です。

A列に時刻(時間)を入力するとします。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてA列に入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
Dim tmp
If Application.Intersect(Target, Range("A:A")) Is Nothing Or Target.Count <> 1 Then Exit Sub
'↑ A:Aの部分は実際の表示したい列に!
Application.EnableEvents = False
With Target
If IsNumeric(.Value) Then
tmp = WorksheetFunction.Text(WorksheetFunction.Round(.Value, 5), "hh:mm")
.Value = tmp & "PDT"
.Characters(Start:=Len(tmp) + 1, Length:=3).Font.Size = 8 '←フォントサイズは「8」
End If
End With
Application.EnableEvents = True
End Sub 'この行まで

※ フォントサイズは「8」ポイントとしています。

※ 質問にあるように表示形式だけ変更するのであればA列に表示されているデータは数値ですので
計算に使用できますが、上記方法で表示されているデータは文字列になります。
すなわち計算できるデータではありませんので、
もし計算する必要がある場合は、「PDT」を隣のセル表示させたりする工夫が必要になると思います。m(_ _)m

こんにちは!
セルの表示形式の操作だけでは無理だと思います。

いくらセルの表示形式で「PDT」を表示させたとしても、実データは入力した時刻(時間)のシリアル値になりますので
一旦文字列にして「PDT」という文字を付け加えてやる必要があります。
ただ、セル内の文字全部のフォント変更であれば簡単ですが、部分的に変更となると
手作業で行うにしてもかなり手間がかかってしまいますね!

ただ、これでは何もお役に立てないのでVBAになってしまいますが、一例です。

A列に時刻(時間)を入力するとします...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

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

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

Aベストアンサー

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

QEXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには

お世話になっております。
タイトルの通りの質問なのですが、
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するにはどうすればよいのでしょうか?

たとえば、A1のセルに「ABC」と入力されていたとします。
その「ABC」をヘッダーに自動的に出力できるようにしたいのです。
できればマクロは使いたくありません。

宜しくお願いします。

Aベストアンサー

「表示」メニューの「ヘッダーとフッター」では、セル参照を指定することはできません。
「行タイトル」や「列タイトル」しか使用できません。
「行タイトル」を使用するには「ファイル」メニューの「ページ設定」で「シート」タグを選択してください。
ここで「行タイトル」にA1でしたら1行目を選択すればOKです。
ただし、行丸ごとですので注意してください。

QEXCEL(IF関数)でCELLの色を変える。

例えば、IF関数で真ならセルの色を赤色にしたり、文字の色を変えたりする関数とかはあるのでしょうか?わかりません・・・知ってる方いらっしゃれば教えて下さい。

Aベストアンサー

こんばんは。

関数ではありませんが‥

<条件付き書式>ではダメなのでしょうか?

メニュー<書式>-<条件付き書式> です。

どのような条件を想定していらっしゃるのかわかりませんが、
<条件付き書式>については↓の参考URLをご覧ください。

▽条件付き書式・その1
http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu4.htm

▽条件付き書式・その2
http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu5.htm

参考URL:http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu4.htm

Q(Excel)あるセルに文字を入力しただけで、同じブック内のほかのワークシートにも、同じ文字が自動的に入るようにするには?

こんにちは。
質問内容はタイトルのとおりです。

あるワークシートのあるセルに文字を入力すると、ほかのワークシートのセルにも同じ文字が自動的に書き込まれる方法を知りたいです(ブックは同じ)。複数のワークシートを制御するには、やはりマクロを使うのでしょうか?

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

Sheet1のA1にたとえば「100」と入力しますね。
Sheet2のA1に、これと同じ数値を表示するには、
 =Sheet1!A1
でOKです。

数式をいれるのが苦手なら、
Sheet2のA1セルで「=」を入力すると、数式入力状態に入りますから、
ここでSheet1のシートタブをクリックし、
リンクしたいA1セルをクリックしてEnterすると、
自動的にさきほどと同じ式が入ります。

Qセルの内容の条件に応じて図形の表示をしたりしなかったりする

あるセルにオートシェイプ図(たとえば丸の図形)を挿入し、そのセルの値が一定数以上ならば表示され、一定数以下なら表示されないようにしたいのですが可能でしょうか?
可能であればその方法をご教示ください

Aベストアンサー

数値のあるセルに○をいれたいのですね?
そのセルを仮にSheet1のB3だとします。
一定の数を10だとします。
Sheet2のおすきなセルに
=IF(Sheet1!B3>10,"○","")といれて、コピーします。
Sheet1にもどり、Shiftキーを押しながらメニューの「編集」、「図のリンクはりつけ」し、図の書式設定で、「塗りつぶしなし」、「線なし」にします。
これでOKです。


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

人気Q&Aランキング