[[20201003085914]] 『複数条件の抽出について』(レオン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数条件の抽出について』(レオン)

【シート名】貼付
   A列   B列   C列       D列
1  場所    日付    パターン    6:30
2  東京    10/1    A       25
3  東京     10/1     B
4  東京    10/1     C
5  東京    10/2     A
6  東京    10/2     B

【シート名】データ
   A列     B列    C列 
1  10/1     空白    6:30
2  東京      A      ?

上記の様に、貼り付けシートに貼り付けたらデータの「?」部分に"25"と表記するようにしたいんですが、上手く数式が出来ません。教えて頂きたいです。

【条件】
1.場所が"東京"
2.日付が"データA列の1行"
3.パターンが"A"
4.時間が"6:30"

この4つが条件になるように数式を組みたいです。
宜しくお願い致します。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 >4.時間が"6:30"
 >"25"と表記する
いまいち?な部分も有るけど
SUMIFS関数で出来そうな・・・?

( はまちゃん) 2020/10/03(土) 09:48


SUMIFSだと合計数なので、INDEXとかそんな感じの数式かなと思ってます。
4つの条件があった時にその部分の数字(これだと25)をシートのデータに勝手に入るようにしたいんです。
(レオン) 2020/10/03(土) 15:37

列とか行とかズレてますか?
(レオン) 2020/10/03(土) 15:47

 >SUMIFSだと合計数なので、

 例示では1件しかヒットしてないようですが
 合計ではまずいのですか?
 何件かあるんでしょうか?
(コナミ) 2020/10/03(土) 15:49

例示では東京はすべて 6:30 なので【条件】4 は不要では?

(GOTO) 2020/10/03(土) 16:10


すみません、列足らずでした。6:30以降E列7:00などに30分ごと増えます。
なので、合計というより単なる抽出です。
(レオン) 2020/10/03(土) 20:06

 東京・10/1・A・6:30の条件に当てはまるデータは複数あるの?
1つならSUMIFSなのでは?
それとも、東京・10/1・Aの条件で6:30・7:00等の条件を
「検索」するのかな?

( はまちゃん) 2020/10/03(土) 20:21


はまちゃんさん
そうですね。東京、10/1、A、6:30は1つしかないです。
東京が千葉になったり、日付も変わったり、AパターンもBパターンになったり、6:30も7:00とかになるので、色々パターンは変わります。
ど素人なので、全く理解が出来てないんですが、この場合はSUMIFSでできるんでしょうか?どんな数式ですか?
(レオン) 2020/10/03(土) 21:04

 >この場合はSUMIFSでできるんでしょうか?
 重複がなければ可能です。
 他の回答者にお任せします。
 数字(これだと25)はなにを意味するの?他の文字が入るわけないですよね。

(GOTO) 2020/10/03(土) 21:53


 シート名「貼付」・・・仮にこのようなレイアウトの場合です。

        [A]     [B]         [C]	       [D]	[E]	[F]
 [1]	場所	日付        パターン	6:30	7:00	7:30
 [2]	東京	10月1日	     A          25		
 [3]	東京	10月1日	     B                  40	
 [4]	東京	10月1日	     C
 [5]	東京	10月2日	     A                          50
 [6]	東京	10月2日	     B          60		
 [7]	千葉	10月1日	     A          30		

 シート名「データ」
 	[A]	[B]	[C]
 [1]	10月1日		6:30
 [2]	東京	A	25

 「データ」シートのC2に
 =SUMIFS(OFFSET(貼付!C1,1,MATCH(C1,貼付!D1:F1,0),9),貼付!A2:A10,A2,貼付!B2:B10,A1,貼付!C2:C10,B2)

 とするとこのようになります。
 条件に一致するデータがない場合は0が表示されます。
 「データ」でC2以外のところを変更して希望通りのデータが表示されることを確認してください。
  
(tora) 2020/10/03(土) 23:06

 >6:30以降E列7:00などに30分ごと増えます。
 これはどの列まで(何時何分まで)続くんですか?
 そこまで書いてください。

 Z列(17:30)までだとして
 揮発性関数(OFFSET)を使わないやり方

 C2 =SUMIFS(INDEX(貼付!D:Z,0,($C$1-"6:30")*48+1),貼付!A:A,A2,貼付!B:B,$A$1,貼付!C:C,B2)
 または
 C2 =SUMIFS(INDEX(貼付!D:Z,0,MATCH($C$1,貼付!$D$1:$Z$1,0)),貼付!A:A,A2,貼付!B:B,$A$1,貼付!C:C,B2)

 2つ目の式について
 貼付シート、D1セルからの時刻をどうやって入力したのか知りませんが
 演算誤差は発生しないということを前提にしています。

 以上
(笑) 2020/10/04(日) 11:37

(笑)さんありがとうございます。

情報をお伝えすると、6:30から23:30の15分間隔です。
すみません。情報遅くなりました。
(レオン) 2020/10/04(日) 19:56


 >6:30から23:30の15分間隔です。
 15分間隔? 30分ごとって言ってませんでしたか?
 D列からBT列ってこと?

 C2 =SUMIFS(INDEX(貼付!D:BT,0,($C$1-"6:30")*96+1),貼付!A:A,A2,貼付!B:B,$A$1,貼付!C:C,B2)

 ■先に回答した2つ目の式について
 貼付シートの 6:30から23:30 はどうやって入力したんですか?
 たぶん2つ目の式は、範囲を合わせてもほとんどが #N/Aエラーになるんじゃないですかね。

 その場合は・・・

 貼付シート
 D1セルに 6:30 を手入力
 E1 =TEXT(D1+"0:15","h:mm")*1  表示形式「時刻」
 E1をBT1までコピー

 そうしておけば ↓ でも
 C2 =SUMIFS(INDEX(貼付!D:BT,0,MATCH($C$1,貼付!$D$1:$BT$1,0)),貼付!A:A,A2,貼付!B:B,$A$1,貼付!C:C,B2)

 ほかに最初と話が違うところはないでしょうね。

 以上
(笑) 2020/10/04(日) 23:07

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.