• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ifを繰り返すと書式設定が反映されない)

IF関数を使ってExcel2010で円マーク付きの書式設定が反映されない問題

このQ&Aのポイント
  • Excel2010でIF関数を使って特定の条件に応じてセルに表示する値を設定していますが、複数のIF関数を使うと円マーク付きの書式設定が反映されず、問題が発生しています。
  • 具体的には、調整したセルに通貨の円マークが表示されるように書式設定をしており、IF関数によって他のセルの値を表示するように設定しています。しかし、複数のIF関数を追加すると円マークが表示されなくなります。
  • また、他のセルで同様の書式設定をしても同じ問題が発生し、書式設定が反映されません。この問題を解決するためにはどのような対策が必要でしょうか。

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

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6630/9393)
回答No.2

if の繋げ方が間違っています。 & は文字列として繋げてしまうので、それぞれの結果が数値でも、繋げた結果は文字列となり、通貨用の書式設定が無効になってしまうというわけです。 今回の例でifを繋げるには、 =IF($R$1=1,C2,IF($R$1=2,D2,IF($R$1=3,E2, …… ))) というように、「もし条件が成立すれば C2、そうでなければ、もし…」というように繋げて行ってください。 ネスト数にも制限がありますが、新しいExcelほど多くネストできるので12個ぐらいなら大丈夫ですね…。 また、$R$1の数値でC2~N2を選ぶだけなら、そういう関数がありますので、 =CHOOSE($R$1, C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2,N2) というようにも書けます。 (複雑な条件による選択ならば、やはりIF関数で書くことになるでしょう)

shibushijuko
質問者

お礼

ご回答ありがとうございます。原因まで教えていただき、ありがとうございます。CHOOSE関数で書式設定が出来ました。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

仮に2月の金額が100だとすると、計算結果は =""&100&"" となって、数値ではなく文字になるのだと思います。 なので、O2に入る計算式は =IF($R$1=1,C2,IF($R$1=2,D2,IF($R$1=3,E2,IF($R$1=4,F2,IF($R$1=5,G2,IF($R$1=6,H2,IF($R$1=7,I2,IF($R$1=8,J2,IF($R$1=9,K2,IF($R$1=10,L2,IF($R$1=11,M2,IF($R$1=12,N2,"")))))))))))) であれば、¥マークが付くはずです。 順番に並んでいるので =CHOOSE($R$1,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2,N2) のほうがわかりやすいかと思います。 もしくは =INDEX($C$2:$N2,ROW()-1,$R$1)

shibushijuko
質問者

お礼

ご回答ありがとうございます。CHOOSE関数で問題が解決しました。

全文を見る
すると、全ての回答が全文表示されます。
  • HohoPapa
  • ベストアンサー率65% (454/690)
回答No.3

書式設定が有効にならない原因はすでに説明されているので 私からは別解を。 =INDEX(C2:N2,1,R1,1) といった計算式はいかがでしょうか。 もし、元々の計算式を生かすなら、ちょっと乱暴ですが、 =(IF($R$1=1,C2,"")&IF($R$1=2,D2,"")&IF($R$1=3,E2,"")&IF($R$1=4,F2,"")&IF($R$1=5,G2,"")&IF($R$1=6,H2,"")&IF($R$1=7,I2,"")&IF($R$1=8,J2,"")&IF($R$1=9,K2,"")&IF($R$1=10,L2,"")&IF($R$1=11,M2,"")&IF($R$1=12,N2,""))/1 といった解もあります。

shibushijuko
質問者

お礼

ご回答ありがとうございます。こんな短いINDEX関数ですべて解決するんですね。とてもクールな解決方法を教えていただき、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#232800
noname#232800
回答No.1

IF を AND で結ぶ・・・って、機能しないと思う。 IF( $R$1=1,C2,IF($R$1=1,D2,IF($R$1=3,E2,""))) そもそも計算式間違ってるかも。

shibushijuko
質問者

お礼

