
Excelについての質問です。
Excelに詳しい方もし分かれば教えていただきたいです。
本日が4月1日と仮定して
ーは空白です
シート1
商品名 商品ID 日付 4月1日 4月2日....4月8日.....etc
テレビ A10 ーーーーーーー準備ーーー出荷
冷蔵庫 B10 ーーー 準備ーーーーーーー出荷
プリンタC23ーーーーーーーーーーー準備
と下と横に続くデータから
シート2
商品名 商品名ID
テレビ A10
冷蔵庫 B10
といったように一週間後出荷とセルに記入されているデータをシート2に抽出したいと考えております。
ただ当方の知識不足でIF関数などが試行錯誤して組んでは見たものの思うように作成できず困っております。
大変申し訳ないのですが関数又はその様に抽出する方法を教えて頂けたら大変助かります。
どうぞ宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちは!
一例です。
↓の画像のような配置になっているとします。
(便宜上Sheet1の日付始まりのC1セルは「本日」の日付としています)
Sheet2のA2セルに
=IFERROR(INDEX(Sheet1!A$1:A$1000,SMALL(IF(OFFSET(Sheet1!$A$1:$A$1000,,MATCH(TODAY()+7,Sheet1!$1:$1,0)-1)="出荷",ROW($A$1:$A$1000)),ROW(A1))),"")
配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → Sheet2のA2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
最後のA2セルのフィルハンドルで列・行方向にコピーすると
画像のような感じになります。m(_ _)m


No.4
- 回答日時:
[No.3]へのコメント、
提示式中の「ROW(Sheet1!A$1:A$1000)」は少し冗長でした。
「ROW(A$1:A$1000)」に修正願います。(7文字分短くなる!)

No.3
- 回答日時:
Sheet2 において、
A2: =IFERROR(INDEX(Sheet1!A:A,SMALL(IF(OFFSET(Sheet1!$A$1,,MATCH(TODAY()+7,Sheet1!$1:$1,0)-1,1000,)="出荷",ROW(Sheet1!A$1:A$1000),""),ROW(A1))),"")
【お断り】配列数式として入力のこと。
セル A2 を右および下方にオートフィル

No.1
- 回答日時:
エクセルの関数で実現するにはハードルが高すぎると思います。
出来なくはないけど、行詰めの必要がないある場合は、if文の入れ子がかなり深くなるので、速度的にも実用的ではないと思います。行詰めに関しては、抽出した後に値として貼り付けし、並べかえを行う方法は、比較的軽くなります。
次に、1週間後の日付欄の特定ですが、アドレスを直接入力するセルを作り、indirect関数で参照されるのが簡単です。もし、日付の列も自動で作成する場合は、column関数などを使って特定し、そこにindirectで参照するといった形になるかとおもいます。
indirect関数は、特定のセルに入力されたアドレス文字列をアドレスと認識して参照してくれます。
でも、関数を使われるよりも、VBA(マクロ)を使う方が簡単にできると思いますよ。
考え方としては、4/1の欄をカレントセルとして、今日の日付+7日後の競ると一致するまで、offsetで繰り返していきます。同じセルにあたれば、今度は下方向に、出荷と書かれているのにセルかチェックし、その行の必要なデータをシート2に書き出すだけになります。
もし、マクロを使ったことがなければ、比較的簡単な処理なので、挑戦されてみるといい題材だと思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じ名前(重複)かつ 日本 ア...
-
excel
-
if関数の複数条件について
-
【画像あり】オートフィルター...
-
【マクロ】実行時エラー '424':...
-
【マクロ】数式を入力したい。...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
エクセルシートの見出しの文字...
-
エクセルでフィルターした値を...
-
【マクロ】【画像あり】4つの...
-
【画像あり】【関数】指定した...
-
エクセル GROUPBY関数について...
-
エクセルのリストについて
-
VLOOKUP FALSEのこと
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
表計算ソフトでの様式の呼称
-
エクセルに写真が貼れない(フ...
-
9月17日でサービス終了らし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報