- ベストアンサー
エクセルである項目と時間内での紐付け
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! ↓の画像のように左側がSheet1・右側がSheet2とします。 Sheet1のC2セルに =IFERROR(INDEX(Sheet2!C$1:C$1000,MATCH(MAX(IF((Sheet2!A$1:A$1000=A2)*(Sheet2!B$1:B$1000<B2),Sheet2!B$1:B$1000)),Sheet2!B$1:B$1000,0)),"") これは配列数式になりますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → Sheet1のC2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをフィルハンドルで下へコピーすると 画像のような感じになります。 ※ とりあえずSheet2の1000行まで対応できる数式にしていますが、 データ量が極端に多い場合はおススメできません。 (3000行程度であれば大丈夫だと思います。)m(_ _)m
その他の回答 (1)
- lv4u
- ベストアンサー率27% (1862/6715)
回答No.1
やりたいことが、よくわかりませんけど、VBAのプログラムを作成しましょう。 手作業でやっていることを、そのままプログラムで表現すればいいだけです。 人間の手でやれば、膨大なデータと思えても、プログラムでやれば、たぶん1分以内で終わるでしょう。 ただし、プログラムの作成に、3,4日とか、質問者さんの能力しだいで、もっとかかるかもしれませんけど・・・。
お礼
そのIFとMAXの使い方が思いつきませんでした! ありがとうございます。