ご回答ありがとうございます。条件が12個あるので、入れ子に上限があり困っているところでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 書式設定 

    DGJ・・・・ の500 だけ\が入りません。 書式設定で通貨-1234赤字 ので設定しましたが、 マイナスの時には赤字で表示され\マークも付きましたが 黒字の500だけ\マークが付きません。 書式設定で\ 付けていますが付きません。何故でしょう こちらの500には-500同様の計算式が入っています。 複数条件○の時は500=IF(C2="○","500",IF(C2="","",IF(C2="立替",-"500",))) これが入っています。 ただ-500 にしたら入りませんが -"500"にすると\が入ります。 分かる方いますか? とにかく関数の中に\を組み込めば付くのですが、 何故書式では\が付かないのでしょうか

  • エクセル IF関数が入った条件付き書式について

    エクセルにおいて、セルA1、B1、C1があるとします。A1、B1には数値が何も入力されていない状態で、C1に計算式「=SUM(A1)/B1」が入っているとします。このままでは、C1は、「#DIV/0!」と表示されます。 この表示を消すために、C1にIF、ISERROR関数を使い、「=IF(ISERROR(SUM(A1)/B1),"",SUM(A1)/B1)」の計算式を入力します。 このままでもいいのですが、C1の値が「10以上」になった時に、C1のセルに色を付けたいのです。 書式→条件付き書式→セルの値が→次の値以上→10 にすると、セルに何も値が入っていない(空白)状態で色だけが付いてしまいます。 色々調べると、IF関数の""の空白が文字列のため、数値より大きいとみなされている事が原因っていうことは、分かりましたが、色々試してみても出来ません。何かいい方法はございますでしょうか? ご教授お願いします。

  • セルの書式設定

    教えて下さい VISTA、Excel2007で 1か月31日間のロット計算のシートを作っています 製造個数50個毎に取り出し破壊検査をします。 製品種類は40種類程あります 日計(セルB2)に数量を入力すると累計(セルC2)に 前日累計+本日の日計が計算され、累計が50個になると ロット(セルD2)がきた事を知らせる"●"を表示させています 以下は表のイメージです A, B, C, D 1,日付 .日計.累計.ロット 2, 1日 , 20個, 20個, 3, 2日 , 35個, 55個,● 4, 3日 , 0 ,   , 5, 4日 , 25個, 80個, 6, 5日 ,   ,   , 7, 6日 ,  ,  , 日曜日や、まだ期日の来ていない日の累計は前日と同数なので空欄の ように見せかける為、[条件付き書式]で新しいルール [指定の値を含むセルだけを書式設定]を選び [次のセルのみを書式設定(O)]でセルの値 次の値に等しい 一行上のセルを選択した後 書式設定でセルのフォントで白色を選び見掛け上空欄にし目的を達しています。 只これですと 40種類×31日で1200ヶ所以上設定しなければなりません もっと簡単な良い方法があればご教授いただけませんでしょうか?  * セルC2に =IF(B2="","",C2)の方法はうまくいきませんでした。

  • ワークシート関数で書式どおりの表示をしたい。

    C2セルに、通貨(記号 £)の書式設定がされています。 9000と入力すれば、もちろん £9,000 と表示されます。 このセルを参照しているセルには書式を設定してありません。 =TEXT(C2,"£#,##") と数式をいれれば、もちろん £9,000 と表示されますが、これではポンドの決めうちになってしまい、C2セルの書式の通貨記号を他のものに変えても反映しません。 VBAなら、 Function GetTxt(ByRef C As Range)   GetTxt = C.text End Function と、ユーザー定義関数をつくれば、 =GetTxt(C2) で間単に表示された通りの値を取得できるのですが、ワークシート関数で参照先のセルに表示させる方法はないでしょうか?

  • 関数を使用条件付き書式設定によりセルに色をつけたい

    説明が下手で申し訳ありません。 Excelで、単一セルから結合セルを参照させたセルに、条件付き書式でセルに色をつけたいです。 単一セル→結合セルの参照は、連続してコピーできるようにしたかったので、indirect関数等を使用してます。 直接セルを参照させるとうまく行きます =IF(AND($q$9>=$AH$6,$q$9<=$AH$6+9,$AH$6+9<=$r$9),TRUE) indirect関数等を使用すると失敗しました。 =IF(AND(INDIRECT($q$1&INT(ROW()/3)+5)>=$AH$6,$q$9<=$AH$6+9,$AH$6+9<=$r$9),TRUE) ※ $q$1は、列のアルファベットを取得したセルで、アルファベット"q"を取得しています。 なので、 INDIRECT($q$1&INT(ROW()/3)+5)により$q$9の値を取得しているつもりです。 どのようにしたら良いかご教示いただけないでしょうか? よろしくお願い致します。

  • 条件付き書式設定について

    エクセル2007を使用しています。 セルの『条件付き書式設定』について判らない事があるのでご教授願います。 条件付き書式設定では複数の条件を付けられますが、その全ての条件を満たした時のみと言う設定方法はできるのでしょうか? 今はやり方が判らないので、とりあえず、エクセルの別の場所にデータを移し、そこを見るように設定しています。 例 セルA1とA2の二つの数値が26≦ⅹの場合のみセルA1の数値を赤表示にしたい。 セルA3に『=IF($A2<=26,IF($A1<=26,$A1,1),1)』と入力し、 A1の条件付き書式設定でA3の値がA1と等しい時に赤表示にする と言う方法で設定しています。 これを関数を使用せずに、条件付書式のみで設定できないでしょうか?

  • 条件付き書式のIF文

    office365 A1セルに27.1 A2セルに27.0 が入ってて A3セルに =IF((A1-A2)>0.1,1,0) と設定すると A3セルの値は1(真)になります これはなぜでしょう? A3セルは =IF(0.1>0.1,1,0) で満たしていないので 0(偽)のはずです。 =IF((A1-A2)>0.1,1,0) の結果が1だったら条件付き書式設定で、背景色赤にしたいのですが、 満たしていないのに背景色が赤になってしまうのです。 A1-A2が0.1より大きかったら、背景色を赤にする条件付き書式設定を教えていただきたく。

  • 書式設定

    こんにちは。 エクセルの書式設定について教えてください。 以下の関数を使用してカレンダーを作ったのですが、 DATEの年の該当部分に「2012」といれてるところを 「24」(平成24年)と入力して関数を成立させることはできますか? 現在は設定方法がわからず、関数を参照するセルは別設定にしてます。 日付部分の関数 =IF(MONTH(DATE($C$2,$H$2,ROW(A1)))=$H$2,DATE($C$2,$H$2,ROW(A1)),"")

  • IF関数を算出した値を合計する

    こんにちは。 IF関数を使用した値を合計することができない為、お力を下さい。 IF関数で=IF(A1<B1,C,D)と組んだ式ででた値を合計したいのですが 上手くできません。 文字列かと思いセルの書式設定を数値にしたのですができませんでした。 エラーメッセージも出ないため、何が問題なのかがわかりません。 わかることがあれば教えてください。 宜しく御願い致します。

  • 条件付書式の設定

    こんばんわ。うまく説明できないかもしれませんが、 たとえば、下のような表があります。   A B C 1 100 200 300 2 3 150 200 150 で、A3のセルがA1より大きい値ならセルの背景をかえる。B3のセルがB1より大きい値ならセルの背景をかえる。C3の値がC1より・・・という具合に列毎に条件がかわる場合、ひとつひとつ条件付書式を設定する以外に、簡単に書式設定できないでしょうか。 教えてください。よろしくお願いします。

LINE交換しない理由
このQ&Aのポイント
  • 恋している時って少数派の意見でもチャンスあると思いたくなりますよね。
  • バレンタインのメッセージカードに「いつでも暇な時にLINEください。」ってLINEIDを会社の気になる人に渡しましたがLINEが来ないが返事(答え)みたいですね。
  • 好きなら大抵は返事は来ると思います。だから、脈なしじゃんて思ってても頭のどこかでは、LINEをしてこない理由をあれやこれやと考えてしまいます。同じ職場の同じ部署で周りに広められたら、とかLINEで拗れないか不安になってるとか、、、。
回答を見る

専門家に質問してみよう