dポイントプレゼントキャンペーン実施中!

   果実シート                  まとめシート
     A   B    C         A   
1  いちご  林檎  ミカン         
2   ○   ×    ○
3  
4  イ
5  ロ
6  ハ

2行目には○か×か空白が入ります。空白は×と同じです。(以下×という定義は「×または空白」という意味とします。)
・4行目イの欄=A2が○であれば「いちご」を。A2が×でありB2が○であれば「林檎」を。A2、B2が×でありC2が○であれば「ミカン」を
・5行目ロの欄=A2が○でB2が○であれば「林檎」を。A2が○でB2が×、C2が○であればミカンを。A2が×、B2が○、C2が○の場合はミカンを。
・6行目ハの欄=すべて○の場合だけミカンを。

つまり、×または空白表示の場合は、順次繰り上げて表示する方法についてご教示ください。
4行目は=if(a2="○",a1,if(b2="○",b1,if(c2="○",c1)))ということでOKだと思いますが、5行目6行目がどうしてもわかりません。
マクロをメンテナンスできる人間がいないため、ifやandなどの関数だけでお願いします。
また、このイロハの部分を別の「まとめシートに」リンクさせ、これをVLOOKUP($G$2,まとめシート!A1:R50,1,FALSE)という形(G2は任意の数字を入れる場所)でさらに別のシートへリンクすることは可能でしょうか。
エクセルバージョンは2002です。

A 回答 (3件)

質問の意図とは異なるかもしれませんがアドバイス。



TRANSPOSE関数で行列を入れ替えてみてはどうでしょう。
表示させるだけであれば、その後オートフィルタで抽出と言う方法もありますが・・・。
(行列を入れ替えれば、他の関数を使っての抽出や加工が簡単にできませんか?)

 別のシートの A1セル に
  =TRANSPOSE(A1:C2)
 反映させたい範囲(例えば、A1:B3)を選択
 F2を押して数式の編集モードにする
 [Shift]+[Ctrl]+[Enter]

この回答への補足

ごめんなさい。一発でこの表示を行いたいため、行列を入れ替えてオートフィルを使うという方法はちょっと目的と合わない感じです。
よろしくお願いします

補足日時:2006/11/20 14:20
    • good
    • 1
この回答へのお礼

いろいろ考えた結果、ifとandでなんとか解決した感じです。
今後ともよろしくお願いします。

お礼日時:2006/11/20 15:29

A4=IF(ROW(A1)>COUNTIF($A$2:$C$2,"○"),"",INDEX($A$1:$C$1,SMALL(INDEX(SUBSTITUTE(N($A$2:$C$2="○"),0,10^5)*COLUMN($A$1:$C$1),),ROW(A1))))


★下にコピー

この回答への補足

ありがとうございます。確かにこの式で可能です。
ただ、初心者の私には正直申し上げてこの式の意味がよく分かりません。実際に使用するときはこのような単純なシートでないため、意味を完全に理解しないと、応用するのに難しすぎるのではないかと思います。できましたら、もう少し簡単な計算式でなんとかならないでしょうか。
勝手言って申し訳けございません。

補足日時:2006/11/20 14:22
    • good
    • 0
この回答へのお礼

いろいろ考えた結果、ifとandでなんとか解決した感じです。
今後ともよろしくお願いします。

お礼日時:2006/11/20 15:29

5行目ロの欄はいちごになることはないのですか。

そうであればA2の値は条件判定に無関係になりますから
=IF(B2="○",B1,IF(C2="○",C1,"")
でよいように思います

6行目ハの欄は
IF(AND(A2="○",B2="○",C2="○"),C1,"")
でいけるように思いますが、質問文では「条件に合わないときどうする」がないので条件外の時は空白にしています。

この回答への補足

ありがとうございます。
6行目はこれでOKですね。

ただ、5行目は、
いちご×林檎○ミカン×の場合=(正)非表示 (誤)林檎
いちご×林檎○ミカン○の場合=(正)ミカン (誤)林檎
いちご×林檎×ミカン○の場合=(正)非表示 (誤)ミカン
となってしまい、「いちご」が×(または空白)の場合、繰り上げて表示することができません。
勝手ながらもう少しお知恵を拝借したいと思いますのでよろしくお願いします。

補足日時:2006/11/20 14:28
    • good
    • 0
この回答へのお礼

5行目は
=if(and(A2"○",B2="○"),B1,if(and(A2="○",C2="○"),C1,if(and(b2="○",c2="○"),C1"")))
ということで解決しそうです。
ありがとうございました。

お礼日時:2006/11/20 15:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!