EXCELのVLOOKUPとCOUNT関数に関して

このQ&Aのポイント
  • EXCELのVLOOKUPとCOUNT関数を使い、年会費を支払っていない会員の人数を求める方法について教えてください。
  • 年会費を既に支払っている会員には「済み」と入力されており、支払っていない会員は空白のままです。
  • マクロや作業欄を使用せずに、「ここに人数」のセルのみで対応できる関数があれば教えてください。
回答を見る
  • ベストアンサー

EXCELのVLOOKUPとCOUNT関数に関して

初めまして。 多少複雑な関数になるかと思いますがよろしくお願い致します。 添付画像のようなデータがあるとして(ブック2つ、シート3つ)、 売り主、買い主両列の会員から(メイン.xls シート1のA列、B列) 年会費を支払っていない会員(会員情報.xls シート1のB列)の 人数(メイン.xls シート2の「ここに人数」セルに結果を反映)を求めたいのですが、 これを実現出来る関数を教えて下さい。 年会費を既に支払っている会員には「済み」が入力してあり、 支払っていない会員は空白のままにしてあります。 出来るのであれば、マクロや作業欄を新たに設けず、 「ここに人数」のセルのみで対応できる関数があれば幸いです。 説明至らない箇所が御座いましたら申し訳御座いません。 何卒よろしくお願い致します。 環境 EXCEL2007 (ファイル保存形式は97-2003 ブックです)

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

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

こんにちは! 一例です。 A3セルに =IF(SUMPRODUCT(([会員情報.xls]シート1!$A$1:$A$1000<>"")*([会員情報.xls]シート1!$B$1:$B$1000=""))<ROW(A1),"",INDEX([会員情報.xls]シート1!$A$1:$A$1000,SMALL(IF([会員情報.xls]シート1!$B$1:$B$1000="",ROW($A$1:$A$1000)),ROW(A1)))) これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合はA3セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へずぃ~~~っとコピーしてみてください。 空白の会員番号が表示されます。 尚、その人数を把握したいのであればどこか別セルに =COUNT(A:A) とすれば人数が表示されます。 ※ 余計なお世話かもしれませんが、別ブックにするより同じブック内で操作した方が良いと思います。 数式自体は全く同様です。m(_ _)m

その他の回答 (3)

回答No.4

「ここにい人数」セルに次の式を入れます =COUNTIF([会員情報.xls]シート1!$B$2:$B$16,"<>済み") 範囲は正確に設定してください。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

メイン.xls シート2の「ここに人数」セルに、 =COUNTIF([会員情報.xls]シート1!$B:$B,"済み")

mako911
質問者

お礼

ご解答有難うございます。 そちらの関数ですと売買をした会員関係なく、 単純に全会員からお支払い済みの人数が何人かとの結果しか出ません。 質問のような条件下においての関数をよろしくお願い致します。

  • codotjtp
  • ベストアンサー率26% (40/149)
回答No.1

IFとORとCOUNTとの関数を連携させますと、 御期待通りの結果が導かれないでしょうか?

mako911
質問者

お礼

ご解答有難うございます。 色々な方法で試しているのですが手こずっているので 最良の関数を明記頂けたらと思っております。 よろしくお願い致します。

