Excelの関数で表の締の文字の入ったセルから範囲の値を抽出する方法

このQ&Aのポイント
  • Excelの関数を使用して、表の特定の列に「締」の文字が入ったセルから範囲の値を抽出する方法を教えてください。
  • 表のM列に「締」の文字が入ったセルを探し、そのセルの行番号を取得します。次に、その行番号を使用してL列の値とK列の値を取得し、L列の値からK列の値を引いた結果を別のセルに表示させることができます。
  • ただし、「締」の文字が入ったセルが複数ある場合や、最新の「締」の文字が入ったセルが存在しない場合も考慮する必要があります。これらの場合は、一部のセルの範囲の値を表示させるために、より複雑な関数を使用する必要があります。
回答を見る
  • ベストアンサー

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

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

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

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

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

L列はカウントなので、数値は昇順になるとして [N3]=IF(M3="締",L3-MAX(,$K$2,$L$2:L2),"") 下へフィル。 当然、昇順でなければダメですよ。

Youyou
質問者

お礼

ありがとうございます。 完璧です!

その他の回答 (2)

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

こんにちは! 一例です。 配列数式になってしまいますので Shift+Ctrl+Enterキーで確定してください。 「締」は二つしか入らないという条件みたいなので・・・ N2セルに =IF(OR(M2="",COUNTIF($M$2:M2,"締")<>2),"",INDEX($L$2:$L$100,LARGE(IF($M$2:$M$100<>"",ROW($A$1:$A$99)),1))-INDEX($L$2:$L$100,SMALL(IF($M$2:$M$100<>"",ROW($A$1:$A$99)),1))) としてShift+Ctrl+Enterキーで確定し、 オートフィルで下へコピーしてみてください。 尚、数式は100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてください。 以上、参考になれば幸いです。m(__)m

Youyou
質問者

お礼

ありがとうございます。 「締」は二つしか入らないという条件みたいなので、と言うわけではなかったんです。 質問の仕方が悪かったようで・・・すみません。 #1様の数式が正解でした。

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

L列の数値が下の行ほど大きくなっていれば次の式をN2セルに入力して下方にオートフィルドラッグします。 =IF(OR(L2="",ISERROR(LARGE(L:L,2))),"",LARGE(L:L,1)-LARGE(L:L,2))

Youyou
質問者

お礼

ありがとうございました。 残念ながらちょっと違うようです。

