• ベストアンサー

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

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

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

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.1

その列を選択してコピー、新しい列に「形式を選択して貼り付け」で[値(V)]、[加算(D)]にチェックを入れてOK。 関数を使うより少しだけ楽に出来ると思います・・・。

2003tenn
質問者

お礼

早速やってみました。 とても簡単に出来たのでうれしいです。 ありがとうございました。

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

その他の回答 (1)

回答No.2

外部の元データを(文字列ではなく)数値データとして取り込みし直すのが本筋かとは思いますが、事情があって、それが難しいのかも知れませんので、私案まで。 まず、外部データの取り込んだシートとは別に(あるいは、同じシートの空き領域に)数値の「1」を入力したセル範囲を用意します。 取り込んだ外部データが20列×100行であれば、同じセル範囲だけ、「1」を入力しておきます。 ※事前にこのセル範囲を指定して「1」をキー入力して[Ctrl]+[Enter]で一括入力する方法でも、1箇所のセルに「1」を入力後、他のセル範囲にコピーする方法でも構いません。 次に、取り込んだ外部データのセル範囲をすべて選択して、[Ctrl]+[C]などでクリップボードにコピーします。 そして、「1」を入力しておいたセル範囲の先頭セルを選択して、[形式を選択して貼り付け]コマンドを実行して、演算の[乗算]を選んで、貼り付けを実行します。 以上の操作で、外部から文字列として取り込んだデータがすべて数値データに変換されて、計算の対象となります。 実際のシートの中身がわかりませんので、この方法でどこまで楽ができるか(あるいは、依然として面倒くさいか)、わかりませんが、一度、お試しください。

2003tenn
質問者

お礼

回答ありがとうございます。 取り込み直すのが本筋なのはわかってはおりますが、 取り込みにかなり時間が掛かっってしまいました。 締め切りもあり、もう一度取り込むことが無理でした。 早速やってみました。計算できました。 また、何か有りましたらお願いします。

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

