[[20140912195800]] 『本日分だけ☆を前に』(緑) ページの最後に飛ぶ

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

 

『本日分だけ☆を前に』(緑)

 BOOK REDのA列に日付 B列に特定の文字が5種ほど C列に数字 を入力しています。
 業務後、今までの『問い合わせ』件数とその隣の数字を報告しています。

 そこでBOOK BLUEに今までの『問い合わせ』件数とその隣の数字と
 特に今日の問い合わせの数字の前に☆を加えて表示させたいのです。
 多くても10個以上にはなりません。

 RED	A	B	    C
1|	9月11日	問い合わせ	1236
2|	9月12日		    5241
3|	9月12日	エリア	    2354
4|	9月11日		    8574
5|	9月12日	問い合わせ	2548
6|	9月12日		    1236
7|	9月11日	エリア	    5241
8|	9月12日		    2354
9|	9月12日	問い合わせ	8574
10|	9月11日		    2548
11|	9月12日		    1236
12|	9月12日		    5241
13|	9月11日		    2354
14|	9月10日	問い合わせ	9923
15|	9月9日	問い合わせ	2548

 BLUE	A	     B
1|	問い合わせ	  5
2|		    1236
3|		   ☆2548  
4|		   ☆8574  
5|		    9923
6|		    2548
7|		
8|		
9|		
10|
11|		 

 B1は=COUNTIF(C:C,"問い合わせ")
 そこでBOOK BLUEのB2:B11に入る数式を教えてください。

< 使用 Excel:2007、使用 OS:XP >

< 使用 Excel:unknown、使用 OS:unknown >


 > 今日の問い合わせの数字の前に☆を加えて表示させたいのです。

 ☆と数字を1つのセルに表示しないとダメなんでしょうか?

 ☆はA列、数字はB列と分けてもいいのでしたら

	A	   B
1	問い合わせ  5
2		   1236
3	   ☆	   2548
4	   ☆	   8574
5		   9923
6		   2548

 A1セルに「問い合わせ」と入力
 B1セルに件数を表示

 別ブックのようですが、同じファイルの別シートだとして。

 A2 =IF($B$1<ROW(A1),"",IF(INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$B$1:$B$20=$A$1,ROW($A$1:$A$20),""),ROW(A1)))=TODAY(),"☆",""))

 B2 =IF($B$1<ROW(A1),"",INDEX(Sheet1!C:C,SMALL(IF(Sheet1!$B$1:$B$20=$A$1,ROW($A$1:$A$20),""),ROW(A1))))

 どちらの式も Ctrl+Shift+Enter で確定してから、11行目までコピーしてください。
(作業列を使ってもよければ、もう少し簡単な式になります)

 A2:A11は配置を右詰めにしてください。

 なお、どちらの式にも ROW(A1) が2ヶ所出てきますが
 範囲を変更する場合も ROW(A1) はそのままにしておいてください。
 ※ROW($A$1:$A$20) は元データの範囲に合わせて下さい。

 COUNTIFを使うのでしたら、元データのファイルも開いていないと
 エラーになると思います。
 
(ウルトラマリン) 2014/09/13(土) 11:36

 (作業列を使ってもよければ、もう少し簡単な式になります)
 ウルトラマリン様
 ありがとうございます。
 作業列を使っても全然かまいません。 簡単な式になるならありがたいです。

 ※ROW($A$1:$A$20) は元データの範囲に合わせて下さい。
 → データは毎日毎日下にどんどん続くのですが、ROW(A:A)でもいいですか?
 試してもいないのに質問して申し訳りません。
 どこをどう間違っているのか...空白になるばかりで。

  COUNTIFを使うのでしたら、元データのファイルも開いていないと
 エラーになると思います。
 →あっそうなのですね。元データのファイルは開かないのです。
(緑) 2014/09/13(土) 12:14

 ・☆はA列、数字はB列と分けてもよかったんでしょうか?

 ・元データは増えていくとのことですが、最終的に何行目ぐらいまでいきそうですか?

 ・元データがどんなに増えても、該当するのは最大10件なんでしょうか?

 ・元データは見出しを除いて何行目から始まっているんですか?
  サンプルでは1行目からになっていますが、実際そうなんでしょうか?

 ・サンプルデータではうまくいきましたか?
 (A列に今日の日付を入れて試してみてください)
 
 
 元データのファイルを閉じた状態で、ということでしたら
 B1セルの件数は、COUNTIFではなく ↓ にしてみてください。

 =SUMPRODUCT((Sheet1!B1:B20=A1)*1)
 
 
 作業列を使って考えていた式は、元データのファイルを閉じた状態では
 うまくいきませんので、とりあえず上の質問にお答えください。
 
