お世話になっております。
関数の数式の結果に、必ずある特定の文字(例えば「件」)が付くようにするにはどうしたらよいでしょうか。
「セルの書式設定」の「ユーザー定義」で「@"件"」としましたが、数や文字を入力すればうまくいきますが、関数だとだめなようです。

A 回答 (2件)

こんにちは



数式の結果が 文字列であれば @"件" で問題ありませんが
数式の結果や入力が「数値」であれば 0"件" と記載して
みて下さい!

ユーザー定義の一般的記載書式

正の数値書式;負の数値書式;ゼロの書式;文字の書式

と「;」で区切って指定します。

単純に1つを指定すると、
その書式が「数値形式」であれば数値に反応し、それ以外「文字」は標準表示
逆に「文字形式」であれば「数値」は標準表示になります
    • good
    • 0
この回答へのお礼

おお、comvさま、いつもおせわになっております!!
出来ました。ありがとうございます。

お礼日時:2002/02/12 13:44

TEXT関数をお使い下さい




=TEXT(A1,"@様")
A1の値に様を追加する
参考になれば幸いです

参考URL:http://www2.odn.ne.jp/excel/waza/format.html#SEC27
    • good
    • 0
この回答へのお礼

ありがとうございます。私の場合、数字なので、@の代わりに0を使ったら出来ました! 大変参考になりました。

お礼日時:2002/02/12 14:03

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

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

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

Qエクセル 数式を名前の定義で定義した場合の呼び出し方について

お世話になります。

今、発注をする際に使う様式を作っています。

行が一つのレコードになっていて、

BQ10は入力規制のリストから選択

予め、BQ10で選択された項目毎の数式を名前で定義してあり、
名前の付け方としては、

"仕様"&BQ10にて選択した項目の先頭から4文字

になるようにしました。


そこで、

BL10にて

="仕様"&LEFT($BQ10,4)

などの数式にて抽出した値を使って名前の呼び出しをして
数式を当てはめたいのですが、なかなかうまくいきません。

BQ10の値の抽出をMIDにしてみたり、
名前の呼びだしとしてINDIRECTを使ってみたり、
色々試しましたが、
単に値を返すだけか、エラーとなってしまいます。

どなたか良い方法がお分かりの方、教えてください。


何と説明していいのか考えつつの質問となり、
わかりづらい所がありましたらご指摘ください。
また、当方office2010を使用しています。


よろしくお願いします。

Aベストアンサー

配列数式は関係ないです。単純にリストをセルに表示するために示しただけです
要は、説明不足。原因となる心当たりがないため、基本的な2段階の入力規則の方法を簡易的に示してみました。

BQ10セルにはどのような文字列を入れ、どのような名前を定義し、定義した範囲はどのようになっているのでしょう?

最終的には「BQ10セルを入力規則のリストによって選択後、BL10セルに対象となるリストを選択させたい。」
と言うことだとは読み取りましたが、エラーが出るからエラーの原因を知りたい
といっても、過程が不明だから原因が探れません。

Q文字数式を数式に変更するには

A1:1 B1:sum(A1:A3)
A2:2 B2:=B1
A3:3

B2セルは文字"=sum(A1:A3)"になっています。B1セルの文字だけを利用し、A1~A3の合計を計算するには、どんな関数を使ったらよろしいのですか教えてください。宜しくお願いいたします。

Aベストアンサー

こんにちは。KenKen_SP です。

結論から言えば、できません。

が、似たようなことならユーザー定義関数を使えば可能です。
標準モジュールに以下のコードをコピー&ペーストして、B2セルに

=Calc(B1)

とすれば、B1セルの文字列を読み取って、計算します。

Function Calc(セル As Range) As Variant

  Application.Volatile
  Calc = Evaluate(セル.Text)

End Function

Qエクセル IF関数で偽ユーザー定義を適用、真ユーザー定義を適用しない。

あるセルに 「unsold」と入れた場合、そのまま「unsold」と入力され、
それ以外の数値を入れた場合 「”¥@”@」というユーザー定義を適用したいのですが、これをIF関数か何かでできますか?

Aベストアンサー

蛇足ですが、数値に「@」を含む「"\@"@」と言う書式を定義するのは正しくありません。

「"\@"@」の書式の意味は「表示する内容が文字列だった時は、その文字列に『\@』を追加して『\@文字列』と表示せよ」と言う意味になります。

この時、文字列以外の数値も、この書式に影響されてしまい「\@100」とか「\@10」とかって表示になっているので「数値の時のみ、思い通りに動いている、ように見えるが実は間違い」なのです。

あと、負数の時の「-」の位置が気に食わない場合は、適宜、第2セクションの書式を変更して下さい。

QINDEX関数とMATCH関数を使っての数式

順位 氏名 Pt  
一位 武田  5     
二位 田中 8   
三位 町田 10     
四位 荒井 9       
五位 阿部 7

順位   氏名
一位
二位
三位


上の氏名の欄にINDEXとMATCH関数を使って一位から
三位の方の氏名を表示させたいのですがわかりません。教えてください。。。宜しくお願いします。

Aベストアンサー

A    B
1 順位 氏名   
2 一位 武田      
3 二位 田中   
4 三位 町田      
5 四位 荒井       
6 五位 阿部
7
8 順位 氏名
9 一位
10二位
11三位

としてB9に、
=INDEX($B$2:$B$6,MATCH(A9,$A$2:$A$6,0),1)
を入れて下へオートフィルでどうでしょう。

Q文字だけでなく書式も判別できる関数について

Excelの基本的な質問で大変申し訳ございませんが、
お分かりの方はぜひご教示宜しくお願い致します。m(_ _)m

添付の画像ファイルに質問内容を記載したのですが、

B2のセルにどういう数式を、もしくは条件付き書式を入れれば良いかお分かりの方は
ご教示宜しくお願い致します!m(_ _)m

Aベストアンサー

大変失礼しました。
回答No8のコード及び添付画像を貼り間違えました。
正しくは以下のコード及び添付画像になります。

■VBAコード

Function 書式判定(a As Range, b As Range) As Variant
Dim para(2, 8) As Variant
Dim tar(2) As Object

Set tar(0) = a
Set tar(1) = b

書式判定 = True
If tar(0).Value <> tar(1).Value Then
書式判定 = False
Exit Function
End If

For i = 1 To Len(tar(0))
For j = 0 To 1
With tar(j).Characters(Start:=i, Length:=1).Font
para(j, 0) = .Color '文字色
para(j, 1) = .Size '大きさ
para(j, 2) = .Italic '斜体
para(j, 3) = .Bold '太字
para(j, 4) = .Strikethrough '取り消し線
para(j, 5) = .Subscript '下付き
para(j, 6) = .Superscript '上付き
para(j, 7) = .Underline '下線
End With
Next j
For j = 0 To UBound(para, 2)
If para(0, j) <> para(1, j) Then
書式判定 = False
Exit Function
End If
Next j
Next i
End Function

大変失礼しました。
回答No8のコード及び添付画像を貼り間違えました。
正しくは以下のコード及び添付画像になります。

■VBAコード

Function 書式判定(a As Range, b As Range) As Variant
Dim para(2, 8) As Variant
Dim tar(2) As Object

Set tar(0) = a
Set tar(1) = b

書式判定 = True
If tar(0).Value <> tar(1).Value Then
書式判定 = False
Exit Function
End If

For i = 1 To Len(tar(0))
For j = 0 To 1
With tar(j).Characters(Start:=i, Length:=1).Font
para(j,...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報