• ベストアンサー

異なる単位付き文字列の集計

表のある列に123mm、1.53m、100ft等のデータがランダムにコラムに入力されているとします。 ピボットテーブル等で各単位別に合計を表示させることは可能でしょうか?計10000mm、120290m、3280ftといったようにです。 単位を数値から切り離すというプロセスはしないという条件で考慮お願いいたします。

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

  • ベストアンサー
  • popuplt
  • ベストアンサー率38% (31/81)
回答No.1

>単位付き文字列の集計 >ピボットテーブル等で各単位別に合計を表示させることは可能でしょうか? >単位を数値から切り離すというプロセスはしないという条件 123mmから単位[mm]を切り離しても[123]という文字列で、計算できるのは数値なので、ピボットテーブル等で合計は無理でしょうね。 計算式の1案ですが、集計したい単位を入力して C1=m C2=mm 配列数式 D1=SUM((RIGHT(範囲,LEN(C1))=C1)*(IF(NOT(ISERROR(VALUE(LEFT(範囲,LEN(範囲)-LEN(C1))))),VALUE(LEFT(範囲,LEN(範囲)-LEN(C1))),0))) D2=[Copy] 範囲:計算する文字列(例:$A$1:$A$100) 後で見て判りにくい式を使うより、Excelの機能が使えるよう作業列で単位と数値を分けてから集計したほうが絶対いいと思います。

その他の回答 (2)

回答No.3

>単位を数値から切り離すというプロセスはしない マクロでも数式でも数値に変換できない文字列は計算できません D2セル =SUM(IF(ISNUMBER(SUBSTITUTE($A$2:$A$7,C2,"",1)*1),SUBSTITUTE($A$2:$A$7,C2,"",1)*1)) [Ctrl]+[Shift] +[Enter] で確定、配列数式です({}で囲まれる)

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.2

回答が付かないようですので、お遊びで   A   B    C    D 1 123mm      mm    498 2 1.53m      ft    303 3 100ft      m     4.62 4 124mm 5 1.54m 6 101ft 7 125mm 8 1.55m 9 102ft 10 126mm C列に 単位入力 D1=SUM(IF(SUBSTITUTE($A$1:$A$10,C1,"")<>$A$1:$A$10,SUBSTITUTE($A$1:$A$10,C1,"")*1)) 配列数式です Ctrl+Shift+Enter 下にコピー D3=SUM(IF((SUBSTITUTE($A$1:$A$10,C3,"")<>$A$1:$A$10)*ISNUMBER(LEFT(RIGHT($A$1:$A$10,2))*1),SUBSTITUTE($A$1:$A$10,C3,"")*1)) 配列数式です Ctrl+Shift+Enter D3の単位mがD1の単位mmと文字が重複の場合考慮が必要になります >単位を数値から切り離すというプロセスはしないという条件 単位を数値から切り離す方が簡単と思いますよ