(ウルトラマリン) 2014/09/13(土) 14:06

 ウルトラマリン様

 ・☆はA列、数字はB列と分けてもよかったんでしょうか?
 →はい、分けても問題ありません。

 ・元データは増えていくとのことですが、最終的に何行目ぐらいまでいきそうですか?
 →10000行目ぐらいは行きます。

 ・元データがどんなに増えても、該当するのは最大10件なんでしょうか?
 →はい、これは過去の経験から10件を超えることはありません。

 ・元データは見出しを除いて何行目から始まっているんですか?
  サンプルでは1行目からになっていますが、実際そうなんでしょうか?
 →6行目からになります。

 ・サンプルデータではうまくいきましたか?
 (A列に今日の日付を入れて試してみてください)
 →SUMPRODUCT((Sheet1!B1:B20=A1)*1)で たった今、出来ました!! ありがとうございます。

(緑) 2014/09/13(土) 14:49


 実際のデータではうまくいかないということでしょうか?

 最大で10,000行ぐらい、少し余裕を持たせて
 元データの範囲を6行目から12,000行目までだとします。

 A2 =IF($B$1<ROW(A1),"",IF(INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$B$6:$B$12000=$A$1,ROW($A$6:$A$12000)),ROW(A1)))=TODAY(),"☆",""))

 B2 =IF($B$1<ROW(A1),"",INDEX(Sheet1!C:C,SMALL(IF(Sheet1!$B$6:$B$12000=$A$1,ROW($A$6:$A$12000)),ROW(A1))))

 どちらの式も Ctrl+Shift+Enter で確定して、11行目までコピーしてください。
 
 
 ↓ の式は普通にEnterだけで確定です。

 B1 =SUMPRODUCT((Sheet1!B6:B12000=A1)*1)
 
(ウルトラマリン) 2014/09/13(土) 15:43

 ウルトラマリン様 こんばんは
 ありがとうございました。
 連休明けになりますが、実際に職場で使えるのがとても楽しみです。

(緑) 2014/09/13(土) 21:53


 B列に☆をつけちゃう案。

 B1 =IFERROR(INDEX(REPT("☆",RED!A$1:A$100=TODAY())&RED!C$1:C$15,SMALL(INDEX((RED!B$1:B$100<>"問い合わせ")*10^16+ROW(RED!A$1:A$100),),ROW(A1))),"")

 下へコピー。
 
(GobGob) 2014/09/15(月) 09:11

 レイアウト間違い。

 B1 =COUNTIF(RED!$B:$B,A$1)
 B2 =IF(B$1<ROW(A1),"",INDEX(REPT("☆",RED!A$1:A$100=TODAY())&RED!C$1:C$15,SMALL(INDEX((RED!B$1:B$100<>A$1)*10^16+ROW(RED!A$1:A$100),),ROW(A1))))

 B2を下へコピー
 
(GobGob) 2014/09/15(月) 09:14

 お世話になります。

 本日いろいろ提案したところ日付もほしいとの要望に接しました。
 数式の意味が分からないためまったくどのようにしていいのか...わかりません。
 恐れ入りますが、A2:A11に日付も表示させたいのですが教えていただけますか?

 BLUE	A	     B
1|	問い合わせ	  5
2|	9月11日	    1236
3|	9月12日	   ☆2548  
4|	9月12日	   ☆8574  
5|	9月10日	    9923
6|	9月9日	    2548
7|		
8|		
9|		
10|
11|		 
(緑) 2014/09/18(木) 20:30

こんなかな?

A2=IF(B$1<ROW(A1),"",INDEX(Red!A$1:A$15,SMALL(INDEX((Red!B$1:B$100<>A$1)*10^16+ROW(Red!A$1:A$100),),ROW(A1))))

結果はつぎのとおり

 RED	A	B	    C
1|	9月17日	問い合わせ	1236
2|	9月18日		    5241
3|	9月18日	エリア	    2354
4|	9月17日		    8574
5|	9月18日	問い合わせ	2548
6|	9月18日		    1236
7|	9月16日	エリア	    5241
8|	9月18日		    2354
9|	9月18日	問い合わせ	8574
10|	9月15日		    2548
11|	9月18日		    1236
12|	9月18日		    5241
13|	9月15日		    2354
14|	9月17日	問い合わせ	9923
15|	9月18日	問い合わせ	2548

 BLUE	A	     B
1|	問い合わせ	  5
2|	9月17日	    1236
3|	9月18日	   ☆2548  
4|	9月18日	   ☆8574  
5|	9月17日	    9923
6|	9月18日	   ☆2548

(ryopo^2) 2014/09/18(木) 21:21



はGobGobさんの 2014/09/15(月) 09:14で提示した式をちょっと手直ししたものです。

(ryopo^2) 2014/09/18(木) 21:25


 こんばんは 使わせてください!

 ウルトラマリンさま GobGobさま ryopo^2さま
 ありがとうございました!!
(緑) 2014/09/18(木) 22:23

コメント返信:

[ 一覧(最新更新順) ]


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