advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 779 for シリアル値 とは (0.008 sec.)
シリアル値 (1875), とは (29356)
[[20070929004937]]
#score: 8288
@digest: c7c1f58d9a998e621cc83d8e942cc0bc
@id: 33480
@mdate: 2007-10-02T11:52:24Z
@size: 10992
@type: text/plain
#keywords: sisimaru (44989), mywek (29993), 正・ (10436), 号日 (8579), ・追 (8469), 曜日 (8301), ャモ (8226), 除・ (7193), ・削 (6271), 力シ (6088), 水曜 (5207), myary (4632), 日", (4522), 転送 (3919), 名2 (3289), (水 (3230), 品名 (2600), 日) (2578), 商品 (2521), モン (2370), mystr (2340), 月曜 (2190), イチ (1897), リキ (1823), イミ (1702), キリ (1696), 日」 (1623), ミン (1605), 日付 (1605), 感動 (1590), 訂正 (1554), 別シ (1479)
『別シートへの振り分け』(SISIMARU)
いつも勉強させてもらってます。 質問ですが、下記のような入力シートに入力すると、別シート(sheet2以降)にどんどん振り分けするようなことは、エクセルでは可能でしょうか? どうぞどなたか教えて頂けませんでしょうか。よろしくお願いしますm(__)m {SHEET1(入力シート)} A B C 1 番号 日付(曜日) 商品名 2 1 9/28(金) みかん 3 2 9/26(水) いちご 4 3 9/26(水) りんご 5 4 9/29(土) ぶどう 6 5 9/28(金) いちご 7 6 9/29(土) みかん ・ ・ ・ ・ ・ ・ {SHHET2(水曜日)} A B C 1 番号 日付(曜日) 商品名 2 2 9/26(水) いちご 3 3 9/26(水) りんご {SHHET3(金曜日)} A B C 1 番号 日付(曜日) 商品名 2 1 9/28(金) みかん 3 5 9/28(金) いちご {SHHET4(土曜日)} A B C 1 番号 日付(曜日) 商品名 2 4 9/29(土) ぶどう 3 6 9/29(土) みかん ---- >入力シートに入力すると、別シート(sheet2以降)にどんどん振り分けするようなことは、 >エクセルでは可能でしょうか? 入力シートに入力されたデータを訂正・削除・追加した場合には、どのような処理を? ”どんどん”と言う点を具体的にされては? (元夏バテ) ---- 曜日ごとに振り分けたいと言うことですね。 sheet1(入力シート)のB列の日付の入力は、シリアル値ですか?文字列ですか? (SHIOJII) ---- 返信ありがとうございます。 sheet1(入力シート)のB列の日付の入力は、シリアル値です。 もし、文字列の方が作りやすければ、文字列に変更しようと思います。 また、訂正・削除・追加の場合も、別シートに反映されるようにしたいのです。 よろしくお願いします。 (SISIMARU) ---- >また、訂正・削除・追加の場合も、別シートに反映されるようにしたいのです。 このタイミングも、 >入力シートに入力すると、別シート(sheet2以降)にどんどん振り分けするようなことは、 これなのでしょうか? データの入力完了後(訂正・削除・追加等々含む)に実行するのか?、上記タイミングで実行するのかで 変わってくるかと思いますけど。 (元夏バテ) ---- いろいろ条件がありますが ピボットテーブルを使ってみるのはどうでしょう。 http://www.excel.studio-kazu.jp/lib/e2d/e2d.html 「確認だけなら、一つのシートでいいでしょ?」 と言うスタンスですので、表示用のシートを 1枚作り、そこへSheet1の内容を 曜日を切り換えて表示します。 D列に作業列を作り、曜日をテキストで表示させます。 D1に見出しとして、「曜日」と入力 D2 =TEXT(B2,"aaa") として、下にコピー。 ピボットテーブルを作成する際、範囲は列で指定し 新しいワークシートへ作成して下さい。 ページのフィールド に「曜日」 行のフィールドに「番号」「日付」「商品名」 データアイテムに 任意の一つ(どれでも良いです) をドラッグします。 それぞれ合計行が表示されるので右クリックで 非表示として下さい。 (空白)も非表示。 D列にデータアイテムに入れたアイテムでの集計結果が 表示されていると思いますが、これは必要ないので 列を選択して、非表示にして下さい。 ページのフィールドで表示したい曜日を選ぶと その曜日だけの情報が表示されます。 Sheet1の内容を変更した場合は[!]を押して データの更新を行って下さい。 どうしても7枚に分けたいんだ!! って場合は、7枚分つくっても良いですが 7枚分データの更新をする必要がありますので その点はご理解下さい。 (HANA) ---- 数式で作成してみました。 Sheet2(水曜日) A B C D 1 番号 水曜日 商品名 2 2 9月26日(水) いちご 3 3 9月26日(水) りんご 3 4 4 B1セルには 4 と入力してユーザー定義 aaaa とします。 D2=IF(WEEKDAY(Sheet1!B2)=$B$1,ROW(),"") 必要分、下へフィルコピーしておきます。 A2=IF(COUNT($D$2:$D$100)<ROW(A1),"",INDEX(Sheet1!$A$1:$A$100,SMALL($D$2:$D$100,ROW(A1)))) 必要分、下へフィルコピーします。 B2=IF(A2="","",VLOOKUP($A2,Sheet1!$A$2:$C$100,COLUMN(B1),FALSE)) C2へコピー、B2:C2を選択しておいて必要分、下へフィルコピーします。 Sheet3にコピペしてB1を 5 とすれば木曜日分が抽出されます。 ※作業列(D列)を使用しない場合は配列数式とします。 A2{=IF(SUM(IF(WEEKDAY(Sheet1!$B$2:$B$100)=$B$1,1,0))<ROW(A1),"",IF(2<ROW(A1),"",INDEX(Sheet1!$A$1:$A$100, SMALL(IF(WEEKDAY(Sheet1!$B$2:$B$100)=$B$1,ROW($A$2:$A$100)),ROW(A1)))))} Ctrl + Shift + Enter で確定します。{式}の形になります。 B2,C2は上記記述と同じです。(100行までとしましたが、必要に応じ1000,或いは10000としてください。(gon-2) ---- いまいち、理解しきれていないかもしれませんが。。。 入力シートの、シートモジュールへコピペ '---------------- Public MyB As Variant Private Sub Worksheet_SelectionChange(ByVal Target As Range) MyB = Range("A1:C" & Range("B" & Rows.Count).End(xlUp).Row) End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim MyA As Variant, MyAry() As Variant Dim MyStr As String, MyWek As String Dim i As Long, n As Long If Intersect(Target, Range("A:C")) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub MyA = Range("A1:C" & Range("B" & Rows.Count).End(xlUp).Row) ReDim MyAry(1 To UBound(MyA, 1), 1 To 3) If UBound(MyB, 1) < Target.Row Or Target.Column <> 2 Then If Len(Range("B" & Target.Row)) = 0 Then Exit Sub MyWek = Format(MyA(Target.Row, 2), "aaaa") MyStr = MyA(Target.Row, 2) Else MyWek = Format(MyB(Target.Row, 2), "aaaa") MyStr = MyB(Target.Row, 2) End If With CreateObject("VBScript.RegEXP") .Pattern = "^(¥d{2,4})/(¥d{1,2})/(¥d{1,2})$" If Not .Test(MyStr) Then Exit Sub If Not IsDate(Right$("20" & .Replace(MyStr, "$1"), 4) & "/" & .Replace(MyStr, "$2") & "/" & .Replace(MyStr, "$3")) Then _ Exit Sub End With MyAry(1, 1) = "番号" MyAry(1, 2) = "日付(曜日)" MyAry(1, 3) = "商品名" n = 1 For i = 2 To UBound(MyA, 1) If MyWek = Format(MyA(i, 2), "aaaa") Then n = n + 1 MyAry(n, 1) = MyA(i, 1) MyAry(n, 2) = Format(MyA(i, 2), "m/d (aaa)") MyAry(n, 3) = MyA(i, 3) End If Next i With Worksheets(MyWek) .Cells.ClearContents .Range("A1").Resize(UBound(MyAry, 1), 3) = MyAry() End With End Sub シート構成は 「入力シート」 「月曜日」 「火曜日」 「水曜日」 「木曜日」 「金曜日」 「土曜日」 「日曜日」 の内容で作成済みとしています。 (キリキ)(〃⌒o⌒)b もうご覧になってないかもしれませんが、、、 少し、修正してみました。10/2 0:15 再度修正 10/2 1:17 ---- 皆様、返信頂き本当にありがとうございます。 HANAさんへ。ピボットテーブルを使った方法ですが、教えていただいて いるとおり、データの更新で少し手間を感じますので、その都度、データを 更新(反映)したいと思っています。 gon-2さん、配列数式ですよね。。式が理解できなくて。。でも、そのまんま やってみるとできました!!すごいです!!感動しました! キリキさん、VBAやってみましたが、インデックスが有効範囲にありません {MyWek = Format(MyB(Target.Row, 2), "aaaa") }となってしまいました。 正直、中身が解読できません。 もう少し勉強してみますが、VBAは本当に苦手です。難しい(××) いずれにせよ、データを自動でふりわけて、ふりわけたデータが ふりわけ先で足されていくー(言葉が変ですが)という作業は、 データベースソフト(アクセスみたいな)ものでないとできないと思い込んでいました。 エクセルの奥の深さに改めて感動しました! またよろしくお願いします。(SISIMARU) ---- キリキさん、ありがとうございます。 書き込んでしばらくしたら、上にあがっているので、驚きました! で、修正して頂いたものを早速検証してみたら、いや、ほんとスゴイですね。 またまた感動しました! 商品名のところが転記されてこない場合があるのですが、それ以外は完璧です。 商品名について、各曜日で2品目〜が入力されると、その前の商品が表示されます。 (例えば月曜日にNo.1とNo.5とNo.9が入ってくると、No.1とNo.5の商品名は 表示されますが、No.9に関しては番号と日付のみ表示されます) もし分かれば又、教えてください。(SISIMARU) ---- >商品名のところが転記されてこない場合があるのですが、それ以外は完璧です。 そうですか^^; 一応、日付を入力したタイミングで転記してますので、商品名が入った状態で日付を入れたタイミングで 動くように考えてました。 一応、再度修正しましたので、時間があるときに試してみてください^^ (キリキ)(〃⌒o⌒)b ---- 下から失礼します〜。 これはそのシートを開いた時に最新のデータを転送します。 再修正はしとりまへんので、時間のあるときに試してみてください^^ (弥太郎))(〃⌒o⌒)b あ、これはThisWorkbookにコピペです。 '------------ Option Explicit Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim i As Long, j As Long, tbl, x, ary ary = Array("月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日", "日曜日") If IsError(Application.Match(Sh.Name, ary, 0)) Then Exit Sub ReDim x(1 To Rows.Count, 1 To 3) With Sheets("sheet1") tbl = .Cells(2, 1).Resize(.Cells(Rows.Count, 1).End(xlUp).Row - 1, 3) For i = 1 To UBound(tbl, 1) If Format(tbl(i, 2), "aaaa") = Sh.Name Then j = j + 1 x(j, 1) = tbl(i, 1) x(j, 2) = tbl(i, 2) x(j, 3) = tbl(i, 3) End If Next i End With Cells.ClearContents Range("a1").Resize(, 3) = Array("番号", "日付(曜日)", "商品名") If j Then Range("a2").Resize(j, 3) = x Range("b:b").NumberFormat = "m/d(aaa)" End If End Sub ---- ちぇっく、ちぇっく〜 >また、訂正・削除・追加の場合も、別シートに反映されるようにしたいのです。 こんなこといってまっせw ししょ〜のんは、日付を消したときに反映はしまへんなw な〜んてb こんな方法は、思いつかなかった。。。 勉強になりました^^ (キリキ)(〃⌒o⌒)b ---- え〜〜〜? 日付を消すとはSheet1の日付の事でっしゃろ?(ネ、SISIMARUはん) 従ってその行は転送不要のデータに(曜日を検索しての条件)なりますから 当然転送データに含まれまへんのんではないんではないんでせうか?(笑 つまり、そのシートがアクチブになったらシート1の全ての情報を当該シートに転送 すればえぇんではないのではないのでせうか? ガハハ、ヒックの(弥太郎) ---- >日付を消すとはSheet1の日付の事でっしゃろ?(ネ、SISIMARUはん) はい。そう思っとります。 Sheet1 の、日付を削除。(仮に 月曜日) その曜日が1個しかなかったとします。 それを消しちゃったら。。。 今日は休みで、もう呑んでる(キリキ)(〃⌒o⌒)b ---- あ、これは正しくイチャモンや^^ 当方20000データでこのイベントが耐えるに値する処理時間かどうかを念頭にお いておりましたもんで、データが無いなんぞは考えてもおりまへんでしたワ。 しゅうせぇしときましたんで、イチャモンつけてみなはれ^^ (弥太郎)(〃⌒o⌒)b ↑ の顔につばすると、(〃⌒o⌒)b にかかる、ヒヒヒ ---- バッチリですb >しゅうせぇしときましたんで、イチャモンつけてみなはれ^^ つけたくても、ありまへん! つばはかけんとってくださいw (キリキ)(〃⌒o⌒)b ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/200709/20070929004937.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97065 documents and 608342 words.

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