関連するQ&A

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

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

  • エクセルで困っています

    A列で複数のセルの引用を管理したいのですが、どうすればいいのでしょうか? 例えると、りんごとか卵などの食べ物の各種データが表示されてる別表があるとします。 そのときに、 A1に「卵」と入力したら、B1にL1を、C1にM1、D1にN1を表示する A2に「りんご」と入力したら、B2にL2を、C2にM2、D2にN2を表示する このような感じで、A列の文字を変えたら引用するデータも 自動的にその文字の行のデータに変わるということです。 いろいろ検索してみましたが、なかなかうまくいきません。

  • EXCELの関数で...

    以下のようなことが関数でできないでしょうか。 L1~L10に文字 M1~M10に文字 N1~N10に日付け が、入ってます。 K1~K10は空白ですがここに1~10の数字をランダムに入れます。 そのとき、Kに1の入った行(L,M,N,)の内容をA5,B5,C5に、 Kに2の入った入った行(L,M,N,)の内容をA6.B6,C6にと Kに10が入ったところまでを順次行いたいのですが できるでしょうか? どなたか、よろしくお願いいたします。

  • Excelの関数で教えてください

    添付画像のような表があり、E列の「金額」欄は基本的にはB列×D列の乗算の結果を表示させるので、それだけなら例えば2行目なら「B2*D2」で良いのですが、D列が空欄だったり、B列・D列とも空欄になる場合があって、E列のみに数値を記入するケースがあるため、E列に数式を設定するとイレギュラーで数値を入力できないため、その場合、隣のF列に代わりに入力すると、E列に表示が出るようにしたいと考えています。 C列は単位が入ります(○本、○ケース、○式等) まとめますと、 E列に表示される数値は B列とD列それぞれに数値がある場合はB列×D列の結果を表示 B列に数値があり、D列に数値がない場合はF列に入力した数値を表示 B列にもD列にも数値はなく、F列に数値がある場合はF列に入力した数値を表示 B列、D列、F列のいずれにも数値がない場合はブランク というような数式をE列に設定する場合、どういうような数式にすればいいのか、ご教示いただけないでしょうか? 以上、よろしくお願いいたします。 ちなみにExcel2010または2003で使用します。

  • Excel2000で、画像のようにA列の【円】以外の文字列を関数を使っ

    Excel2000で、画像のようにA列の【円】以外の文字列を関数を使ってB列に表示させたいのですが調べても方法が見つかりませんでした。 どなたか教えてください。m(。。)m

  • Excel関数教えてください。

    データベースとなるシート2のA列に、該当する文字列を入力しています。このデータは定期的に変更し、更新する際いくつになるか一定ではありません。(なので列としています。) シート1のA列(A1とする)に、入力した文字列が、シート2のA列に入力した文字と完全一致した場合、シート1のE列(E1とする)に「◯」が表示され、 入力したものがデータベースに該当しない場合は空白にしたいのですが、どんな関数にしたらよいですか?

  • エクセル IF関数 条件を満たす行に印をつける

    A1:J30までにランダムな数値が入力されている表があります。M1:N4には検索値を入力できる箇所があり、条件に該当する行があればK列に○を付ける、ということがしたいです。その条件は、 (1)M1かN1に該当する (2)M2かN2に該当する (3)M3かN3かM4かN4に該当する この3条件のすべてを満たす行があればK列に○です。 いろいろ調べて、IF関数とsumproductを組み合わせてやってみたのですが、正しい結果にならずお手上げ状態です。(ちなみにこれ↓長すぎなのもネック。。。) =IF(AND(SUMPRODUCT((A1:J1=$M$1)+(A1:J1=$N$1))>=0,SUMPRODUCT((A1:J1=$M$2)+(A1:J1=$N$2))>=0,SUMPRODUCT((A1:J1=$M$3)+(A1:J1=$N$3)+(A1:J1=$M$4)+(A1:J1=$N$4)>=0)),"○","") IF関数でなくてもできれば何でも良いので、教えてください。 よろしくお願いいたします。

  • エクセル SUMPRODUCT関数でこんな場合は?

    Excel2000です。 添付画像のような表があります。 A列、B列に数値、C列に文字列です。 A列の数値は単なる数値ではなく、計算式で求められています。 したがって表内A列の何も表示されていないセルは、計算の結果 ="" になったものです。 B列の数値は直接入力した単なる数値です。 この表で仮に、C列がAの場合のA列合計を求めるため、D6に =SUMPRODUCT((A1:A5)*(B1:B5)*(C1:C5="A")) としてみましたが、="" を乗じているためVALUEエラーになります。 =""を排除しようと、 =SUMPRODUCT((A1:A5<>"")*(A1:A5)*(B1:B5)*(C1:C5="A")) としてみましたが、やはりVALUEエラーになります。 こういう場合はどうしたらよいのでしょうか? ="" を =0 に変えるという回答以外でお願いいたします。

  • 空白のセルの場合は同じ文字を入力するVBA

    (1)セルL5・L6・L23・L24・L25があります。 上記で述べたセル範囲の文字が空白表示の場合、上記範囲の何処かに文字を入力したら、入力した文字と一緒の文字が自動で入力させます。(例えばL24に「1」と入力した場合はL5・L6・L24・L25に「1」と自動で入力) そして上記で述べたセル範囲の何処か1つでも文字が入っていると、文字が自動で入力されない(例えばL5に「3」と入力されている状態でL25に「8」と入力してもL6・L23・L24の文字は何も変化しない)VBAはどの様にすれば良いでしょうか? (2)セルM5・M6・M23・M24・M25があります。 上記で述べたセル範囲の文字が空白表示の場合、上記範囲の何処かに文字を入力したら、入力した文字と一緒の文字が自動で入力させます。(例えばM24に「1」と入力した場合はM5・M6・M24・M25に「1」と自動で入力) そして上記で述べたセル範囲の何処か1つでも文字が入っていると、文字が自動で入力されない(例えばM5に「3」と入力されている状態でM25に「8」と入力してもM6・M23・M24の文字は何も変化しない)VBAはどの様にすれば良いでしょうか? (3)セルL8~L10の範囲があります。 上記で述べたセル範囲の文字が空白表示の場合、上記範囲の何処かに文字を入力したら、文字が自動で入力させます。(例えばL9に「1」と入力した場合はL8・L10に「1」と自動で入力) 上記で述べたセル範囲の何処かに既に文字が入っていると、文字が自動で入力されない(例えばL10に「3」と入力されている状態でL8に「8」と入力してもL9の文字は何も変化しない)VBAはどの様にすれば良いでしょうか?

  • Excel2007 入力の規則

    Excel2007です。 M2セルに「1」(数値)を入力していないと、N2セルに入力(文字)させたくないのですが、どういう設定をしたらよいでしょうか? 入力規則などでできるでしょうか?

専門家に質問してみよう