- ベストアンサー
Excelの関数式を教えて下さい
関数の初心者ですが数式を教えて下さい。よろしくお願いします。 (事例) A列 1 20(10) 2 30(20) 3 空白 4 5 5 15 6 合計 上記の事例で()内の数字を除いた合計を出す計算式が知りたいのです。 Excel 2002 XP Pro
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=SUM(IF(A1:A5="",0,LEFT(A1:A5,FIND("(",A1:A5&"(")-1)*1)) を適当なセルに貼り付けてShift+Ctrl+Enterで確定します。 すると配列数式になって、数式バーには { }でくくられて {=SUM(IF(A1:A5="",0,LEFT(A1:A5,FIND("(",A1:A5&"(")-1)*1))} と表示され、セルには答えの 70 が表示されるはずです。 でも、そもそも一つのセルに「20(10)」と入力すること自体がエクセル向きではありません。「関数初心者」と自認されているなら、素直に1セルには1つの値を入力することをおすすめします。
その他の回答 (3)
- onntao
- ベストアンサー率32% (108/332)
ご承知でしたらごめんなさい ANo.1氏もそうですが --LEFT・・・・ --MID・・・・・ は マイナス(-)を2つ並べています 文字列を数値化するためです *1でもいいですね。 蛇足ながら・・・・ 投稿後に判別が難しいように見えましたので。
お礼
丁寧な注釈ありがとうございます。
- onntao
- ベストアンサー率32% (108/332)
B1以下を作業列とし B1:=IF(ISERR(FIND("(",A1)),A1,--MID(A1,1,FIND("(",A1)-1)) B5までコピー A6:=SUM(B1:B5)
お礼
ありがとうございます。
補足
早速ありがとうございます。 恐縮ですが事例でA列の合計欄に一発で合計を表示できるような数式はできないでしょうか。よく分からないですが例えばSUMPRODUCT関数など使って。
- maron--5
- ベストアンサー率36% (321/877)
=SUM(IF(ISNUMBER(FIND("(",A1:A5)),--LEFT(A1:A5,FIND("(",A1:A5)-1),A1:A5)) ★この式は「配列数式」です ★式を入力した後、 Ctrl+Shift を押しながら、 Enter を押して式を確定させてください ★式が確定すると、式の両端に、 { }がつきます
お礼
即回答ありがとうございます。出来ました
お礼
ありがとうございます。ご指摘の通りですがこのようなシートは他の人が作成したもで訳あっての表示の方法だそうです。素人の私にはちょっと荷が重く皆様のお知恵を拝借したく投稿した次第です。