関連するQ&A

  • セルの書式が標準なのに文字列にできるのはなぜ?

    会社のシステムで吐き出したデータですが セルの書式設定が標準なのに文字列となっています。 マクロを利用して、あるセルの値を別セルへ転記すると、 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示になってしまいます。 会社のシステムが吐き出したエクセルはセルの書式が標準なのに 中の数字が文字列でいられるのが疑問です。 会社のシステムの吐き出したデータは Microsoft Excel 2.1ワークシートで 全てのセルの書式設定は「標準」です。 で例えば 12345678901234 は 12345678901234 と表示されていて 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) 0101という値のセルでも 表示は0101ですが 「数値が文字列として保存されています」 となっています。(先頭に ' は入っていません) それらのセルの値をマクロとかで別セルに転記すると 転記先では1.23457E+13 と表示されてしまいます。 (0101は101になります。) まっさらなエクセルに自分で手入力すると ・セルの書式設定が標準だと 12345678901234 ↓ 1.23457E+13になります。 ・セルの書式設定が数値だと 12345678901234 ↓ 12345678901234 ・セルの書式設定が文字列だと 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) なのに会社のシステムの吐き出しデータは セルの書式設定が標準なのにもかかわらず 12345678901234 ↓ 12345678901234 (ただし 数値が文字列と保存されています と注釈有) となっています。 手入力で書式設定が標準の状態でセルに12345678901234 と表示させるには先頭に ' をつける方法しか知りませんが ' が無いのに表示されています。 でもこの該当セルをマクロで別セル(書式設定:標準)に転記すると 1.23457E+13 となります。 またシステムが吐き出したエクセルの同じシート内に 以下のマクロで転記すると ↓ Sub 転記() 行 = 2 Do If Cells(行, 6).Value = "" Then Exit Do If Cells(行, 6).Value >= 10 Then Cells(行, 7).Value = Range("A2") Else Cells(行, 7).Value = Range("A3") End If 行 = 行 + 1 Loop End Sub ↓ このマクロだと A列~F列が書式設定が標準なのに文字列として表示されているのですが 転記先のG列が書式設定が標準であっても 12345678901234 (数値が文字列と保存されています と注釈有) と同じ状態のまま転記できます。 新しいBOOKのシート2に 会社の吐き出しデータをシートコピーした後、 (セルの書式設定:標準だが文字列で表示されている) そのBOOKに登録されているマクロで シート2のセルからシート1のセル(書式設定:標準)に転記すると 数字は数値に変換され、先頭の0は消え、桁数が多いと指数表示 となってしまいます。 ちょっと混乱しています。 理屈等教えていただければと思います。お願いします。

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

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

  • 数値を表示だけ特定の文字列に変換したい。

    Excelにて、セルに数値を入れた際に表示だけ特定の文字列に変換したいです。 例えば 0.5 → ”半分” 1  → ”全部” 0~1までの少数第二位までの数値 → ”ちょっと” という形にしたいです。 ただ、別のセルの計算式で値を使うため、表示だけを変更したいのです。 書式設定でできるのかと思っていましたが、うまくいきませんでした。 どなたか教えて頂けないでしょうか?

  • エクセル2002 文字列で作成のセルを標準に

    エクセル2002  5000行程の参照シートからVLOOKUPで検索した数値を表にし合計をする作業をしています。参照シートは全てを文字列に設定したものです。☆(゜o゜ (多分0を入れたい為 全てを文字列設定にしています)。 上記シートをVLOOKUPで検索した数値をはりつけると すべて文字列になっています。 ・元シートのせいか? ・私の設定方が悪く 何かミラクル設定方法があるのか教えて下さい。 書式設定で標準に戻しても 関数入らず(そのセルさえ文字列になっています) 区切り位置 → 完了で訂正しますが シート全体を 書式設定 標準にでき 関数が入る方法はないでしょうか? 修正すると・・・文字列に戻っていたりします。 説明下手で申し訳ありませんが いい方法があればご教授お願いします。

  • ExcelからCSV出力して読込むと削除変換される

      Excelのブック1のシートに入力されたデータを 一度、CSVファイルに出力して このCSVファイルを別のツール(perlなど)で変換して この変換されたCSVファイルを再び 別のExcelのブック2のシートに読み込ませたいのですが Excelのブック1から出力したCSVファイルを 別のツールで変換しなくてもそのまま Excelのブック2のシートに読み込ませた時点で 文字の一部が消えたり数式が値になったりしてしまっています。 具体的には、 セルの先頭の ' (シングルクォーテーション) が消えてしまったり、 1つ足りなくなったりしています。また、 先頭の =1+1 などは、(表示上) 2になったりしてしまっています。 なお、セルの書式設定が標準だと、先頭の @ の後に続けて入力すると 正しく入力できませんが、セルの書式設定を文字列にすると、 この @ の問題は起きなくなりました。でも、セルの書式設定を文字列にしても ' (シングルクォーテーション) や数式が計算結果になる問題は 解決していません。 (問1) 削除されたり変換されてしまうのは     ・先頭の ' (シングルクォーテーション)     ・先頭の =     ・先頭の @    の3つのケースだけでしょうか。    このほかにもありましたら教えてください。 (問2) 先頭の =1+1 の場合ですが    セルの書式設定が標準の状態で =1+1 と入力すると    数式バーには =1+1 と表示されていて    セルの書式設定が標準だと2と表示されていてその後    セルの書式設定を文字列にしても2と表示されています。    逆に、    セルの書式設定が文字列の状態で =1+1 と入力すると    数式バーには =1+1 と表示されていて    セルの書式設定が文字列だと =1+1 と表示されていてその後    セルの書式設定を標準にしても =1+1 と表示されています。    いずれも入力したデータは同じなのに    入力時点での表示形式で表示内容が固定されてしまっていて    その後、表示形式を変更しても表示内容が反映されていない    ように感じるのですが何が起きているのでしょうか。 (問3) 前述の理由により、CSVファイルをセルの書式設定が文字列    の状態で読み込ませることはできるのでしょうか。    (後でセルの書式設定を文字列に変更しても =1+1 と表示されないので) (問4) Excelのブック1のシートのセルには     ユーザーが好き勝手な文字や数値や記号を入力します。     何を入力されても変化してしまわないようにすることはできるでしょうか。      ( 頭に ' を付けることをユーザーに強要するとか、       事前にセルの頭に ' を入力しておくなどはなしです) (問5) もし、できない場合、Excelのブック1のシートの各セルの先頭に     ' (シングルクォーテーション) や = から始まる数式を    入力することができないように制限をかけることはできるのでしょうか。 よろしくお願いします。(Windows7,Excel2010)

  • 文字列から数値への変換

    セルの書式設定(表示形式タブ)で文字列を数値に変えるのと、 VALUE関数で文字列を数値に変えるのとでは何か違いがありますか? (excel2000です。)

  • エクセル関数の文字列操作で困ったことが

    競馬のオッズデータの取り込みを行っていますが、外部データをエクセルのシート(sheet2)に取り込んだ際、決まった場所に単勝と複勝のオッズデータが入っているのですが、(000022000336・・・のように6バイトを1頭分のオッズとして表示:上の例では馬番(1)のオッズが2.2倍、馬番(2)のオッズが33.6倍というように)17頭までは文字列でずらーっと表示されるのになぜか18頭のときだけ1.17E+105などというような表示になってしまいます。 このオッズデータからMID関数で6文字ずつ分割してそれぞれの馬番のセルに貼り付けていたので18頭の時はエラーになってしまいます。参考書はVBAでプログラムを組んでオッズの取り込みからセルへの貼り付けまでスムーズに行えているようですが、私がやってもVBAでうまくいかないためやむを得ずエクセル関数で処理した次第です。 この問題うまく解決できますか?

  • テーブルの設計はとりあえず文字列で取り込み?

    テーブルの設計はとりあえず文字列で取り込み? こんにちは。会社の上司にSQLについて教えてもらいました(ACCESS2003)。 上司曰く、とりあえずテーブルの設計はvarcharにしておけば大丈夫。 もし取り込んだ値が数値なら、あとで数値に変換する関数で数値に変換して計算行えばいいよと言われました。 とりあえず、文字列なら必ずインポートできるからテーブルのデータ型は全て文字列型。 というのは正しいのでしょうか?様々な型があるのに、すべて文字列型にしてもいいのかなと素朴な疑問が生まれました。 よろしくお願いします。

  • Excelで文字列の時間表示を計算できる形にしたい

    Excel2000です 例えば文字列の「1分50秒」を計算できるような 数値の形「1:50」に変えることはできるのでしょうか? データがたくさんありますので、力づくで表示を直すのは難しいです 書式設定でも直りませんでした(うすうすはわかってましたが) マクロに疎いので、なるべく関数や機能での回答をよろしくお願いします

  • セル内の文字列操作について

    Excelでセル内の文字列を操作したいのですが、Excelの標準の関数では出来そうにないので、どなたかお力をお貸しください。 1つのセル内に、文字列や数値が複数入っています。 (例) Excel 12 りんご Word 11 このセルを調べて、数値のデータが複数入っている場合、最大値のみを表示させ、残りの数値データは削除したいのです。 (結果) Excel 12 りんご Word この処理の対象はセル内の数値データであって文字列には作用させず、結果的には文字列はそのまま表示させたいのです。 Excelの文字列に関する関数を調べてみたのですが、該当するものがなく、VBAを使用しなくてはならないのかもしれません。処理するデータが大量なため、VBAマクロなどで処理できれば大変ありがたいのですが、どなたかご存知の方がいらっしゃいましたら、ご教授くださいませ。どうぞよろしくお願いいたします。

私の妄想癖を直したい!
このQ&Aのポイント
  • 私は妄想癖を抱えており、イマジナリーフレンドとの関係に悩んでいます。
  • 実際の私の姿とイマジナリーフレンドとしての姿が異なり、幸せな空間と妄想の世界が混在しています。
  • 妄想癖を治す方法を知りたいが、イマジナリーフレンドとのつながりは大切にしたいです。
回答を見る

専門家に質問してみよう