[[20181004162142]] 『VLOOKUPで複数結果を全て抽出・入力』(ゲスト) ページの最後に飛ぶ

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

 

『VLOOKUPで複数結果を全て抽出・入力』(ゲスト)

2度目の質問失礼します。
VLOOKUPを利用して複数の結果を全て抽出・入力したいんですが
やり方が1つも思い浮かびません。。
約30名が入力されていて、1か月間の表で〇と入力されてる人物を抽出し式で勝手に入力してもらおうとしてるんですが、1日に2〜3人〇がついてる人がおります。
その人たちを別のシートに数式で名前を全員分飛ばしたいんですけど、何かいい手はありますかね?
無知な私に皆様の知恵をお貸ししていただければ幸いです。
ご回答のほうお待ちしております。

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


 元の表のレイアウトを示してくれないか?
(ねむねむ) 2018/10/04(木) 16:51

例  1日  2日  3日  4日         1日   2日  3日   4日  

田中 〇  ×   ×  〇          田中  佐藤  鈴木  田中
                だとしたら   佐藤  山田  山田  佐藤
佐藤 〇  〇   ×  〇    →     山田          鈴木
            
鈴木 ×  ×   〇  〇

山田 〇  〇   〇  ×

これの30名・30日を式で別の表に抽出・入力したいって感じです。
わかりにくくてすみません。。
(ゲスト) 2018/10/04(木) 16:59


vlookupではないけど、
indirect("a"&small((if(b2:b32="○",row(b2:b32),"")),row(a1)))
こんな感じでいけませんか。
ctr+shift+entetrで決定
(名無し) 2018/10/04(木) 17:22

 名無しさんの式を整形すると(元のデータがSheet1にあるとして)
 =IFERROR(INDIRECT("Sheet1!A"&SMALL((IF(Sheet1!B$2:B$31="〇",ROW($2:$31),"")),ROW(A1))),"")
 だろうか?
 Shift+Ctrl+Emterを忘れずに(式が{}で囲まれればOK)
(ねむねむ) 2018/10/04(木) 17:28

 揮発性関数(INDIRECT)を使わずにやると

 A2 =IFERROR(INDEX(Sheet1!$A:$A,SMALL(IF(Sheet1!B$2:B$50="○",ROW($A$2:$A$50)),ROW(A1))),"")

 ・Ctrl+Shift+Enter で確定し、下と右にコピー
 ・表の位置が実際と違っていても、ROW(A1)のA1を変更しないように

 ・2つのシート、1行目の日付は同じ並びであるという前提
 ・例示では 〇(漢数字のゼロ)が入力されていますが
  ×に対応する丸印は ○
  〇 ではなく ○ を入力すること

 以上
(笑) 2018/10/04(木) 17:46

返信遅れてすみません!!
ねむねむ様の方法でやったら、{}で囲まれたんですけど空白のままになっちゃいます。
笑様の方法だと、○と入力されている合計人数が表示されてしまいます、ここを名前にしたいんですよね。

田中
佐藤
山田
て感じで改行もしたいです。
お返事お待ちしております。
(ゲスト) 2018/10/05(金) 09:24


 ◯に見える文字は複数あるので式中の文字と表中の文字が異なっている可能性がある。
 表中の文字をコピーして式中の文字に使ってみてくれ。
 もっとも笑さんの式でうまくいっていないのであればこちらも同様の可能性が高いが。
(ねむねむ) 2018/10/05(金) 09:34

元の表からコピーして、式にペーストしたんですけど空白なんですよね。。
(ゲスト) 2018/10/05(金) 09:46

 では実際の表のレイアウト詳細(列番地、行番地)を示してみてくれないか?
(ねむねむ) 2018/10/05(金) 09:52

ここでファイル開けますかね?
http://www.mediafire.com/file/q4jhg9gd703sbt3/%25E5%258B%25A4%25E5%258B%2599%25E8%25A1%25A8%25E3%2580%2580%25E5%25BC%258F%25E3%2580%2580%25E4%25BE%258B.zip/file
(ゲスト) 2018/10/05(金) 10:18

 あいにく現在は開ける環境になく、開けるようになるのは夜になる。
(ねむねむ) 2018/10/05(金) 10:23

なるほど。。
(ゲスト) 2018/10/05(金) 10:29

ちなみに、ねむねむさんの式のsheet1は実際のシート名に変更しないと駄目ですよ
そこは問題ないですか
エラー回避外してなんでエラーになってるのか調べれば解決するかもです
(名無し) 2018/10/05(金) 10:30

>>ここでファイル開けますかね?
DLしないほうがいいです
ウイルス感染しているとか、マイクロソフト社のページを装い
ID、PSW、入力画面が出るなど。。。アラートが噴出してブラウザ強制終了しなければ
回避出来ません。

(>_<)

興味のお有りの方はどうぞ ^^;;;
(隠居じーさん) 2018/10/05(金) 10:48


