• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[エクセル]複数条件を抽出する関数)

[エクセル]複数条件を抽出する関数

このQ&Aのポイント
  • エクセル初心者級です。休暇管理のエクセルシートを作成中。別シートのカレンダに全休や半休の人を抽出し、日付の下に名前を入れたい。関数で一発でできる方法を教えてください。
  • エクセル初心者級です。休暇管理のエクセルシートを作成中。別シートのカレンダに全休や半休の人を抽出し、日付の下に名前を入れたい。関数で一発でできる方法を教えてください。
  • エクセル初心者級です。休暇管理のエクセルシートを作成中。別シートのカレンダに全休や半休の人を抽出し、日付の下に名前を入れたい。関数で一発でできる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

関数なら判るのでしたら,範囲を指定して(たとえばA2:A5のように)セルの文字列を結合する関数は無い事はご存じですね。 比較的簡単な方法: 管理表の5行目など(実際は10行目でも20行目でも構いません。邪魔にならないところに)に C5: =SUBSTITUTE(TRIM(CONCATENATE(IF(C2="","",LEFT(TRIM($A2),FIND(" ",JIS(TRIM($A2)&" "))-1))," ",IF(C3="","",LEFT(TRIM($A3),FIND(" ",JIS(TRIM($A3))&" ")-1))," ",IF(C4="","",LEFT(TRIM($A4),FIND(" ",JIS(TRIM($A4))&" ")-1))))," ",",") と記入して,31日の列まで右にコピーしておきます。 式の中で使っているスペースは全て全角のスペースなので,間違えないよう注意してください。 もちろんこんなチマチマした式は入力する人には一切触って貰う必要はありませんから,行を隠すなり目に付かないところに追いやるなりシートを保護するなりして,触られないよう手はずをしておきます。 カレンダーに「日付が入る」とは,数字の1,2,3を計算で出してあるのか,それとも「年/月/日」で日付を計算させて日付の値のみ表示させてあるのか,どっちでしょうか。そこが変わると数式も変わります。 また,日付の無い(先月末と来月になる)マス目には,やはり日付を計算して条件付き書式などで目に見えない仕込みをしてあるのか,それとも式を駆使して""を計算させてあるのかどちらでしょうか。こういう違いでも,数式はイチイチ手だてを変えてやらないとまともに計算できません。 123と""で計算してあるとして: A4: =IF(A3="","",INDEX(Sheet1!$C$5:$AG$5,A3)) 右にコピー,2週目以降にコピー などのような具合で出来ます。 #メンドクサイ方法: 勿論,前段に書いたような式の組み立てを無理矢理カレンダーのA4の式の中に組み込んでも,そりゃやればできますので,もしどうしてもそうしたければチャレンジしてみてください。

sumx
質問者

お礼

お礼が遅くなり申し訳ございません。 ご丁寧にお教えいただきありがとうございました。 教えていただいた数式を駆使してみたものの なかなか思い通りのものは作れず 時間もなかったので今回は諦めることになりました。 次年度以降の課題とし よりわかりやすい表にまとめられるよう excelを使いこなす努力をしていきたいと思います。 今回は本当にありがとうございました。

関連するQ&A