- ベストアンサー
エクセル 条件に当てはまるセルの値を返す方法
こんにちは、よろしくお願いします。 D E F G H I ・・・・・N O 1 北海道 東京 愛知 大阪 京都 沖縄 2 1 2 3 4 5 6 愛知 3 2 3 6 5 1 4 北海道 4 4 2 3 1 5 6 東京 5 2 3 6 5 1 4 京都 6 1 2 3 4 5 6 北海道 となっている表があります。(本来はMまで地名が入っています) この時にNに該当の数字を入れたいのです。 具体的にはN2に3、N3に2、N4に2となっていきます。 =IF(O2=$D$1,D2,IF(O2=$E$1,E2,IF(O2=$F$1,F2,IF(O2=$G$1,G2, IF(O2=$H$1,H2,IF(O2=$I$1,I2,IF(O2=$J$1,J2,IF(O2=$K$1,K2,(O2=$L$1,L2))))))))) とやってみたのですが、やたら長くスマートではない上に、これ以降が エラーになって入力できなくなってしまいました。 良い方法を知っていればご教授下さい。 お願いします。 mac OS10.5 excel2004を使用しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
横(1行目)と縦(O列)の地名が同じ個所の値でいいなら このような式で出来ます。 N2=HLOOKUP(O2,$D$1:$M$48,ROW(),FALSE) または N2=INDEX($D$2:$M$48,ROW()-1,MATCH($O2,$D$2:$M$2,0)) この式を下方にコピー
その他の回答 (2)
- izmlz
- ベストアンサー率55% (67/120)
セルN2に↓を入力して、↓にコピー&ペーストでいかがでしょうか? =INDEX(E2:M2,MATCH(O2,$E$1:$M$1,0))
お礼
お答えいただきありがとうございます。 この関数でもばっちりできました。 今はどうしてこの関数で表示できたのかを考えています。 どうもありがとうございました。助かりました。
- qualheart
- ベストアンサー率41% (1451/3486)
N2には =SUMIF(D1:M1,O1,D2:M2) N3には =SUMIF(D1:M1,O2,D3:M3) で良いと思います。 ただこれだと、各セルにコピーで数式を入れようとすると、「D1:M1」を参照するはずがずれていってしまうので、「D1:M1」には「地名」などの名前を定義して =SUMIF(地名,O1,D2:M2) のように入力するのがよいでしょう。 あとはN2セルをコピーして下にコピーしていけばOKです。
補足
ありがとうございました。 私の勉強不足で「「D1:M1」には「地名」などの名前を定義」 というのを、どうすれば良いか分かりませんでした。 調べてやってみようと思います。 ありがとうございました。
お礼
ありがとうございます! この式でばっちりできました。これで煩雑な作業から 抜け出せます。 ありがとうございました。