有休管理エクセルを現在、作成しています。
添付画像はシステムでCSV出力したのを貼り付けたものです。有休の取得日・付与・失効など個人の有休に関する情報が全て出てくるようになっています。(この方法でしか出力できません)
これを取得日のみ個人ごとに別シートにもってきたいので、添付画像のD列に取得日のみ表示するようにしています。
ここで、別シートには行に社員番号・氏名、列に取得日を追加していく形で作成したいので、
ピポットテーブルを使って試してみようと思ったのですが、画像のように出力したデータは例えば同一人物が2日有休を取得していると2行同じ名前が出てきます。(C列参照)
この場合、ピポットテーブルでの集計は難しいのでしょうか?(初心者です)
No.1
- 回答日時:
「ピボットテーブルとして参照する表を作る」という下処理が必要ですが、可能ですよ。
その下処理をピボットテーブルで作りたいという事であれば、無理です。不可能です。使い方を間違っています。
ひょっとして、これをやりたいのかな?
https://oshiete.goo.ne.jp/qa/11884211.html
であれば回答した手前、ちゃんと説明しますよ。
そうなんですね。
私自身、ピポットテーブルをよく分かっていなく。。
そうです!同じ質問者です。
これがいまだに解決できていないので、もしお分かりになればご教受いただきたいです。
No.3
- 回答日時:
「実現したいこと」は、下の図のようなことでしょうか?
もしもそうであるならば、関数だけでは難しいと思います。
また ピボットテーブルやクエリでも、?? です。
マクロならば、次のようなコードでも、なんとかなりますが、
目的が違えば、このようなコードは役に立ちません。
Sub 転記用のマクロの例()
Worksheets("管理用").Activate
Set CPP = Worksheets("コピペ")
For i = 2 To 50 ' 2はデータのある最初の行番号 50はデータのある最大範囲の行番号
取得日 = CPP.Cells(i, 4)
If 取得日 <> "" Then ' 4は D列に取得日があるので 4列目の意味
社員ID = CPP.Cells(i, 2) ' 2は B列に社員IDがあるので 2列目の意味
' 続いて、「管理用」のシートで、その社員IDのある行を見つけます
行 = WorksheetFunction.Match(社員ID, Range(Cells(1, 2), Cells(500, 2)), 0)
' Cells(1, 2)はB列1行目。Cells(500, 2)はB列500行目の意味です
' これで「管理用」のシートB列の1行目~500行目のどの行に、該当社員IDがあるかになります
' 続いて、「管理用」のシートのどの列まで既得取得日が帰任されているかを見つけます
' なお、105列目(DA列)より右の列は何かに使っていて
' 取得日を記入数することに使える列は、AM(39列目)~CZ(104列目)とします。
' 取得日の記録がこの区間に入りきらない場合のことは、ここでは対処してません)
列 = 39 + WorksheetFunction.CountA(Range(Cells(行, 39), Cells(行, 104)))
Cells(行, 列) = 取得日
End If
Next
End Sub
No.5
- 回答日時:
まず、下準備として、「並べ替え順」の「ユーザー設定リスト」へ新規に
「4月,5月,6月,7月,8月,9月,10月,11月,12月,1月,2月,3月」
と、”年度” で並べるための設定を追加してください。
初期設定では、
「1月,2月,3月,4月,5月,6月,7月,8月,9月,10月,11月,12月」
と、”年単位” での設定になるので、のちのち表示がめんどくさくなります。
[オプション] → [詳細設定] →(一番下までスクロール)「全般」の「ユーザー設定リストの編集」
です。
No.6
- 回答日時:
半年分のダミーデータを用意します。
これをやらないと、ピボットテーブルでフィールドを指定する時に
フィールド項目に「四半期」「年」が追加されるだけで「月」が出てきません。
先に「月」単位でのフィールドを追加させるためにダミーを用意します。
(他に便利なやり方があるかもしれませんが、自分は知らないのでダミーを用意しました)
データの範囲には「列」で指定してください。
添付した画像では A列 から C列 を指定しています。
なお、説明のために「既存のワークシート」にテーブルを作成していますが、
「新規ワークシート」に作成しても構いません。
No.7
- 回答日時:
ピボットテーブルを挿入したら、フィールドの設定です。
「名前」「従業員No.」「有給取得日」の項目にチェックを付けてください。
この3つにチェックを付けると自動で「月」の項目が追加されますので、ここにもチェックを付けましょう。
No.8
- 回答日時:
続いてA列からC列に実際のデータを貼り付けてください。
貼り付けたら、ピボットテーブルを右クリックして「更新」を選んでください。
続いて「従業員No.」順に並べ替えます。
「従業員No.」の列の一番上のセルを選択。
「行ラベル」のセルにあるボタンをクリック。
「昇順」を選択。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 単価シートから単価をエクセル関数で自動取得する方法 1 2023/07/02 22:00
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Excel(エクセル) Excelシフト表 固定シフトの自動変換化 1 2022/04/14 16:10
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- その他(ビジネス・キャリア) 有給休暇トラブル 3 2023/02/05 15:09
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) ハイパーリンク で『指定されたファイルを開くことが出来ません』 3 2023/04/25 18:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
画像添付し忘れてました。。
銀鱗様
とてもご丁寧に分かりやすく教えていただき、本当にありがとうございます!!
ただ一点うまくいかないところがあり。。
実際のデータを手順通りに貼り付けた際に、列ラベルにあった「月」がなくなってしまったのですが何故でしょうか。