質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Q&A

解決済

1回答

527閲覧

googleスプレッドシートで特定の範囲に複数の値が、別の範囲に何個あるか知りたい

otatsu22

総合スコア1

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

0グッド

0クリップ

投稿2020/06/18 09:04

編集2020/06/19 12:11

前提・実現したいこと

スプレッドシートに関するご質問です。

特定の期間にある複数の値が、他の期間に何個あるかしる関数を知りたいです。

例えば、2019年1月〜2019年2月までに登録したユーザーが、2019年2月〜2019年3月に何人いるかを知りたいです。

僕の方では、countisf関数とFILTER関数を組み合わせたのですが、行なった限りではできませんでした。
やり方が悪かったのか、他の関数を使えばできるのかを知りたいです。

使用しているシート

シート1
A列:登録したユーザーのメールアドレス
B列:登録したユーザーの登録日(2019年1月1日〜2019年12月31日)

シート2
A列:1ヶ月ごとの日付(例:2019年1月,2019年2月が縦に並んでいるイメージです)
★B列に2019年1月に登録したユーザーが、2019年2月に何人いるかを記入したい。

試したこと

  1. COUNTIFS関数をつかい、シート1の調べたい期間を抽出(〜2019/3/1)

┗こちらは無事個数を抽出しています。

  1. フィルター関数を使い、1月に登録したユーザーのメールアドレスを抽出(2019/1~2019/2)

┗こちらもメールアドレスを抽出することができるか

  1. COUNTIFS関数の2つ目の期間に1の期間に2で抽出したものがいくつあるか計算する

▽こちらご指摘をいただき修正しました。

=COUNTIFS(シート1!$B$1:$B$10000,”<“&date(2019,3,1),シート1!$A$1:$A$10000,”=“& FILTER(シート1!$A$1:$A$10000,シート1!$B$1:$B$10000>=DATE(2019,1,1),シート1!$B$1:$B$10000<DATE(2019,2,1)))

補足情報(FW/ツールのバージョンなど)

本来、1月で登録したユーザー数以上の値を返せば成功ですが、実際に返した値はそれ以下でした

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sawa

2020/06/19 00:34

記載されてる式が色々間違ってるので、一つずつ処理を分解して動くかを試して、まずは可能な範囲で修正してみてください。 date(2019/3/1)  ・・・ まず大前提として日付を扱う式として問題ないのか? 1.COUNTIFS関数をつかい、シート1の調べたい期間を抽出(〜2019/3/1) =COUNTIFS(シート1!$b1:$b$10000,"<"&date(2019/3/1))  ・・・ これは問題ないか? 2.フィルター関数を使い、1月に登録したユーザーのメールアドレスを抽出(2019/1~2019/2) =FILTER(シート1!$A$1:$A$10000,シート1!$B$1:$B$10000>=(2019/1/1),シート1!$b$1:$b$10000<date(2019/2/1)) ・・・機能しているか? まずは調べるなり、色々試すなりで上記がクリアできてからの 3です。
otatsu22

2020/06/19 05:09 編集

ご指摘いただきありがとうございます。 実際に使用している式は一部違っており、teratailで質問するために書き直した際に、ミスを犯してしましました。 1→正常に値を抽出できています。 2→期間中の登録者のメールアドレスを抽出できています。 3→できていません。 修正させていただいたものはこちらとなります。 ``` =COUNTIFS(シート1!$B$1:$B$10000,”<“&date(2019,3,1),シート1!$A$1:$A$10000,”=“& FILTER(シート1!$A$1:$A$10000,シート1!$B$1:$B$10000>=DATE(2019,1,1),シート1!$B$1:$B$10000<DATE(2019,2,1))) ``` 追加のご質問で恐縮ですが、 大元の質問にある通り、特定の期間にある複数の値が、他の期間に何個あるかしることは、countisf関数とフィルター関数でできるのでしょうか? 僕が行なった限りではできませんでしたが、やり方が悪かったのか、こちらの関数自体でできないのかを知りたいです。
guest

回答1

0

ベストアンサー

修正いただいた式でネックとなる部分ですが、filterで取得した値(メール)は配列になってるので、このままの式だと1番目のメールアドレスでのみ countifs した値となってるかと思います。なので、arrayformula で全体をまず囲ってあげて、それをさらにsumで囲ってみてください。

arrayformula で個々のメールと一致する個数が配列で返されるので、それをsumで合計する感じです。

投稿2020/06/19 05:35

sawa

総合スコア3002

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otatsu22

2020/06/19 12:03

こちらで解決できました! 丁寧にご説明していただき、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問