すみませんフォルダ共有が初めてで、適当に調べて出てきたものを使ってURLを貼ってしまいました。
被害を受けてしまったのなら申し訳ありませんでした。。。。
文字で説明するのが難しくてフォルダ共有ならいけるかなぁと思った自分が浅はかでした。。
(ゲスト) 2018/10/05(金) 11:17

 >○と入力されている合計人数が表示されてしまいます

 ということは名前が入力されているのが「A列」じゃないんでしょう。

 =IFERROR(INDEX(Sheet1!$A:$A,・・・・・・
                       ~~~~~
 波線部を名前の列にしていますか?

 それでもうまくいかないのなら以下の質問にお答え下さい。

 1)元データのシート名は?
 2)名前はどの列の何行目から何行目に入力されていますか?
 3)日付の列(○を入力する列)はどの列から始まっていますか?

 これぐらいのことは文字で説明できるでしょ?

 それと、実際に入力した数式をコピーして、ここに貼り付けてください。

 なお回答した数式は以下のレイアウトを前提にしています。

 【Sheet1】
	A	B	C	D	E
1		1日	2日	3日	4日
2	田中	○	×	×	○
3	佐藤	○	○	×	○
4	鈴木	×	×	○	○
5	山田	○	○	○	×

 以上
(笑) 2018/10/05(金) 11:42

ゲストさんへ
被害は有りませんでしたので。
お気遣いありがとうございます。

(隠居じーさん) 2018/10/05(金) 12:07


 1)元データのシート名は?
10月勤務表です
 2)名前はどの列の何行目から何行目に入力されていますか?
B18〜B130です
 3)日付の列(○を入力する列)はどの列から始まっていますか?
1日目E18〜E130、2日目F18〜F130っていう感じです

式をこのようにしたら名前は入力されました、ですが1名しか表示されません。
=IFERROR(INDEX('[10月勤務表.xlsx]01_2A病棟'!$B$1:$B$65536,SMALL(IF('[10月勤務表.xlsx]01_2A病棟'!E$18:E$130="○",ROW($B$18:$B$130)),ROW(A1))),"")
(ゲスト) 2018/10/05(金) 12:35


追記
1つのセルに全員分の名前を出力したいです。
何卒宜しくお願い致します。
(ゲスト) 2018/10/05(金) 12:47

 別ブックなんですか?

 しかも ↓
 >1つのセルに全員分の名前を出力したいです。
 
「改行もしたいです」とあったので、もしかしたら、とは思ってましたけど・・・

 参考までに、1つのセルにまとめるのは何のためですか?
(本当に多くて3人ならできないこともないけど面倒 ← 数式では
 それでもやる必要があるのか? ということを暗に仄めかしています)

 以上、確認だけ
(笑) 2018/10/05(金) 14:47

別ブックですね。

月間予定表というものを作らなきゃいけなくて、元々エクセルに入力してもらったデータを手打ちで月間予定表に入力していたんですけど、上の人が「これはめんどくさい!式を入力して全部自動にしよう!やってもらってもいい?」となりました。毎月手打ちで入力するよりかは、今回で(ほぼ)全自動にして後を楽にしたほうがいいかなって思ってます。

1つのセルにまとめるのは、今まで打ってきたのが1つだったので今更変えるのはなぁ。。と思っております。
できない・めちゃくちゃ難しいとなるのであれば諦めます。

めんどくさいのは慣れています、自分のスキルアップのためにもなるので。

笑様の説明が面倒、難しいということならば諦めてこれからも手打ちで入力していきます;;
(ゲスト) 2018/10/05(金) 15:07


 >1つのセルにまとめるのは、今まで打ってきたのが1つだったので今更変えるのはなぁ。。と思っております。

 1人1セル表示で何か問題あるんですか?
 手打ちしなくても済む、という改善にはなりますよね。

 一応お聞きしますけど、○が付くのは本当に「最大3人」?
 今後も増える可能性はないんですか?

 ないんだったら、こんな方法があるということぐらいは説明しますけど・・・

 以上、確認だけ
(笑) 2018/10/05(金) 16:16

1つのセルに纏めようとすると結構難しいと思う
申し訳ないけれど、そう言う関数はわからないな
力技でなんとかするならIF('[10月勤務表.xlsx]01_2A病棟'!E$18="○",[10月勤務表.xlsx]01_2A病棟'!B$18,"")
これを130まで作って&で連結するとできるかと思います
改行挟むならトゥルー条件にchar(10)を加えるとか
vba作ったほうが他の事象にも対応できて楽かもです
(名無し) 2018/10/05(金) 16:24

 丸がつくのが最大3人であれば力業としても今迄にあげられている式のROW(A1)を1、2、3にしたもの三つをつなげればいいのでは?
(ねむねむ) 2018/10/05(金) 16:32

コメント返信:

[ 一覧(最新更新順) ]


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