- ベストアンサー
EXELでの指定桁の数字を返したい関数式
簡単な関数式だと思うのですが・・・すみません。 A1~Y1の合計数の1桁目(1の位)数字をZ1に返したい(表示したい)のですが・・・・・・ すっかり、忘れてしまいました。 確か、範囲を指定して、指定の欄に1の位なら「1」、少数第1位なら「-1」だった気がするんですが・・・・ 肝心の関数式がわからなくって、 困っています。宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>A1~Y1の合計数の1桁目(1の位)数字をZ1に返したい 方法は多種ありますが 結果が必ずプラスだけなら =MOD(INT(SUM(A1:Y1)),10) で可能です。 SUM計算の結果、マイナス値もありうる場合は =RIGHT(ROUNDDOWN(SUM(A1:Y1),0),1) となります。(返り値は文字列です) 結果を数値としたい場合は =RIGHT(ROUNDDOWN(SUM(A1:Y1),0),1)*1 SUM(A1:Y1) ・・・・・・・A1~Y1を合計 ROUNDDOWN(数値,0) ・・・小数点第0位=整数第1位をより下位を切り捨て RIGHT(文字又は数値,1)・・右から1文字を取り出し ()*1 ・・・・・・・・・・文字形の数を数値形に変換 です! >指定の欄に1の位なら「1」、少数第1位なら「-1」 ?よく分かりませんが ROUND 指定桁より1つ下位の桁を四捨五入 ROUNDUP 指定桁より1つ下位の桁を切上げ ROUNDDOWN 指定桁より1つ下位の桁を切り捨て などの関数のことでしょうか? 例) A1 に 34.567 を小数点第2位を表示(3位を加工) =ROUND(A1,2)・・・・> 34.57 =ROUNDUP(A1,2)・・・> 34.57 =ROUNDDOWN(A1.2)・・> 34.56 A1 に 12345.67を整数第3位を表示(2位を加工) =ROUND(A1,-2)・・・・> 12300 =ROUNDUP(A1,-2)・・・> 12400 =ROUNDDOWN(A1.-2)・・> 12300
その他の回答 (2)
- nishi6
- ベストアンサー率67% (869/1280)
合計値の整数部分の1桁目を返します。数値としても使えます。 絶対値をとって、整数にして一番右を取り出しています。 =RIGHT(INT(ABS(A1:Y1)),1) 以下は質問の意味からはずれる?参考に書いておきます。 質問表題の『指定桁の数字を返したい関数式』を整数部分の桁指定とすると =MID(INT(ABS(A1:Y1)),LEN(INT(ABS(A1:Y1)))-指定桁+1,1) 指定桁に1の位なら1、10の位なら2を入れます。 >確か、・・・1の位なら「1」、少数第1位なら「-1」 を作ってみました。違いますよね。 下の関数で、指定桁を小数点からのプラス、マイナス方向への距離として入力すると望む値? 例えば、1の位は1、10の位は2、少数1位は-1、少数2位は-2とします。 10桁しかないのに100桁目としたらエラーです! =MID(A1:Y1,IF(ISERROR(FIND(".",A1:Y1)),LEN(A1:Y1)+1,FIND(".",A1:Y1))-(指定桁),1)
お礼
=RIGHT(INT(ABS(A1:Y1)),1) ありがとうございます。うまくいきました!! 下の関数で、指定桁を小数点からのプラス、マイナス方向への距離として入力すると望む値? 例えば、1の位は1、10の位は2、少数1位は-1、少数2位は-2とします。 そう!!これです。記憶のどこかに残っていて・・・ しかし・・・ =MID(A1:Y1,IF(ISERROR(FIND(".",A1:Y1)),LEN(A1:Y1)+1,FIND(".",A1:Y1))-(指定桁),1) は・・・わかりません。 もっと勉強します!
- ken1-skillup
- ベストアンサー率33% (135/409)
Z1に以下を入力してください =VALUE(RIGHT(SUM(A1:H1),1)) これだと合計が123なら3を返しますが 123.4なら4を返してしまいます。 これじゃちょっと違うな・・・ ちょっと勉強してみまーす
お礼
ありがとうございました! 「RIGHT」で解決しました!
お礼
詳しくありがとうございます。 もっと勉強します! 関数は難しいですね。せっかく勉強しても、使わないと記憶の穴から抜けていく・・・・・はは<渇