関連するQ&A

  • Excelの関数で、検索条件(複数)を満たす場合値を返す方法について質

    Excelの関数で、検索条件(複数)を満たす場合値を返す方法について質問です。 セルA2にある文字列が、別ファイルのA列にある文字列を含む場合セルB2に○を、含まない場合は×を入力する関数を教えて下さい!! --------- book1.xls シート1 A2にある文字列が、 book2.xls シート1 A列にある文字列のいずれかを含む場合、 book1.xls シート1 B2に「○」を、含まない場合は「×」を結果として反映させたいです。 ※book1.xlsのリストは全角カナ、book2.xlsのリストは半角カナ です。 ※book2.xls シート1にある検索条件は行列共に増える可能性があります。 マクロやVBAではなく関数で行うことは可能でしょうか? 勉強不足ですみません。 色々調べて試しているのですが、なかなかうまくいかないのでお力をお貸し下さい。 よろしくお願いします。

  • Excel

    A.xlsとB.xlsの2つのブックがあります。 A.xlsのSheet1のB2セルに文字列が入っています。その文字列にはJ3など列と行の組み合わせの値になってます。 このA.xlsのSheet1のB2のセルの文字列を使ってB.xlsのSheet1の上記のB2に書かれた位置のセルの値を取得したい。 これを実現するにはどうすればいいですか? ご教授お願い致します

  • エクセル2003 関数 IFとVlookupの組み合わせについて

    エクセル2003 関数 IFとVlookupの組み合わせについて IF関数とvlookuo関数を組み合わせて関数を組もうとしています。 vlookupしたい元データが18万あるのでシートを(1)~(3)に分けています。 やりたいことは、 シート「(1)1~60,000」     A列:ID B列:社名 シート「(2)60,001~120,000」 A列:ID B列:社名 シート「(3)120,001~180,000」 A列:ID B列:社名 シート「集計」 このシートに関数の結果を表示したいです シート「集計」のH9のセルにIDを入れたらI9のセルに社名が自動表示される。且つH9のセルが空欄ならI9のセルも空欄になる。※入るIDはシート(1)~(3)のどこかにあります 関数教えて下さい。よろしくお願いします。

  • エクセル関数VLOOKUPの範囲の一部をセルで指定

    ファイル名2103.XLSあるとして、その2103.XLSファイルとは別のファイル名集計.XLSに、その2103.XLSファイルから関数VLOOKUPでデータの値を返したい場合、式の範囲には普通は [2103.xls]Sheet1!$A$1:$B$10 と入力されますが、この範囲の一部分をセルで指定できないでしょうか。例えば、ファイル名集計.XLSのA1セルに文字列で"2103"と入力されているとしまして、式の範囲 [2103.xls]Sheet1!$A$1:$B$10 の2103部分を[A1.xls]Sheet1!$A$1:$B$10のような式は出来ないでしょうか。

  • ExcelのVLOOKUP関数で時刻を扱うと

    こんばんは。 提出用の勤務表を作ろうと思っています。 ほぼ同じフォーマットで、入力用(a.xls)と提出用(b.xls)のファイルが2つあります。 2つのファイルに入力するのも手間なので、VLOOKUP関数で時刻だけ呼びだそうとしましたが、0:00になります。 どうしてでしょうか。 A列に日付、B列に始業時間、C列に終業時間を入れています。 始業時間を呼び出すのは日付を検索値にしたので、関数式はVLOOKUP($A1,[b.xls]Sheet1!$A$1:$c$31,2,TRUE)で合っていると思います。 どちらも表示形式は"h:mm"です。

  • エクセルのVLOOKUPに関して

    お世話になっております。 VLOOKUP関数になるのか他の関数になるのか分からないのですが ご教授よろしくお願い致します。 A1セル      A2セル      A3セル 店番号      商品名       担当 1         ア          山口 2         イ          大山 3         ウ          斎藤 1         エ          中村 1         オ          山口 上記のような情報がシート1にあり、 シート2のA1セルに店番号を入力した時に シート2のB列に同じ店番号を持つ商品名をB1、B2、B3...セルへとリスト化し、 C列に担当をC1、C2、C3...セルへとリスト化したいのですが、 どのような関数を使用すれば可能となりますでしょうか。 よろしくお願い致します。

  • EXCEL 条件によって異なる関数を使用したい

    特定のセルに数字を入力すると、その数字に対応する関数式が呼び出される・・・といった動作は可能でしょうか? 例えば A1に「001」と入力するとB1には他のファイル(ブック)の所定のセルの文字列をもってくるものです。 予め同一フォルダには1年1組全員のファイルが納められ、 001さんは「1年1組_001.xls」 002さんは「1年1組_002.xls」 003さんは「1年1組_003.xls」 ・・・ というファイル名がつけられています。 管理台帳ファイルの「国語」シートのA1に、例えば“001”と入力するとB1には「1年1組_001.xls」の「国語」シートの同じセルに記入してある国語の点数を参照させたいものです。 管理台帳のB1には仮に関数式が  ='[1年1組_001.xls]国語'!$B$1 と記載されていればOKなのですが、 A1に“002”と入力すれば関数式は  ='[1年1組_002.xls]国語'!$B$1 と変わるべく機能して欲しいものです。 ='[1年1組_***.xls]国語'!$B$1 “***”の文字列のみA1を反映させたいわけです。

  • vlookupに、Indirect と Match 関数を組み合わせる

    vlookup関数で、検索値にSheet1(Book1)から、範囲は、Sheet2(Book1)のセルにある名前のついているSheet1(Book2), そして、列番号は、指定した名前とマッチするSheet1(Book2)の列番号から、導き出そうとしています。 ところが、Matchで指定した範囲は、Indirect内の関数として認識されないようで、結果が得られません。 たとえば、 Book1のA1~E1にタイトルが入っています。(Index, Title, Book, Author, Frequency) Book2には、 シート1: InputName シート2: Output シート2に以下の関数を入れてみましたが、うまくいきません。 ちなみに、VLOOKUPの列番号を Match関数の代わりに、5 とすると、結果オーライですが、Book1 の列順が変わっていることがあるので、Matchを使ってエラーを避けたいのですが、以下の関数のどこを直すべきでしょうか? =IF(ISNA(VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)),0,VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)) よろしくお願いします。

  • エクセル VLOOKUP関数?を使ってこのような事が出来るか知りたいです。

    Sheet1の2行目A~D列に 1 2 5 8と入っています。 Sheet2の   〃   に 3 2 5 9と入っています。 Sheet3の   〃   に 9 3 5 1と入っています。 Sheet4のA1にSheet1 と入力した際、B1~E1のセルに、Seet1に入っていた 1 2 5 8と表示させたいのですが、出来ますでしょうか? 私が思うにVLOOKUP関数?と思いますが、どんな式にしていいのかわかりません。 それか、他の関数の場合はどうすればいいのか?付け足さなくてはいけな出来ないものがあればそれも知りたいと思います。 宜しくお願いします。

  • [EXCEL]VLOOKUP関数がうまくいかないので助けてください

    あ.xls   B  C  1 10   2 12 3 15 い.xls   B  D 1 10 100 2 15 150 3 18 180 あ.xlsファイルのC列に、 あ.xlsファイルのB1セルと、い.xlsファイルのB1を見比べて同じ値なら、 い.xlsファイルのD1の値をあ.xlsファイルC1に値を表示する数式を 入力しようと思います。 「=VLOOKUP(B1,[い.xls]Sheet1!$1:$3,4,false)」と あ.xlsファイルのC1セルに数式を入力しましたが、すべてエラー(#N/A)で 返ってしまいます。 正常に機能するよう、数式を教えてください。

専門家に質問してみよう