質問: excel 別シートを参照して表の作成 画像参照をお願いします。 sheet2:1つのテーブルには職種(b列)・等級(c列)・基本給(d列)が一覧になっています。 sheet3:もう1つのテーブルには職種ごとの各等級の号俸と基本給が一覧になっています。 sheet2の職種・等級・基本給をもとに、sheet3を参照して新しい号俸・基本給をe列・f列に表示させたいです。 (画像では手作業で赤字で入力しました) <ルール> 1職種・等級の変更はしない。 2基本給は、sheet2と同額とする。同額がない場合は、すぐ上の近似値とする。 3sheet2の基本給がsheet3の表から上回っている場合は、5号俸の基本給とする。(四郎・五郎のパターン) 必要であれば、表の並び方等の組み替えは可能です。 よろしくお願いいたします。
回答: こんにちは 画像がよく見えないのではっきりしませんが、基本的にはmatch、indexで検索すれば良いパターンだと思われます。 「直上近似値」の条件からすると、表を降順にしておいた方がmatch検索と相性が良いです。 「営業」と「事務」は参照する表が変わるだけなので、ifで判別して別の式にするか、あるいは、似たような式なので表の参照先を入れ替えれば済むでしょう。 考え方の例として、片方のみの例ですが... (例示のうちの事務部分だけ。シートも一つにしてあります。) 添付図では、j2セルに =index(a$3:a$7,iferror(match(i2,offset(a$3,,match(h2,b$2:d$2,0),5),-1),1)) i2セルに =index(b$3:d$7,iferror(match(i2,offset(a$3,,match(h2,b$2:d$2,0),5),-1),1),match(h2,b$2:d$2,0)) をそれぞれ入力して、j2:i2を下方にフィルコピーしてあります。