• ベストアンサー

【Excel】ある文字列を含んだ行の数値をとりだしたい

Excel2003を使用しています。       A列     B列      C列     D列   1行  2行  ○月計    100      50      50  3行  4行  5行  ×月計    200      100     100 A列に「月計」を含んだセルがあったら、そのD列は[=B-C]としたいのですが どうすればいいでしょうか? 例えば、上記の場合だとA2セルに「○月計」と入っているので、D2セルには[=B2-C2]の計算結果を 表示させたいのです。 いろいろやってみましたが、うまくいきません。 よろしくお願いします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次の方法は如何でしょうか。 D1セルに=IF(COUNTIF(A1,"*月計")=1,B1-C1,"")で下方向にコピーして下さい。

rx-z5815
質問者

お礼

早速回答いただきましてありがとうございました。 おかげさまでうまくいきました~♪

その他の回答 (2)

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

私も会社で もう少し複雑な処理をしたいと思っていたのです 「1つの検索対象の内に検索したい複数の語句の内の1つがあるのか調べる」 と、言う処理なのですが Excelって 検索する語句が1回に尽き1個なら何とでもなるのですが この様な 複数個検索して全て無いのか、または有る場合は何があるのか調べる て言うのは凄く不得意だと思っていたので 予てからはっきり言って諦めていたのですが、 もしかしたらと一縷の希望で質問のスレッドを立てたところ(参考URL) 素晴らしい回答を頂きました そこでお知らせに来ました この方が示して頂けた方向性の先には 素晴らしいExcelライフが輝いていると感じますよ 此方の質問に置き換えれば 月計どころか週計や四半期計・年度末締めなんてのも簡単に済みますよね

参考URL:
http://oshiete.coneco.net/kotaeru.php3?q=2472328
rx-z5815
質問者

お礼

早速、URLを拝見しましたが、大変参考になりました。 活用させていただきます。 わざわざお知らせいただきまして、ありがとうございました。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

豆知識として 余りスマートではないですが countifが一般的ですがFINDでも出来ますよ FINDはサーチに失敗すると#VALUE!を返しますので =IF(ISERR(FIND("月計",B:B,1)),"",Bn-Cn) とも書けますね おっとnは行番号に置き換えて使ってくださいね

rx-z5815
質問者

お礼

回答ありがとうございます。 FINDでもできました!

