[[20220627185819]] 『別々のシートを参照して決められた値のみ表示させ』(ミント) ページの最後に飛ぶ

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

 

『別々のシートを参照して決められた値のみ表示させたい』(ミント)

業務内容は以下のとおりです

1.貼り付け用シートにデータを貼り付ける

2.貼り付け用シートを参照して印刷用シートにデータが計算され表示される

補足:貼り付けるデータは昼勤・夜勤の両方のデータが合わさった
1日分のデータを貼り付けます

データの内訳は以下のとおりです

名前 性別 年齢 勤務
安倍 男  28 昼勤
佐藤 女  33 夜勤
伊藤 男  39 昼勤

上記のようなデータから昼勤のみ、もしくは夜勤のみを抽出して
印刷用シートに表示させたいのですが出来るのでしょうか

フォーマット自体は長年使われているのですが
中身の関数が全員ちんぷんかんぷんで分からない状況で
下手に触れません

もし可能であればマクロ等ではなく関数でお願いします
また、データは日毎に変わりますので
できれば昼勤・夜勤の部分だけ抽出して
印刷用シートに表示させたいです

拙い文章で伝わるかどうか分かりませんがよろしくお願い致します

< 使用 Excel:Excel2010、使用 OS:WindowsXP >


 データの範囲を明確にしてください。

   |[A] |[B] |[C] |[D] 
 [1]|名前|性別|年齢|勤務
 [2]|安倍|男  |  28|昼勤
 [3]|佐藤|女  |  33|夜勤
 [4]|伊藤|男  |  39|夜勤

 E列から右のセルは、何も情報なしで良いのですか?

 行の範囲は、ざっとで良いです。
 100人とか、300人とかで

 印刷用シートに
 入力規則で切り替えて昼勤、夜勤を表示させたらどうなんでしょうか?

(あみな) 2022/06/27(月) 19:33


 印刷シートには既に名前は入力されているんですか。
 入力されているとしたら VLOOKUP で出来ませんか。
(???) 2022/06/27(月) 19:48

あみな様 
コメントありがとうございます
実際には記憶が確かであればAAVまでデータがあったと思います
なのでおそらく50以上はあるかと

ただ全てのデータが入力されてる訳ではなく
空白のセルも存在します

入力規則で昼勤夜勤の表示は先人が試したそうなのですが
#N/Aになってしまうそうです
(ミント) 2022/06/27(月) 20:08


???様
コメントありがとうございます

名前は入力されておりません
あくまでも例ですので、実際は数字等が比較的多いです

また、日々変わるデータで予め入力しておくというのは難しいです
業種が製造系に近いので合格であればデータが反映される
といった具合になります

きっと合格であろうというデータを予め用意しておくのはNGだと思われます

別シートの$A$1:$A90という指定方法が可能であれば
試してみる価値はあるかもしれないのですが、
仮にデータを貼り付けた時A90以降にデータが貼り付けられたら
エラーが出てしまうのかなと思ってVLOOKUPは使っておりません
IFも考えたのですが式が調べても全く分からないので試してません

(ミント) 2022/06/27(月) 20:13


 AAVまで? それでは列が700超えちゃうですぞ!! ^^;

 AVの間違いですかね? それなら48列だから計算が合うです。

 人数は?

 >入力規則で昼勤夜勤の表示は先人が試したそうなのですが
 >#N/Aになってしまうそうです

 困ったですね。データ範囲が広いのでサンプル作って試してみます。

 と、お約束が一つありまして、昼勤&夜勤の列は
 D列が固定と言うことですね?

 つまり印刷用に

 昼勤者を抽出なら

 ↓こうなれば良いのですか?( AV列まで抽出の意で )

    |[A] |[B] |[C] |[D] 
 [1]|名前|性別|年齢|勤務
 [2]|安倍|男  |  28|昼勤

