• ベストアンサー

#VALUE! エラーについて

EXCEL97で下記のような処理で表記のエラーが出ます、対処方を教えて下さい、 尚、最後のヌル("")を0に変えても同じエラーです、 1つのセルに記入したらエラーは出ず正常に表示しますけど長いためa1,b1,c1に記入し他のセルに=a1+b1+c1としており表記のエラーです。又、数字はシリアル値です。 =if(today()>=37257,"昭和12年",if(today()>=37622,"昭和13年",if(today()>=37987,"昭和14年",if(today()>=38353,"昭和15年",if(today()>=・・・・・・,"")))))))

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

  • ベストアンサー
  • nobunojo
  • ベストアンサー率29% (122/407)
回答No.2

単純に年を変換したいのなら、 year関数を使ったほうがよいのではありませんか? 昭和だけでよいのでしたら、 ="昭和"&jis(year(today())-1990)&"年" で表示は一発(全角数字でなくてもよいのならjis関数は省ける)です。 ところで、 > 1つのセルに記入したらエラーは出ず正常に表示しますけど > 長いためa1,b1,c1に記入し他のセルに=a1+b1+c1としており ってのは、お書きになった式を+でつなごうとした、という意味ですか? それは出来ませんよ(^^;。

hoshi7777
質問者

お礼

有り難うございました。

その他の回答 (2)

noname#7099
noname#7099
回答No.3

2002年なら昭和12年、2003年なら昭和13年と、今年65歳になる人の生年が知りたいのでしょうか。 式を引っ付けるなら最後はヌル("")にして、式は=CONCATENATE(A1,B1,C1)とするとできると思います。 もっと簡単にできる方法があると思います。  セルの式は=TODAY()-DATE(64,12,30)にして、  セルの書式設定(ツールバー->書式->セル->表示形式)で、分類をユーザー定義、種類をggge"年"にしてはいかがでしょうか。 gggは、元号を対象、昭和、平成と表示し、 eは元号の暦年を表します。

hoshi7777
質問者

お礼

有り難うございました。

  • oom
  • ベストアンサー率16% (5/30)
回答No.1

=a1+b1+c1 としてしまうと、無理やり文字の加算をしてしまうのではないでしょうか? 複数のセルに計算式を分けているから起こるエラーだと思います。 ちょっと余談ですが、現在の日付を昭和など、別の表記に変えたいときは LOOKUP関数を使用するのが便利ではないでしょうか?

hoshi7777
質問者

お礼

有り難うございました。

関連するQ&A

  • #VALUE! エラーについて

    Excel97使用ですが入力文字数が多いため2つのセルに分割して記載し、(例えばA1とA2) =A1+A2 とした場合タイトルのエラーが表示されます、1つのセルに収まるものはエラー表示はありません、尚、f4 に数字を入力したら正常に計算されます、エラーが表示されないようにする方法を教えて下さい、 =if(f4=0,"",if(and(c15=0,d15=0,e15=0),(c6+d6+f6)/(c5+d5+e5+f5), if(and(c15<>0,d15=0,e15=0),(c22*c23+d6+e6+f6)/(c23+d5+e5+f5), if(and(・・・・・・・・・・・・・

  • 複数セルの連結でVALUE!エラー

    セルとセルの連結で空のセルを指定するとVALUE!エラーが出てしまいます。 ですのでmicrosoftのQ&Aに書いてあった通りに TEXT関数でこんな感じにしてみました。 =A1 & TEXT(C1,IF(C1="","","0")) これで上手くいったのですが、本当は A1と、C1からZ1まで複数セルをまとめて連結させるのが目的です。 =A1 & TEXT(C1:Z1,IF(C1:Z1="","","0")) このようにしてみたら、またVALUE!エラーが出てしまいました。 どうやったら上手くA1とC1~Z1を連結できるでしょうか? まとめますと、 A1とC1~Z1のセルを文字列として連結させたい。 C1~Z1のセルには数字のみのセル、文字列のみのセル、空のセルなど混在してあります。 どうかお願いします。

  • #VALUE!エラーが出てしまいます

    エクセルで下記計算表を作成したのですが #VALUE!が出てしまいます、どなたか解決策をご指導ください。 (A)今日の使用数 28個            使用数  B列    C列     D列 (B)  6個~(C) 10個 (D)5個 (B1)11個~(C1) 20個 (D1)5個 (B2)21個~(C2)30個 (D2)8個 (B3)  ~(C3)50個 (D3)#VALUE! 上記のように使用数を(A)に入力した場合 各行で使用数を出してみたいのですが (B3)の箇所は30と表示させたいのですが空白になってしまいます 結果(D3)で#VALUE!とエラーが出てしまします。 (B3)に30 (D3)が0と表示されるようにしたいのですが? 現在あてまめてる式は (B)=IF($B$7>5,"6","") (C)=IF(AND($B$7>=6,$B$7<=10),$B$7,10) (B1)=IF($B$7>11,"12","") (C1)=IF(AND($B$7>=11,$B$7<=20),$B$7,20) (B2)=IF($B$7>20,"21","") (C2)=IF(AND($B$7>=21,$B$7<=30),$B$7,30) (B3)=IF($B$7>30,"31","") (C3)=IF(AND($B$7>=31,$B$7<=50),$B$7,50) D列は=C-B+1 これでわかりますでしょうか?

  • この式はなぜエラー #VALUE! になるのだろう?

    この式はなぜエラー #VALUE! になるのだろう?   A  B  C  D 1    92 95 96 2 3  60 67 99 4  99 13 74 5  92 58 96 6  93 59 10 7  81 51 10 8  81 95 98 9  88 45  6 範囲 A3:C9 に上図のデータがあると仮定します。そして、 1行目の各セルに次の値を返したい、というのが問題です。 B1: セル A3、A5、A7 の最大値 C1: セル B4、B6、B8 の最大値 D1: セル C5、C7、C9 の最大値 1行目の各セルに次の配列数式を入力すれば希望通りの値が得られます。 B1: {=MAX(OFFSET($A3,0,0,5,)*MOD(ROW(A1:A5),2))} C1: {=MAX(OFFSET($A3,1,1,5,)*MOD(ROW(B1:B5),2))} D1: {=MAX(OFFSET($A3,2,2,5,)*MOD(ROW(C1:C5),2))} OFFSET関数の引数 0、1、あるいは 2 のところは COLUMN関数で置き換えられるはずと考えて B1: {=MAX(OFFSET($A3,COLUMN(A1)-1,COLUMN(A1)-1,5,)*MOD(ROW(A1:A5),2))} C1: {=MAX(OFFSET($A3,COLUMN(B1)-1,COLUMN(B1)-1,5,)*MOD(ROW(B1:B5),2))} D1: {=MAX(OFFSET($A3,COLUMN(C1)-1,COLUMN(C1)-1,5,)*MOD(ROW(C1:C5),2))} としたところ、いずれもエラー #VALUE! が返ってきます。 なぜエラーになるのか理解できません。どなたか私にアドバイスをいただけませんか? 参考までに申し上げると、http://okwave.jp/qa/q5897615.html の質問の回答を考えているときに、上の問題に遭遇しました。

  • Excel 関数で、#VALUE !がでます。

    二つのセルを足して、三つ目のセルに答えを出したいのですが、エラーになります。 Aのセル =IF(N14=0,"",ROUND(N14*W19/W20,1)) Bのセル =IF(AB14=0,"",ROUND(AB14*AK19/AK20,1)) Cのセル =(Aのセル)+(Bのセル) で(AもしくはBが)0になったときエラーになります。 以前質問しましたが、(答えていただいた方、この場を借りてあやまります。大変失礼しました。今度は大丈夫です。)パスワードを忘れてしまい、いろいろやってみましたが結局入れず、お礼や、追加質問できなくて新しく質問させていただきます。

  • #VALUE!エラーが消せません。

    計算結果は正常に出ているのですが、表示は#VALUE!が表示されます。わからんとです。教えて下さい。計算式です。 =IF(F5:H6=0,"",(AVERAGE(R5:T6)-AVERAGE(F5:H6))/(LOOKUP(加工条件!$M$5,原料密度表!$B$6:$B$18,原料密度表!$D$6:$D$18))) 計算しているセル内の小さい値3点いずれかが0でなければ、 大きい値3点平均-小さい値3点平均/(加工条件セルのM5の文字を元に原料密度セルのB6~B18内の列と同じ文字の所の行の数字) てな感じです。

  • Excel IFの重複 #value!エラーが出る

    こんにちわ。 ExcelでIF関数を重複させ(IFの中にIF)、和暦(昭和等)を西暦に変更する関数を作っています。 和暦は昭和、平成のみで、昭和50年ならば昭50のように打ち込み、 =IF(FIND("昭",A1),SUBSTITUTE(A1,"昭",)+1925,IF(FIND("平",A1),SUBSTITUTE(A1,"平",)+1989,)) このように昭和、平成を判断して西暦に変換しようとしています。 が、この関数では昭和の変換はできますが、平成の変換(平23→2011等)を試すと #value!エラーとなってしまいます。 調べたのですがエラーの原因がわかりません。 どなたかご教示ください。 よろしくお願いします。

  • #value!を非表示にしたい

    エクセルの関数に関する質問です。 Book「A」または「A'」のセルを参照にして、いくつかの関数をBook「B」、Book「C」およびBook「D」に書き込みました。 まずは、Book「A」のセル「a」またはBook「A'」のセル「a'」のどちらか入力されている方のセルを表示させる関数をBook「B」のセル「b」に作りました。 これです。↓ =if(「a」="",(if(「a'」=""," ",「a'」),「a」) 次に、セル「b」を参照にして、 =if(「b」=""," ",「b」) という関数をBook「C」のセル「c1」に作りました。 「a」または「a'」に入力されていなければ、「c1」は空欄になるはず・・・だけど、実際には参照セルに関数が入力されているからどうかな・・・と思いましたが、これは見事に、成功しました。 これが成功したので、さらに、「c2」に、 =if(「c1」=""," ",datedif(「b」,「c1」,"Y")) を作りました。 しかし、空欄か年齢のどちらかになるはずのセルが、「#value!」がでてきてしまい、空欄が出てきません。「a」または「a'」に入力されていれば問題なく年齢を計算して返してくれるのですが、「#value!」は目障りなので、表示させたくありません。参照を「a」または「a'」までさかのぼって関数を作ればもちろん問題ないのですが、いろいろ並べ替えなどをしておりそれは最高に面倒くさいのです。参照を「b」や「c1」にするとオートフィルを使って楽にできるので、こっちの方法を採用したいと思っています。 上の関数を使った結果出てきてしまった「#value!」を解決するにはどのような方法があるのでしょうか? 長くなった上にややこしくなって申し訳ありません。ぜひともご意見よろしくお願いします。

  • Excelの関数でVALUE!(エラー)を無視して、SUMPRODUC

    Excelの関数でVALUE!(エラー)を無視して、SUMPRODUCT関数など計算するにはどうすればよろしいでしょうか? 過去に教えて頂いたのを更に応用したものです。 月度の数字H3の数字を入れると、横のJ4とK4が自動的に金額が入るようになっています。J4が月ごとの合計金額→関数:=IF(H3="","",SUMPRODUCT((MONTH(D3:D20)=H3)*((F3:F20))))を使用し、K4が月ごとの最大金額→関数:=IF(H3="","",MAX(INDEX((MONTH(D3:D20)&""=ASC(H3))*F3:F20,)))を使用しております。また、D列の西暦年月日には、D3から関数:=IF(ISBLANK(A3),"",DATEVALUE(A3&"年"&B3&"月"&C3&"日"))で表示ができるようにしてあります。 そこでD15からD20については、ISLANK関数を使っているのでA3が空白な為、VALUE!(エラーを返す)のを非表示になります。この場合、D15~D20の関数を削除すれば、J4とK4は正常に表示されますが、D15~D20に関数が入ったままだとJ4とK4はVALUE!を返しエラー表記になってしまいます。回避する関数(J4とK4)はどのようにしたらよろしいでしょうか?また、西暦年月日を参照せずに、B列の月項目の数字で月を判別するにはどうすればよろしいでしょうか?(H4の数字入力により) ※参考までにD3より下、関数:=DATEVALUE(A3&"年"&B3&"月"&C3&"日")で通常入力すると、必ず、D15~D20はVALUE!関数エラーで表示されます。

  • この式の誤りは?

    A列の数字とC列の数字が一致するならB列に○を、一致しないのなら×を表記したいと思います。 それで、B1に次のような式を入れて下方にコピーしたのですが、B列には、セルの角に小さな三角がついてエラーになり、正しく表示されません。  =IF(COUNTIF($C$1:$C1,A1)<>0,"○","×") この関数の誤りはどこでしょうか? どこを直せば、正しい関数になるでしょうか? ご教示ください。 宜しくお願い致します。

専門家に質問してみよう