Excel関数で「締」の行の値を引き算する方法

このQ&Aのポイント
  • Excel2003で、「締」という文字が入っている行の値を引き算する方法について教えてください。
  • 特定の条件を満たす行の値を引き算するExcel関数の使い方について教えてください。
  • Excelの関数を使って、「締」という文字が入っている行の値と別の行の値を引き算する方法を教えてください。
回答を見る
  • ベストアンサー

Excelの関数で教えていただきたく思います(Excel2003)。

Excelの関数で教えていただきたく思います(Excel2003)。 添付画像のような表があります。 行番号が入っていませんが、「カウント」「締」の行が2行目です。 K列に「締」と言う文字が入っている行のL列にJ行の数値の引き算の結果を表示させたいのです。 添付画像の例で申し上げますと、K4とK2に「締」の文字が入っています。 従いまして、L4にJ4-J2の結果が表示されるようになります。 もし、K4が空欄でK7に「締」の文字が入っている場合はL4も空欄でかまわないのですが、その代わり、L7にJ7-J2の結果が表示されます。 わかりにくい場合や情報不足は逐一ご指摘いただければ、補足いたします。 よろしくお願い致します。

  • Youyou
  • お礼率64% (2254/3473)

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

L2=IF(AND(K2="締",COUNTIF(K:K,"締")=COUNTIF(K$1:K2,"締")),J2-INDEX(J:J,MATCH("締",K:K,0)+1,0),"") で下方にコピー

Youyou
質問者

お礼

ありがとうございます。 概ねこれでいけそうです。 一番シンプルですね。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

作業列を作って対応するのが判りやすいでしょう。 M2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(K2="","",COUNTIF(K$2:K2,"締")) お求めのデータを表示させるためにはL2セルに次の式を入力して下方にオートフィルドラッグします。 =IF(OR(K2="",M2=1),"",J2-INDEX(J:J,MATCH(M2-1,M:M,0))) なお、M列は目障りでしたら非表示にしても良いですし、フォントの色を白にしても良いでしょう。

Youyou
質問者

お礼

ありがとうございます。 大変参考になりました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 解釈が違っていたらごめんなさい。 結局「締」が入力されている最終行のJ列の数値から 「締」が入力されている最初の行のJ列の値を引いて 「締」が入力されている最後のL列の行にその値を表示させれば良いというわけですかね? 一応そういうことだとして・・・ ↓の画像でL2セルに =IF(OR(K2="",COUNTIF($K$2:K2,"締")<>COUNTIF($K$2:$K$1000,"締")),"",INDEX($J$2:$J$1000,LARGE(IF($K$2:$K$1000="締",ROW($A$1:$A$999)),1))-INDEX($J$2:$J$1000,SMALL(IF($K$2:$K$1000="締",ROW($A$1:$A$999)),1))) という数式を入れています。 これは配列数式になってしまいますので、この画面からコピー&ペーストしただけではエラーになると思います。 L2セルに貼り付け後、F2キーを押すか、数式バー内で一度クリックしてください。 編集可能になりますので、Shift+Ctrl+Enterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 そして、L2セルのフィルハンドルで下へコピーすると画像のような感じになります。 尚、数式は1000行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてください。 もし、「締」の文字がK列にいくらあっても最後の「締」の行から 最初の「締」の行の値を引くようにしていますが、 もし2個しか入力がないのであれば数式はもう少し簡単になるかと思います。 以上、長々と書きましたが参考になれば幸いです。 的外れなら読み流してくださいね。m(__)m

Youyou
質問者

お礼

ありがとうございます。 大変参考になりました。 概ねこれでいけるはずです。