(あみな) 2022/06/27(月) 20:20


 >貼り付け用シートを参照して印刷用シートにデータが計算され表示される
 >上記のようなデータから昼勤のみ、もしくは夜勤のみを抽出して 
 >印刷用シートに表示させたいのですが出来るのでしょうか
 どちらが正しいの?
(???) 2022/06/27(月) 21:05

あみな様
コメントありがとうございます

おっしゃる通りでございます
列データは別ソフトの一覧表をいわゆるコピペで
Excelシートに貼り付けているだけですので、
列が変わる等はございません

個人的なイメージなのですが
IF関数で昼であれば表示、夜であればなにもしない
みたいな感じになると思います

(関数は全くわからないのでイメージは忘れていただいても構いません)

ちなみに人数は多い時は90
少ない時は20くらいと聞いております
よろしくお願い致します
(ミント) 2022/06/27(月) 21:30


???様
コメントありがとうございます
分かりにくくて申し訳ありません

質問の意図が読み取れないので再度ご説明致します

例:6/27 昼 6/27夜
という2つのデータが合わさった1つのデータ「6/27」が存在する

6/28昼勤 に6/27のデータをExcelシートに貼り付ける
(関数が予め組まれており貼り付けるだけでデータの詳細表が別シートに作成される)

今回やりたい事は6/27日昼勤のみのデータを貼り付け後表示したいという事になります
ですので、元々組まれている関数に更に関数を組み込むのか
それとも何か別の方法でアプローチするのか
ご教授頂けると幸いです
(ミント) 2022/06/27(月) 21:36


 >IF関数で昼であれば表示、夜であればなにもしない	
 >みたいな感じになると思います	

 ごめんなさい。IF関数は、頭悪くて使い方がわかりません^^;	
 もし私のイメージが合っているのならですが	

 「 貼付用 」シートの最終列が、AV列なら…一つ空けた AX列にでも入力規則をつくっての	
 抽出例です。入力規則はどこでも空いてればいいのですが。	

    |[AX]	
 [1]|選択	選択は、ただの文字
 [2]|昼勤	AX2セルに、入力規則で…昼勤、夜勤を選択できるようにして

 印刷用シートの1行目の見出しは、最初から入れてください。

 印刷用シートのA2セルへ	
 A2セルの式=IFERROR(INDEX(貼付用!A:A,1/LARGE(INDEX((貼付用!$D$2:$D$300=貼付用!$AX$2)/ROW(貼付用!$A$2:$A$300),0),ROW(A1)))&"","")	

 上記をAV2セルまで横に、フィルコピーする	
 次に、A2〜AV2までを、100行程度下にフィルコピーさせる	

 入力規則で、昼勤と夜勤を切替してみてください。	
 どうでしょうか?

 貼付用のシート名が違う場合は、変更してください。 (o_ _)o

(あみな) 2022/06/27(月) 21:55


こんなに早くご回答が頂けるとは思いませんでした
社用PCが会社にあるものでして
明日試してみます

やはりINDEXとかになるのですね
勉強になりました

本当にありがとうございます
(ミント) 2022/06/27(月) 22:39


ちなみになのですが
データによっては昼勤夜勤の部分が
1・2と数字になってたりするのですが
数字であってもこちらは問題なく動作するものなのでしょうか

たまに数字だと変換されてしまったりして
表記上は1だけど実際は違うよみたいなパターンに
巡り合った記憶があります
(ミント) 2022/06/27(月) 22:44


    |[A] |[B] |[C] |[D] 						
 [1]|名前|性別|年齢|勤務						
 [2]|安倍|男  |  28|   1						
 [3]|佐藤|女  |  33|   2						
 [4]|伊藤|男  |  39|   2						
 [5]|田中|男  |  44|   1						
 [6]|安藤|女  |  21|   2						

 D列を見て抽出キーワードを探しているので						
 文字でも、数値でも大丈夫ですよ。						

 今回の場合だと、AX2セルが、キーワードでございまする						
 因みに、休みが「3」であった場合に、お休みの方だけを抽出も可能です。						
 D列に入っているキーワードなら何でも抽出します。

 入力規則で

   |[AX]   
 [1]|選択 選択は、ただの文字
 [2]| 2  AX2セルに、入力規則で…昼勤「1」、夜勤「2」などと数値で選択をできるようにしてください。

 ではでは、おやすみなさい。						