関連するQ&A

  • EXCELの集計

    ピボットテーブルや「集計」メニューを使わないで、関数のみで集計する方法をお教えください。 ・A列に支払予定日、B列に金額が記載されている表があります。 ・A列の支払予定日は、カレンダー順ではなくランダムに出てきます。また、同じ日が何回も出てきます。 ・この表は日々更新され、支払予定日は何日がでてくるか予想はできません。 支払予定日毎に合計金額が表示される表に展開したいと思っています。 ご回答よろしくお願いいたします。

  • ランダム文字列をDBにINSERT

    はじめまして。お世話になります。 LAMPでWEBシステムを作成しております。 ランダムな文字列をDBにINSERTする処理に関して質問させて頂きます。 条件: ・DBに入るランダムな文字列は重複不可。 ・ランダムな文字列は[a-zA-Z0-9]の10桁とする。 ・1度の処理で、ランダムの文字列は確実にINSERTさせる。 ・同時に多数の処理が走ることがある。 ・処理は速いに越したことない(DBの負荷も低めがよい) 環境: PHP 4.4.4 Mysql 5.0.33 使用ストレージエンジン:MyIsam 私が思いついたのが以下の2通りです。 (1) ランダム文字列が入るカラムをユニークキーとし、PHP側で作成されたランダム文字列をINSERT。 重複していたらエラーが返ってくるが、正常にINSERTされるまでPHP側でループ。 (2) 対象テーブルをロックし、PHP側で作成されたランダムの文字列をSELECT。 なければその文字列をINSERTし、テーブルロック解除 (1)はループが少し怖く、(2)はDBへの負荷がかかってしまいそうですが どちらがよいでしょうか? もしくは、他に何か方法があればご教授頂けるとありがたいです。 また、現在MyIsamを使用しておりますが、場合によってはストレージエンジンの変更も 考えておりますのでその点も考慮して頂けると幸いです。 ちなみに検索条件は、ランダムの文字列をキーに全てのデータを取得するくらいです。 そのテーブルは、カラム数15、レコード数1,000万の見込みです。 以上、長くなりましたがよろしくお願いします。

    • ベストアンサー
    • PHP
  • エクセルのマクロで特定の文字列を選択したい

    集計表にピボットテーブルを2つ入れるマクロを作成しています。 その際に、出来あがったピボットテーブルの項目ごとの合計を 表示しないためには、対象となるセルを選択して(Select) 表示しないを選択する(Selection.Delete)ことはマクロの記録からわかりました。 しかし、ピボットテーブルの枠が固定されているわけではないので、 合計欄の選択がうまくできません。 結果的には、A列の何行目かに「B在庫」という文字列が表示されていて、 その下からピボットテーブルが作成されています。 その「B在庫」の文字列から「右に3、下に2」と「右に1、下に5」 進んだセルをそれぞれ指定して(Select)削除(Selection.Delete)したいと思っています。 どのように「B在庫」と入力された文字列を探し出すのか、 また、そこから「右に3、下に2」と「右に1、下に5」進んだセルを 指定する方法を教えていただけないでしょうか。

  • ピボットテーブルの集計結果を使って、さらに条件を付けて集計をしたいです

    ピボットテーブルの集計結果を使って、さらに条件を付けて集計をしたいです。 たとえば、このようなピボットテーブルから、 [A]      [B]       [C]       [D]                         1月 Group  Account1   Account2 G0    田中         東京     5         加藤         大阪     2 G1     佐藤        大阪      3 G1    田中         名古屋       A列のGroupをキーにして、D列を集計します。 G0の合計は7で個数は2、G1の合計は3で個数は1、という結果を出すにはどのようにしたら良いでしょうか?

  • エクセルの集計と単位について

    エクセルを使ってみて、行き詰ってしまいました。 A列 1 ●さん 2 ▲さん 3 ■さん 4 といった様に入力し、A4に合計の人数を表示したいのですが、 数値ではないものを集計することはできるでしょうか? また、「3人」と単位付で表示できる式はあるのでしょうか? 素人質問で申し訳ないのですが、手持ちの本ではわからなかったので 質問させてください。よろしくお願いします。

  • エクセルのピボットテーブルで週単位の集計

    ピボットテーブルを独学しています。 週単位や月単位を抽出しようとして、表をグループ化しようとしています。 ピボットテーブルを解説しているサイトを見ると、「行エリアで右クリックすると、『グループ化』が出てくる」とあるのですが、自分が右クリックしても「グループ化」が出てきません。 貼付の画像は、以下のようにスクリーンキャプチャしました。  左側:自分がエクセルで作った表で右クリックしたところ  右側:上記の解説サイト( http://hamachan.info/win7/Excel/pibot.html ) ・・・とここまで書いて再度いろいろやったところ、「データ」タブを開くと、「グループ化」と「グループ解除」がありました。 しかし、「行」と「列」の選択肢があるだけで、指南サイトのとうな「開始日」「終了日」の選択肢がありません。 何か操作の仕方が違うのでしょうか? Windows7で、エクセル2010で作業をしています。 どうぞよろしくお願い致します。

  • Excel 複数列を同じ条件で抽出・合計する方法

    Excelの抽出・合計について教えてください。 配列を用いた方法などいろいろ検索しましたが式が長くなるので、 もう少しわかりやすくできないかと思っていろいろ探した結果、 ここに辿り着きました。 作業対象のSheetは次のとおりです。 ・行数はその月によって可変です。 ・A~L列まであると仮定します。これは固定です。 ・合計を求めたいのはL列の値となります。 抽出条件(AND条件) ・A~E列とI列が0(ゼロ) ・F~H列が0(ゼロ)でない、つまり数値が入っている 上述の条件をともに満たすデータのL列の数値の合計を求めたいと いうのが、今回の作業です。 現在はSUMPRODUCT関数を使って1列ずつ条件を設定しています。 しかし、式がたいへん長くなるので、もう少し簡略化したいです。 できればピボットテーブルやデータベース関数は余分な列を使うので 避けたいと思っています。 アドバイス、よろしくお願いいたします。

  • エクセルの集計について教えてください

    エクセルの集計について教えてください 添付のように、A列からは入力用 A列 日付(複数月にまたがる) B列 金額 C列 項目 E列からは集計用として E列 項目 F列からは月ごとに集計できるような表を作りました 集計用は、また別途ほかのシートで参照して使用する予定です A列には、今後も次々データを足していく予定です 月単位でデータを抽出したのち、項目ごとに合計を算出したいのですが、どの関数を組み合わせればいいのかわかりません。 エクセルはほぼ初心者です ピボットテーブルを使用してもよいのですが、ほかのシートで参照できる方法を教えてください よろしくお願いします

  • EXCELのピボットテーブルで、ある列をキーとして隣の何列かを色づけしたい

    EXCELで、ピボットテーブルの最後の列を使い、>=1、<1、<0.66、<0.33、<0の5条件で場合分けをし、そのピボットテーブル内のほかの列を色づけしたいのです。 ピボットテーブルはB13:J19あたりにあり、行数は可変します。 キーとなる行はJ列です。(J13以降です) マクロを組むしかないと思いますが、どうすればいいでしょうか?

  • excel日単位の表から月単位の表を表示させたい

    excelで、日単位の表を利用して、月単位の表を表示させたい まず、添付の写真を参照願います。 左側の表の縦軸で日単位の表があります。このデータが今現在も、毎日継続してデータが下に加わっています。 一方、右側の表では、左側の表の一か月分合計の集計値を表示させようとしています。 ピボットテーブルを利用すれば、右側の表を作成することは、分かるのですが、できればそれ以外で、何か良い方法があればアドバイスをいただきたいと思います。 ご教授お願いいたします。 尚、当方excelは2000を利用しています

専門家に質問してみよう