• ベストアンサー

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

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

  • pe-
  • お礼率52% (71/134)

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

  • ベストアンサー
回答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/17068)
回答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

  • エクセルの関数です。列に数字が並んでいる表。

    エクセルの関数です。列に数字が並んでいる表。 ある列内のセルにある数字を指定し、その数字から下一列にある数字をすべて選択したような状態でその中の数字の平均値を求める方法はあるのでしょうか? 数値 3210 ※例えば 3211  3212と3215とあるセルに入力したら自動的に3212~3215の平均値の結果が返るような  3333  関数です。 3212 3213 3214 3215 3217 3218 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235

  • 文字列の計算について。。。

    Excelでなのですが、外部データの取り込みをしました。 その時に、文字列で取り込んだ数値を計算したいのですが、 うまく出来ません。 セルの書式設定で数値にしたのですが、計算出来ません。 関数を使って数値に変換すると出来たのですが、 50枚シートがあるものが10ブックあります。 計算したい列もそれぞれのシートでばらばらなので困ってます。 簡単に出来る方法はないでしょうか?

  • EXCEL関数 文字列の一部の数字文字を数値化して計算につかいたい

    EXCEL関数について質問です。 あるセルの文字列に記載されている一部の数字文字を 数値化して計算につかいたいと思っています。 <例>  あるセルの文字列(A1)⇒あいうえお12345番目の方  出力したい数字文字⇒12345 知る限りの関数を使って以下の関数式を作ってみました。 (1) MID関数を使う  最初の文字「あいうえお」は10バイトなので開始は「11」としました。 (2)後に登録されている「番目の方」を除きたいので  SEARCHB関数を使って、「番目」の開始バイトを見つけ  そこから最初の文字バイト「11」を引き、抽出するバイトを求める。 (3)抽出した文字列を数値に変換するVALUE関数を使う。 次の関数式を作ってみました。   =VALUE(MIDB(A1,11,SEARCHB("番目",A1,1)-11)) でも結果は「」となります。 何がいけないのかわかりません。エラーの原因がわかれば教えて下さい。 ほかによい方法があれば教えてください。 よろしくお願いします。  

  • 文字列が数値に変換されない

    文字列の数字をVALUE関数で数値に変換したくても数値になりません。 ♯N/Aと表示されるだけです。 関数を入れたあとに表示形式を数値にしても変わりません。 元の文字列はVLOOKUP関数で検索した数字です。 これができないと仕事が進みません。急いでます。お願いします。

  • エクセルで文字列の数字を数字に

    エクセルで文字列の数字を数字に変換する関数をご存知の方教えてください。宜しくお願いします。

  • 《エクセル2000》なぜか文字列になっている半角数字を、一気に数字扱いにするには?

    LEFT関数を使って切り取った半角数字が、文字列扱いになっています。(文字数字混在のセル…つまり文字列であるセルから切り取ったからでしょうか?) セルをダブルクリックし、エンターキーを押すと、こちらもなぜか数字扱いになるのですが(以上一連の作業はISNUMBER関数で確認)、データが数百件あるので、これを一気に行う方法はないでしょうか。 よろしくお願いします。

  • 【ACCESS】文字列を抜き出したい

    初心者ですが。分かる方お願いいたします(__)(至急ですみません) 会社の専用システムからCSVデータをダウンロードしました。 その時点で、「商品コード」のフィールドが「"=0123456"」 のようなってしまっています。(「0123456」のように数字だけになっていてほしい) CSVの段階で、文字列関数を使用して数字だけにしてしまえばいいのですが、何万件とデータが重く、ファイルも複数あることから時間がかかってしまいます。 そこで、ACCESSにデータをインポートして加工しようとしましたが、どのようにすれば数字だけ抜き取ることができるでしょうか。 Right関数、left関数も考えましたが、商品コードの文字数が一定していないためできません。 インポートした時点で商品コードのフィールドがテキスト型にされていたので、数値型にすれば数字だけになるかな?と思ってやってみましたがデータがすべて失われてしまいました・・。 良い知恵をお貸しください。 どうぞよろしくお願いいたします。 それをACCESSにインポートしてテーブルを作成致しました。

  • エクセルの文字列から数字への変換

    エクセル2007を使用しています。 あるデータベースからデータをエクセルにインポートしたところ、日付データだけが文字列となっています。 (通常数字だとセル内右寄せですが、文字列を示す左寄せになっています) 「03/11/2010」のように一見日付データのように見えるのですが。。 完全なテキストとして認識されているようで、「DATAVALLUE関数」や「1の乗算」も全く反応しません。 文字の先頭に「’」も入っていませんし、どうしたらよいか全くわかりません。 何かよい方法があったら教えて下さい。 宜しくお願い致します。

  • 数字と文字列から数字のみ取り出したい

    下記のような数字と文字の組み合わさった文字列から数字のみを取り出したいのですが、 基準となる文字もなく、数字の桁、文字数もバラバラで、さらに文字部分にも数字が 入っていて調べた数式が使えず困っています。 (例1)109778大倉山マンション第3⇒109778 を取り出したい (例2)13482マックハイム綱島第10 ⇒ 13482 を取り出したい (例3)12896ハイム大倉山⇒12896 を取り出したい (例4)1198藤和シティコープ大倉山太尾町A棟⇒1198を取り出したい 調べた数式=LEFT(A1,LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},)))) 上記の数式だと(例1)(例2)の場合、建物名の数値を反映してしまい数値のみ取り出せません。 数値部分はみたところ4~6桁でした。 何か良い数式がありましたら、ご教授願います。

  • Excelの「’」とセルの書式設定(文字列)の違い

    こんばんわ。 Excelの文字列表示について、教えてください。 数字を入力する際に、先頭に「'」を入力すると 文字列として入力することが出来ますが、 数字が入っているセルのセルの書式設定から 「文字列」に表示形式を変更することとの 違いはなんなんでしょうか? やり方は違うけれど、結果は同じということでしょうか? 「'」を入力すると、データが文字そのものに変わり、 表示形式を変更すると、見た目だけ(左揃えになるなど) 文字列のように見えるだけで、データは 数字のままということなんでしょうか?? また、文字列として入力された数字を Value関数で数値に変換してしまうのと セルの書式設定で「数値」に変更するというものも 同じように、違いが良く分かりません。。。 もう、頭の中が「??」だらけです。 違いを教えていただけたら・・・と思います。 どうぞよろしくお願いいたします<m(__)m>

専門家に質問してみよう