関連するQ&A

  • 複数列のデータ(数値&文字)を結合させて1列にまとめる方法

    (1) 一行にA列、B列、C列があり、各行のいずれか1つの列に、必ずデータが入っています。(データの入っていないセルは「0」が表示) (2) データの入っているセルからデータを取り出し、D列の同じ行のセルに移します。 (3) 結果、D列には、A列~C列のデータが1列に表示される (例) No A列 B列 C列  D列 1  1A         1A 2        2B   2B  3     3C      3C 指定した複数列のデータを1列にまとめて表示する関数またはSQLを教えて下さい。 お忙しい所 大変恐縮ではございますが、何卒宜しくお願い致します。

  • EXCEL2003出納帳残高欄の、計算結果がある最終行の数値を取り出し

    EXCEL2003出納帳残高欄の、計算結果がある最終行の数値を取り出したいのですが     A     B     C     D 1  日付   入出金   残高 2  繰越          30 3 8/1   100   130 4 8/2  -130     0 5 8/2    40    40 6               - 7               - 8               - 9                現在残高 40        途中には空白行はなく順に入力します 入力する行数は未確定です 残高は"0" の場合もあります C列2行目は 数式「=B2」  C列3行目から8行目までは 数式「=IF(B3=0,0,C2+B3)」 現在残高を表示したいのですが、 ここD列9行目には数式 「=LOOKUP(10^5,C3:C8)」 としてますが、 C列の6~8行目までは計算式が入ってるので、 その値”0”となってしまうようです。 また、 数式「=INDIRECT(ADDRESS(COUNT(C2:C8)+1,3))」 という式も入れてみましたが、”0”となってしまいます。 計算結果のある最終行の値 "40" にするにはどうしたらよいでしょうか?

  • A列とB列の合計を行ごとにC列に表示させたい

    お早うございます。エクセルのセルの計算で教えてほしいのですが、A列とB列の合計を行ごとにC列に表示させたいのです。例えばA1のセルに“1", B1のセルに“2"と入れます。それで、C1のセルに“=A1+B1"と入力します。そうするとC1のセルは“3”と表示されますよね。そこで同じように違った数字の合計を100行ほどそれぞれC列に表示させたいのです。セルごとではなく縦全部列ごとでもかまいません。宜しくお願いします。

  • 条件を満たす行の、特定の列における最小値

    以下のようなスプレッドシート(Excel)があります。    [A列] [B列] [C列] [D列] [E列] [1行]資材コード メーカー 単価 平均 最安 [2行]T1111 A 311 [3行]T1211 A 411 [4行]T1311 A 311 [5行]T1111 B 299 [6行]T1211 B 500 [7行]T1311 B 312 [8行]T1111 C 300 [9行]T1211 C 280 [10行]T1311 C 400 D列(D2~D10)には、 同じ資材コードの単価の平均が入ります。 これは、 SUMIF(A$2:A$10,A*,C$2:C$10)/COUNTIF(A$2:A$10,A*) (*には当該行番号が入る。) で、表現できました。 次にE列(E2~E10)には 同じ資材コードのもののうち、 最安となる単価を表示させたいのですが、 どう関数を組み合わせるのが、スマートなのかわかりません。 たとえば、E2セル、E7セル、E11セルは 資材コードT1111になっている行のうち、 単価(C列)が最低となる時の値を表示するようにしたいので、 C2セル=311、C7セル=312、C8セル=800のうち、最低である311が E2セル=311、E7セル=311、E8セル=311 にそれぞれ表示されるようにしたいのです。 わかりにくい説明で申し訳ありませんが、 疑義があれば、適宜補足しますので、指摘してください。 よろしくお願いいたします。

  • 【Excel】関数でできますか?

    Excel2003を使用しています。   E列→摘要欄 H列→借方金額 I列→貸方金額 K列→差引残高  1行  あ                    100  2行  い      100  3行  う       500  4行  5行 月 計     600          100      500  6行  7行  8行  か                      300  9行  き       400 10行  く       500 12行 月 計      900        300      1100 13行 累 計      1500        400      :      : というふうに金額が入力されているとき、K列の差引残高に E列に“月 計”と入力されたら、 [直前の月 計の差引残高セル]-[借方金額]-[貸方金額]という 数式を入れたいのですが、どんな関数を使えばできますか? 上記の例でいくと、 K12セルに[=K5+H12-I12]の計算結果が表示されるように したいのですが。。。 よろしくお願いします。

  • EXCELで数値の検索

    excel2000です。 あるセル範囲の中から、数値の入っているセルを探し出し、 「計」の字のあるセルの前までその数値を繰り返す・・・という表を 作りたいのですが、どうしたらいいのかわかりません。 例) A3に「1」、B6に「計」が入っています。 A1からA5の範囲から数値の入っているセル(=A3)を探し出し、 C1:C5に「1」を並べる。 続いてA8に「2」、B11に「計」が入っていて、 C7:C10まで「2」を並べる。 という感じです。 A列の範囲は毎回変わり、B列の「計」の次の行から、 次の「計」の手前までの範囲です。 数値が入っている場所(A3やA8)も毎回変わります。 本当に困っています。 お力を貸してください。よろしくお願いします。

  • 【Excel】直前のある特定の文字を拾って計算したい

    Excel2003を使用しています。   E列→摘要欄 H列→借方金額 I列→貸方金額 K列→差引残高  1行  あ                   100  2行  い      100  3行  う       500  4行  5行 月 計     600           100        500  6行  7行  8行  か                    300  9行  き       400 10行   く       500 11行 12行 月 計     900            300        1100 13行 累 計    1500            400       :       : というふうに金額が入力されているとき、K列の差引残高に E列に“月 計”と入力されたら、 [直前の月 計の差引残高セル]+[借方金額]-[貸方金額]という 数式を入れたいのですが、どんな関数を使えばできますか? 上記の例でいくと、 K12セルに[=K5+H12-I12]の計算結果が表示されるように したいのですが。。。 関数でもマクロでも構いません。マクロでしたら、初心者ですので 参考までに一例を示していただけると嬉しいです。 よろしくお願いします。

  • EXCEL:種別ごとに数値の和を求める式

    種別ごとに和を集計する必要があります。 種別ごとの数値を求めるためには、各計の所にどのような式をかきたらよいのでしょうか。 下記に例:Dのセルの式 aだけでよい。 A列 B列 C列  D列 種別 数値 種別   計 a 1 a種計  1 b 4 b種計 13 c 5 c種計 12 c 7 b 9

  • excel関数を用いてある行の範囲内の数値のみを違う行に抽出し、同じ列に対応する値も引っ張ってくることは可能ですか?

        A   B   C   D 1   33   180 2   58   300 3   89   310 4   152   240 5   205   74 上のような表になっている時に、EXCEL関数を用いて、[A]行の「60以上、180以下の数値」のみをC列に引っ張ってきて、なおかつ[A]行のそれぞれの値に対応する[B]行の値をD行に引っ張ってくることは可能でしょうか? 理想的な結果として   A     B      C      D 1   33  180     58    300 2   58   300    89    310 3   89   310    152    240 4   152   240 5  205  74 というようになってほしいのです。 オートフィルターの範囲指定を用いると、C行に範囲内の値を引っ張ってくる事は出来たのですが、関数ではない為、他の表に応用が効かず、毎回フィルターをかけなくてはいけなかったです…そのため出来れば関数を使いたいのですが、何か方法は無いものでしょうか…

  • Excel2002でセルへの数値代入

    使用しているのはExcel2002なんですが 関数などを使用して空白セルへ数値及び文字列を 代入することって可能でしょうか? 例を挙げると、 セルA1に7という値を入力すると、 セルC1にある関数が「10-A1」という計算を行って セルB1に3という値を返すようにしたいのです。 また、セルB1に4という値を入力すると、 セルC1で計算を行い、セルA1には6が返る。 このようにセルA1、B1ともに、人の手で数値の 入力が行われる可能性があるので、表示部分のセルに 関数式を記述せず、空白としておく。 C1に入力する関数は IF(B1="",10-A1,10-B1) として、この結果を、またIFなどを使って 空白の方のセルに入力してあげればいいかなー というところまでは考え付いたのですが・・・ どなたか教えてください。

専門家に質問してみよう