(あみな) 2022/06/27(月) 23:00


 フィルターで「昼勤」か「夜勤」を抽出し、それを印刷
 これで済む話じゃないんですか? 

 ついでに言っておくと・・・
 提示された INDEX の式には最後に &"" が付いてますが
 そうすると数値データが文字列になってしまいます。

 印刷用なのでそれを使って計算することはないでしょうけど
 日付や時刻などがあったら、表示形式を変更しても「シリアル値」がそのまま表示されるでしょう。

 以上
(笑) 2022/06/27(月) 23:10

 >フィルターで「昼勤」か「夜勤」を抽出し、それを印刷
 >これで済む話じゃないんですか? 

 はい、勿論そうだと思いますが^^;

 (笑)さん教えてください。

 空白があるので、&"" ←この部分はどうしたらいいでしょうか?
(あみな) 2022/06/27(月) 23:18

 ああそうか、0 なら 表示形式で # にすればいいのか^^;

 と言うことで

 印刷用シートのA2セルへ	
 A2セルの式=IFERROR(INDEX(貼付用!A:A,1/LARGE(INDEX((貼付用!$D$2:$D$300=貼付用!$AX$2)/ROW(貼付用!$A$2:$A$300),0),ROW(A1))),"")

 &"" ←日付や時刻があれば...これなしで

(あみな) 2022/06/27(月) 23:23


たくさんのコメントありがとうございます
フィルター機能を使うと日を跨いだデータが
ソフトの都合上日付は当日の物になってしまいます
つまり6/27,24:00は6/28,0:00へ変換されてしまうようでして
勤務のみのフィルター機能ではそのあたりのデータがうまく抽出されません
ですのでこのようなわざわざ面倒くさいやり方を
有識者の方にお聞きした次第です

それで済むのなら私もそうしたかったですけどね
要領の悪い質問をしてしまって申し訳ございませんでした(笑)さん
(ミント) 2022/06/28(火) 00:06


 空白セルは、いっぱいあるのかな?				

 0 が入っちゃうので、# で見えなくしてても印刷されちゃうんかな?				
 印刷までは、よくわかりませんが				

 印刷したくない情報を消さずに非表示に「;;;」(半角のセミコロン 3 つ) で強制的にとか				
 条件付き書式で「0」を非表示に...文字色を「白」にするとかのがいいのかな^^;				

 抽出できたら、考えましょうw				

(あみな) 2022/06/28(火) 00:25


印刷用にフィルターですよ。
別セルに抽出じゃないです。
(ax) 2022/06/28(火) 08:20

今朝確認したのですが
フィルター機能を使用する事が結果的に出来ませんでした

貼り付け用シートのデータを参照して
計算する関数が組まれております

つまり前日分のデータ一覧を貼り付けすると
自動的に計算されてしまい
フィルターをかけたところで求めているデータは得られない結果となりました

1日分のデータが合算され%で示されるセルが存在するので、
おそらくその部分の関数をいじらないといけないのかもしれません

あくまでも推測ではありますが
やはり昼勤・夜勤のデータをそれぞれ抽出して
ドロップダウンリストで昼勤・夜勤を選ぶと
そのデータが反映されるような関数を組まないと
求めているデータが得られないのかと思います

作業の手順を変えてしまうとミスが起きる可能性と
別ソフトの日付変更時のデータ表示の規則等を踏まえ、
今回は昼勤・夜勤のデータをそれぞれ抽出する関数を組んでみます
ご教授頂きありがとうございました
(ミント) 2022/06/28(火) 12:43


コメント返信:

[ 一覧(最新更新順) ]


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