質問: vlookupで一致した場合に特定の数字を返す excelファイル1に平成24年度版の商品の縦書き一覧表があります。(a2~a100までが商品名) 同じくexcelファイル2に平成23年度版の商品の縦書き一覧表があります。(a2~a100までが商品名) excelファイル1における平成24年度の商品一覧表の各商品の横のセル(b2~b100)に、平成23年度にも販売していたのであれば「23」という数字を記入し、平成23年度に販売していなければ(平成24年度からの発売であれば)「24」という数字を記入したいとします。 簡単な方法としてはexcelファイル2のb2~b100に23を記入し、excelファイル1のb2に vlookup関数を入力し、excelファイル1と2のa列が一致する場合、excelファイル2のb列(23)を返し、一致しないセルのエラーを削除して24を記入するという方法が考えられます。 しかし、一つの関数入力で23年度の一覧表に一致する商品の隣のセルに23、23年度に販売されていなければ24という値を返すようにしたいと思います。 if関数の中の論理式の部分をvlookupに置き換えて入れ子にし真なら23、偽なら24とすればよいのかと思ったのですが、エラーになります。 どのような数式をつくればよいのでしょうか。
回答: 24年の商品一覧に 23年の計算式=24年の計算式にすると 一致するかしないかの答えが返ってきます。 =vlookup(b1,23年のデータ範囲,1,false)=vlookup(b1,24年のデータ範囲,1,false) trueの時に「23」、falseの時に「24」と返すなら =if(vlookup(b1,23年のデータ範囲,1,false)=vlookup(b1,24年のデータ範囲,1,false)=true,"23","24") trueの時は、23年データにあり、falseの時は、23年データにないということになります。 データ範囲や列番号は、修正してください。 お試しください。