[[20141015135836]] 『セル内にある「記号+整数」の数字だけを計算する』(jin) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セル内にある「記号+整数」の数字だけを計算する方法』(jin)

各セル内に「●1」、「●2」、「●3」のようにある場合、セル内の数字の部分だけを足し算したいのですがその方法を教えて下さい。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 質問です。
 1)記号はすべて同じですか?
 2)記号1文字、数値1文字のパターン固定ですか?(●2△や△●2などになっていない)
 3)数値は必ず1桁ですか?(2と重複しますが)
(稲葉) 2014/10/15(水) 15:02

 例題の通りだけなら
 =SUMPRODUCT(SUBSTITUTE(A1:A3,"●","")*1)

 という方法があります。
(se_9) 2014/10/15(水) 15:29

 ちなみに質問しておいてあれですが、
 例題以外のが来たら私はお手上げです!(se_9さんの式以外用意してなかったorz)
(稲葉) 2014/10/15(水) 15:35

●の部分や数字部分が可変長でも計算できるが、かなり力技な例。
作業列を用意し、以下の式とする。あとは作業列をSUMするだけ。

=VALUE(REPLACE(A1,1,MIN(IF(ISERROR(FIND("0",$A1)),9,FIND("0",$A1)),IF(ISERROR(FIND("1",$A1)),9,FIND("1",$A1)),IF(ISERROR(FIND("2",$A1)),9,FIND("2",$A1)),IF(ISERROR(FIND("3",$A1)),9,FIND("3",$A1)),IF(ISERROR(FIND("4",$A1)),9,FIND("4",$A1)),IF(ISERROR(FIND("5",$A1)),9,FIND("5",$A1)),IF(ISERROR(FIND("6",$A1)),9,FIND("6",$A1)),IF(ISERROR(FIND("7",$A1)),9,FIND("7",$A1)),IF(ISERROR(FIND("8",$A1)),9,FIND("8",$A1)),IF(ISERROR(FIND("9",$A1)),9,FIND("9",$A1)))-1,""))
(???) 2014/10/15(水) 16:44


 とりあえず・・・

 >『セル内にある「記号+整数」の数字だけを計算する方法』 

 ってことで。

 =SUMPRODUCT(REPLACE(0&A1:A10,2,MMULT((MID(A1:A10,COLUMN(A:T),1)>"9")*1,(ROW(1:20)>0)*1),"")*1)

 ※必ず文字+数字。
 ※文字は20文字まで。
 
(GobGob) 2014/10/15(水) 17:54

皆さんご丁寧にご教授ありがとうございます。
稲葉さんのご質問に対しての回答です。

質問です。
1)記号はすべて同じですか?
  ※記号はしべて「●」のあとに整数がきます。(基本的には一桁の数字です。)

   ※記号については最初の質問と変わって「?@1」「?A2」「?B2」の後に一桁の整数が
   来る場合は如何でしょか。同じやり方でもいいのでしょうか。
 
2)記号1文字、数値1文字のパターン固定ですか?(●2△や△●2などになっていない)
  ※その通りです。

3)数値は必ず1桁ですか?(2と重複しますが)
  ※その通りです。

4)ちなみに範囲、セルの範囲はA1〜A10ということでお願いします。

他のご回答でもやってみましたが、ダメでした。というより範囲の設定が分かりませんでした。
(jin) 2014/10/16(木) 10:17


 =SUMPRODUCT(SUBSTITUTE(A1:A3,"●","")*1)
             ↑

 ↑の部分の範囲を変えればできると思います。

 記号1文字、数値1文字のパターン固定のようなので
 =SUMPRODUCT(RIGHT(A1:A10,1)*1)
 でもいいかも?

 ちなみに丸囲み数字を使うと文字化けするので、ここに書き込む時は使わないで下さい。
(se_9) 2014/10/16(木) 10:35

 >他のご回答でもやってみましたが、ダメでした。というより範囲の設定が分かりませんでした。

 オイラの回答、全角文字駄目っすねw。

 一応修正。

 =SUMPRODUCT(REPLACE(0&A1:A10,2,MMULT((TEXT(0&MID(A1:A10,COLUMN(A:T),1),"!0;;!0;!1"))*1,(ROW(1:20)>0)*1),"")*1)

 ※実際の回答はse_9さんの回答でOKっす。
   空白セル有りを考慮すると

   =SUMPRODUCT(RIGHT(0&A1:A10)*1)
 
(GobGob) 2014/10/16(木) 11:30 → 11:39 修正

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.