関連するQ&A

  • Excelの関数で教えていただきたく思います(Excel2003)。

    Excelの関数で教えていただきたく思います(Excel2003)。 添付画像のような表があります。 M列に「締」の文字が入ったときにL列にK列の数値が自動入力されます。 例えば、添付画像の例で申し上げますと、M4とM10に「締」の文字が入っています。 このような場合にL10-L4の結果をN10に表示させたいのです。 M10に「締」が入力される前、即ちM4が最新の場合はそれ以前に「締」の文字が入っている列がありませんんので、この場合だけはL4-L2の結果がN4に表示されるようにしたいのです(M2に「締」を入力すればよいのかもしれませんが・・・)。 「締」の文字はM列のどこに入るかは全くランダムです。 わかりにくい場合や情報不足は逐一ご指摘いただければ、補足いたします。 よろしくお願い致します。

  • エクセルの関数について教えてください。

    エクセルの関数について教えてください。 A2~U100まで、データが入っています。 U2~U100に結果を表示させたいのです。 J2~J100には、〇が入っているセルと入っていないセルがあります。 K2~K100には、〇が入っているセルと入っていないセルがあります。 L2=L100には、〇が入っているセルと入っていないセルがあります。 U2~U100に、結果を表示させたいのです。 J列には、〇が入っているのが条件で K列かL列のどちらかに〇が入っていた場合に U列に◎をつけたいのです。 U列に入れる関数を教えてください。

  • エクセルカウントの関数教えて下さい!

    エクセルカウントの関数教えて下さい! 今k25:k44の範囲の中で文字(2文字)が入ったセルと空欄のセルが有ります。 文字の入ったセルと空欄のセルのカウントの式をどうしたら良いか悩んでいます。 文字の入ったセルの指定方法が分かりません。

  • エクセルで関数を使って自動処理出来ないでしょうか?

    シート1に、Aさんのデータがk1.k2.k3.k4.k6.k7にあります。Bさんk10.k11.k12.k13.k15.k16、Cさんk19.k20.k21.k22.k24.k25という様に、約100名分あります。 そのk列のデータをシート3に 1行目 k1.k2.k3.k4.k6.k7 2行目 k10.k11.k12.k13.k15.k16 3行目 k19.k20.k21.k22.k24.k25 ↓続く 100行目   上記のように行を詰めて表示させたいのですが、何か良い方法はありますでしょうか? よろしくお願いします。

  • EXCELの関数でどう記述すれば良いでしょうか?

    VLOOKUPを使って出来るかと思ったのですが上手く行きません。 ・J列を参照して2行目が 300 なら(K2-N2)*0.05+200) ・J列を参照して2行目が 0 なら(K2-N2)*0.03+150) と言う様にしたいのですが、どの様に記述したら良いでしょうか? どうぞ宜しくお願い致します。

  • エクセルでA行をコピーし、3列づつ貼り付ける方法

    エクセルでAの行(たとえばA1~A63まで)の文字列を全てコピーし、一括で3列21行の範囲内で張り付けることは可能でしょうか? 3列21行の範囲内で貼り付けるとは、たとえば下記の範囲内で、I2、J2、K2、I3、J3、K3の順番で張り付けることです。 I2、J2、K2 I3、J3、K3 I4、J4、K4 I5、J5、K5 ・・・ ・・・ I19、J20、K21 いろいろググってみたのですが、思うような答えが見つかりませんでした。 分かる方がおりましたら、何卒ご教示のほど、宜しくお願い致します。

  • EXCELのIF関数の入れ子について

    すみませんよろしくお願いします。 EXCELでセル(A1)~(L1)までに不特定の文字列が入力されており、(M1)に「もし(L1)が入力されていたら(L1)の値を表示、もし(L1)がブランクなら(K1)の値を表示、もし(K1)がブランクなら(J1)の値を表示、もし(J1)がブランクなら(I1)の値を表示・・・・」といった具合で関数を作成したいのです。また、(A1)~(L1)のセルで穴あき状態で入力されていた場合は最も(L1)寄りのセルを表示させたいです。 EXCEL2003のIF関数だと、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="","",E2),F2),G2),H2),I2),J2),K2),L2) で最後の(A1)までの入れ子を作ることができせん。 EXCEL2007を使用すると、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="",IF(D2="",IF(C2="",IF(B2="",IF(A2="","",A2),B2),C2),D2),E2),F2),G2),H2),I2),J2),K2),L2) と作成できます。 EXCEL2003で作成するいい方法はありますでしょうか? ご指南の程よろしくお願いします。

  • 関数がうまくいきません?

    簡単な、関数で恥ずかしいのですが フィールド行が5行目にあり6行目からデータ(データは毎日変更があります)が入力されたシートがあります。 I列からL列に条件が一致するものに○があり、一致しないものは空白となっています。   A B C D・・ I   J  K  L  6        ○ 7          ○   ○  ○ 8        ○ ○ ○ ○ 9            ○ ○ 10        ○ ○   ○  11 12        ○     ○ 13          ○ ○ 14        ○ ○ ○ ○ 15        ○   ○ ○  16            ○ 17          ○   ○ 18        ○ ○ ○ ○ 19          ○ ○ ○ 20        ○ ○ ・ ・ ・ このI列の中で空白になっているセルの合計値をB2へ J列の中で空白になっているセルの合計値をD2へ、K列の中で空白になっているセルの合計値をB4へ、L列の中で空白になっているセルの合計値をD4へ入れるために =COUNTIF(I6:I65536,"<> ○") =COUNTIF(J6:J65536,"<> ○") =COUNTIF(K6:K65536,"<> ○") =COUNTIF(L6:L65536,"<> ○") と関数を設定しましたが、うまくいきません。 また =COUNTBLANK(I6:I65536) でも試してみましたが、データの入力の無い空白セルもカウントして駄目みたいです。 どなたかご教授を!  

  • 関数について

    下のようなセルがあるとします。(結果同時に書いてあります) 列ごとに1~4位をカウントして他のマスに反映させたいのですが、どのような関数を用いれば出来るでしょうか? 具体的には、列1では行1が1位、以下行2・行3・行4と続きます。 このようにカウントしていくと、行1は1位を2回・2位を1回・3位を1回とっています。 この結果を別のセルに1位~4位を分けてカウントしたいのです。 表示結果は以下のようになります。     列1  列2  列3  列4 1位 2位 3位 4位 行1  10  15  20  -5  2  1  1  0 行2  5  20  -10  -15  1  1  0  2 行3 -20   10  5  10  1  2  0  1 行4 -10  -20  5  10  1  1  1  1 どなたかお分かりになる方、宜しくお願いしますm(_ _)m

  • 【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]の計算結果が表示されるように したいのですが。。。 よろしくお願いします。

専門家に質問してみよう