• ベストアンサー

文字列の数字での計算(エクセル)

学校でエクセルやってるんですけど、難題をふっかけられて困っています。 ある列にあるデータ(数値)をFIXED関数で数値を文字列にしたデータが縦に並んでいて、それにはそれぞれ & を使って数字の後に"m"(メートル)かなんかの単位が入力されているとします。 3.8m  [=fixed(〇〇,0)&"m"] ・ ・ ・ そしてこのデータの平均を出したいのですが、どうすればいいのでしょうか? valueとかleft使うんでしょうか?? 説明不足かもしれませんがよろしくご回答お願いします。

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

  • ベストアンサー
回答No.3

作業列を使って良ければ、#2さんの方法や =VALUE(LEFT(A1,LEN(A1)-1)) で1つづつ数値に直してAVERAGE関数で平均を求める。 作業列を使わない方法として、配列数式で =AVERAGE(VALUE(SUBSTITUTE(A1:A12,"m",""))) 又は =AVERAGE(VALUE(LEFT(A1:A12,LEN(A1:A12)-1))) と入力し、[Enter]の代わりに[Ctrl]+[Shift]+[Enter]を押す。

pe-
質問者

お礼

なるほど。AVERAGEの中にVALUEとLEFTを組み込むんですね。 LENというのをまだ使えないので(習ってないので)、AVERAGEの平均する数値のところに一個づつVALUEとLEFTを使って入れてったら出来ました。 おそらく今の段階ではそれが正解だと思います。 でもやっぱりすっごく長いし、めんどくさいです。 はやく皆さんが教えてくださったSUBSTITUTEとかを教えてくれればいいのに・・・。所詮高校の授業じゃ実用的じゃないってことですよね。 回答ありがとうございました。

その他の回答 (4)

  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.5

ちょっとした裏技を value関数を使う代わりに1をかけてやれば数値化する方法があります。 =VALUE(SUBSTITUTE(A1,"m","")) の代わりに =SUBSTITUTE(A1,"m","")*1 というような方法です。

pe-
質問者

お礼

回答ありがとうございます。 なんと裏技ですか!すごいですね。 答えはもうわかってしまったのですが、この機に覚えておきます。ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

FIXED関数は引数は、数値、桁数、桁区切りとなっています。それでは別列(別セル)に元から数値が存在するのではないでしょうか。 であればそれを対象にして、平均を出せば良い。 私の考えはおかしいのでしょうか。私の頭混乱。

pe-
質問者

お礼

実際はそうなんですけど、高校の授業でやってるんで・・・。おそらく先生が出切る子と出来ない子で差を見つけるために気まぐれで出した問題だと思います。

  • stones
  • ベストアンサー率40% (88/218)
回答No.2

A列に[=fixed(〇〇,0)&"m"]となっているとして、 B列に=VALUE(SUBSTITUTE(A1,"m",""))と 入力し、A列のデータがある行までB1をコピー。 B列の一番したのセルに=Average(B1:B○)と入力。 そうすると、平均値を算出できます。

pe-
質問者

お礼

変換しないでやる方法が知りたかったのですが、でも勉強になりました。 SUBSTITUTEはまだ習ってないので。 すみません。ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

列Aに[=fixed(〇〇,0)&"m"] があるとします。 1.全データを列Bにでもコピーしてください。 2.列Bにあるデータを範囲指定したままCtrl+Hで「置換」を表示させてください。 3.[検索する文字列]に[,0)&"m"]を指定して「すべて置換」 4.もう一度[検索する文字列]に[FIXED]を指定して「すべて置換」 これで数値(上記の例では○○)のみが残るので あとは適当に計算してみてください。

pe-
質問者

お礼

回答ありがとうございます。 ですがvalueとleftを使ってやるようなのですよね。 でもCtrl+Hで「置換」なるものができるとは・・・。 知りませんでした。ありがとうございます。

関連するQ&A