advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 13158 for 日付 (0.003 sec.)
[[20100713014944]]
#score: 2423
@digest: 427a2459782f8d5731bcec92ee08158a
@id: 50471
@mdate: 2010-07-15T00:37:08Z
@size: 8807
@type: text/plain
#keywords: myyear1 (56447), 2010data (42959), myyear2 (42959), myfind2 (27437), myfind1 (27437), 索> (26829), myday2 (25864), myday1 (25546), 績", (14067), 績| (11394), 付", (11046), 索実 (10271), 実績 (7554), 付- (7407), 付| (6830), 索") (5971), 各日 (5662), 準値 (4283), 年", (3397), 月13 (3201), 類似 (3023), 当日 (2852), 2009 (2626), 日付 (2499), 付デ (2175), 増減 (2159), ト・ (2156), 準備 (2020), 以内 (2001), 今年 (1983), 年度 (1911), 週間 (1787)
『類似した値を検索したい』(みっひー)
'09/1/1 100 '09/1/2 130 '09/1/3 185 '09/1/4 110 ・ ・ ・ という昨年度の実績のデータがあり 他方で '10/1/1 101 '10/1/2 103 '10/1/3 200 ・ ・ という今年度のデータがあるのですが,類似するデータをすばやく検索して表示させるにはどうしたらよいのでしょうか。 「各日付ごとに,(年度は無視して)1週間以内の幅で,差が〇〇以内の実績があればそれを表示する」というふうにしたいのですけれど。 たとえば,今年の7月13日に150の実績が上がったとして,昨年の7月6日から7月20日までの間に,145〜155くらいの実績が上がったところはないかな〜,という感じです。 7月13日の分だけならむりやりifとかの関数を並べて何とかなるかもと思うのですが,これを今年の1月1日から全部の日についてやるとなると初心者の私にはお手上げです(^_^;)。 エクセルは2003です。 ---- Pivotで行に日付、列にデータ項目、データにデータを個数等でセットして、 列のところで見たいデータを選択する(たとえば145から155のみ選択する)と、 該当日付がわかるのですが、いかがですか? (こだぬき) ---- ありがとうございます。 ただ、その方法だと「7月13日の実績は150だったから145から155まで選択して、次には7月14日の実績が170だったから165から175まで選択して」とか手作業でやらないといけないのかな。そこはあきらめるしかないんですかね。(^^;) (みっひー) ---- 回答ではありません、 データの日付は昇順になっているのでしょうか? また、日付に抜けている日は無いのでしょうか >(年度は無視して)1週間以内の幅で データは複数年分あるのでしょうか? 1週間とは 厳密に考えるのでしょうか ・該当日が存在しない(2/29)の場合どのような範囲になるのでしょう ・前年度の場合 各日付の372前から358日前の範程度でいいのでしょうか >類似するデータをすばやく検索して表示させるにはどうしたらよいのでしょうか 有り、無しがわかればいいのでしょうか 該当日が複数の場合、すべての日にちを表示するということでしょうか 質問ばかりですいません、質問の返事によって回答も変わりますのであしからず 参考までに =SUMPRODUCT((A1:A10>各日付-372)*(A1:A10<各日付-358)*(B1:B10>実績-5)*(B1:B10<実績+5)) でおおよその該当日数が出ます By しげちゃん ---- >Pivotで行に日付、列にデータ項目、データにデータを個数等でセットして、 >列のところで見たいデータを選択する(たとえば145から155のみ選択する)と、 >該当日付がわかるのですが、いかがですか? Pivotで設定した日付を週単位で見るというのは? http://www.relief.jp/itnote/archives/002672.php (うっかりさん) ---- ウェブ環境のない(もうすぐ出来るかも・・;)職場に異動してきて、、 仕事の合間に時間があったので、トライしてみました。。だけど、もう見てないかなぁーー? バックアップをとってから実行してみて。。 <Sheet1>シート・・・検索対象範囲(過去の実績分) | A | B | 01|日付 |実績| 02|2009/9/1| 107| 03|2009/9/2| 108| 04|2009/9/3| 105| 05|2009/9/4| 136| 06|2009/9/5| 145| 07|2009/9/6| 141| 08|2009/9/7| 116| 09|2009/9/8| 131| 10|2009/9/9| 107| <2010data>シート・・・(現在のシート)検索日または実績を選択し、「ダブルクリック」する。。 | A | B | 01|日付 |実績| 02|2010/9/1| 107| 03|2010/9/2| 108| 04|2010/9/3| 105| 05|2010/9/4| 136| 06|2010/9/5| 145| 07|2010/9/6| 141| 08|2010/9/7| 116| <検索>シート・・・検索条件を手入力し、抽出する。。 | A | B | C | D | 01|開始年 |2009|日付 |実績| 02|終了年 |2011|2009/9/4 | 136| 03|開始日付|9/3 |2009/9/6 | 141| 04|終了日付|9/17|2009/9/10| 139| 05|基準値 | 139|2009/9/16| 139| 06|増減 | 5|2009/9/17| 138| 07| | |2010/9/8 | 135| 08| | |2011/9/6 | 134| <<下準備>> ↓ 1.<Sheet1>と<2010data>の日付データが→ '09/1/1 となっていると、「シリアル値」でなく「文字列」なので、 月をまたがった時などの、日付の計算が出来ません。。 2.上記の2つのシートで、それぞれ日付データの入っている "A列" を列ごと選択して、 メニューの「データ」→「区切り位置」→そのまま「次へ」→そのまま「完了」をクリックすると、「シリアル値」になります。 3.日付データの表題(A1)を "日付" と入力する。。 4.右隣の数値の表題(B1)を "実績" と入力する。。 <<運用>> 1.<2010data>の画面で、下記の「準備」マクロを実行します。 2.<2010data>の右側に<検索>のシートが作成されます。 3.<検索>B1〜B6を直接入力して、「検索実行」マクロを実行すると、その結果がこのシートに反映されます。 ここで、みっひーさんの希望する「仕様」どおりに運用するなら、、 ※ <検索>シートが出来上がった状態で ※ <2010data>の "A列またはB列" のデータ内を「ダブルクリック」すると、、 <検索>B1〜B6には、、 "年"は<Sheet1>のすべてのデータの範囲で、→つまり、ここには過去何年分もデータを蓄積できる。。 "日付"は"+-7日"を指定、 "基準値"は「ダブルクリック」した値、 "増減"は "5" と条件を設定して、抽出を実行します。。 下記のコードをデータの入っている<2010data>のシートモジュールに貼り付けて、、 ↓ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim myYear1 As Long Dim myYear2 As Long If Not Intersect(Target, Range("A:B")) Is Nothing Then Cancel = True With Sheets("Sheet1") myYear1 = WorksheetFunction.Min(.Range("A:A")) myYear2 = WorksheetFunction.Max(.Range("A:A")) End With With Worksheets("検索") .Range("B1").Value = Year(myYear1) .Range("B2").Value = Year(myYear2) .Range("B3").Value = Month(Cells(Target.Row, 1).Value - 7) & "/" & Day(Cells(Target.Row, 1).Value - 7) .Range("B4").Value = Month(Cells(Target.Row, 1).Value + 7) & "/" & Day(Cells(Target.Row, 1).Value + 7) .Range("B5").Value = Cells(Target.Row, 2).Value .Range("B6").Value = 5 End With End If Call 検索実行 End Sub さらに、下記のコードを標準モジュールに貼り付けて、、 ↓ Sub 準備() Dim myWS As Worksheet For Each myWS In Worksheets If myWS.Name = "検索" Then Application.Goto Reference:=Worksheets("検索").Range("B1"), scroll:=False Exit Sub End If Next myWS Worksheets.Add After:=ActiveSheet ActiveSheet.Name = "検索" Range("A1:A6").Value = WorksheetFunction.Transpose([{"開始年","終了年","開始日付","終了日付","基準値","増減"}]) Range("C1:L1").Value = [{"日付","実績","","日付","日付","実績","実績","","日付","実績"}] Range("B3:B4").NumberFormatLocal = "@" Range("F:L").EntireColumn.Hidden = True Range("B6").Value = 5 Range("B1").Select End Sub Sub 検索実行() Dim i As Byte Dim myFind1 As Byte, myFind2 As Byte Dim myYear1 As Integer, myYear2 As Integer Dim myDay1 As String, myDay2 As String Worksheets("検索").Activate myYear1 = Range("B1").Value myYear2 = Range("B2").Value myDay1 = Range("B3").Value myDay2 = Range("B4").Value myFind1 = WorksheetFunction.Find("/", myDay1) myFind2 = WorksheetFunction.Find("/", myDay2) If Range("C2").Value <> "" Then Range(Range("C2"), Range("C" & Rows.Count).End(xlUp)).Resize(, 2).Value = "" End If Range("H2").Value = ">=" & Range("B5").Value - Range("B6").Value Range("I2").Value = "<=" & Range("B5").Value + Range("B6").Value For i = 1 To myYear2 - myYear1 + 1 Range("F2").Value = ">=" & myYear1 + i - 1 & "/" & Mid(myDay1, 1, myFind1 - 1) & "/" & Right(myDay1, Len(myDay1) - myFind1) Range("G2").Value = "<=" & myYear1 + i - 1 & "/" & Mid(myDay2, 1, myFind2 - 1) & "/" & Right(myDay2, Len(myDay2) - myFind2) Sheets("Sheet1").Columns("A:B").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("F1:I2"), CopyToRange:=Columns("K:L"), Unique:=False If Range("K2").Value <> "" Then Range(Range("K2"), Range("K" & Rows.Count).End(xlUp).Resize(, 2)).Copy Cells(Rows.Count, 3).End(xlUp).Offset(1) End If Next i Range("B5").Select End Sub ↑ もし、過去のデータの入っているシート名が "Sheet1" でなく他の名称だったら、ここから上に8行目の Sheets("Sheet1").Columns("A:B")→ Sheets("その名称").Columns("A:B")に変更!! ^^^^^^ ^^^^^^^^ さらに、最初のシートモジュールの上から6行目の With Sheets("Sheet1")→ With Sheets("その名称")に変更!! すべて貼り付けたら、「準備」マクロから実行してみて。。 ^^^^^^ ^^^^^^^^ (kei) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201007/20100713014944.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97035 documents and 608021 words.

訪問者:カウンタValid HTML 4.01 Transitional