ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:navi0203 エクセルの関数について教えてください
困り度:
  • 困っています
横列の内容を抜き出し、別のシートに上から順に表示するような関数ってありますでしょうか?
例えば、シート1のA1に○を入れたとき、B1,B2の内容をシート2のA1から順にシート1のB1,B2の内容を表示していく。
○の記入のないものは、シート2に表示せず、○の表示のあるものだけを抜き出していくというものです。

もしあれば助かります。どなたか分かる方いらっしゃいませんでしょうか?よろしくお願いいたします。
質問投稿日時:08/07/07 09:36
質問番号:4157417
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:mu2011 NO4です。
以下の数式に改訂しますので、シート2のA1に設定後、縦横にコピーして下さい。
=IF(COUNTIF(Sheet1!$A:$A,"○")>ROW(A1)-1,INDEX(Sheet1!B:B,SMALL(IF(Sheet1!$A$1:$A$100="○",ROW(Sheet1!$A$1:$A$100),99999),ROW(A1))),"") 
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/07/07 11:19
回答番号:No.5
この回答への補足補足内容欄ですみません。

できるようになりました!ありがとうございます。とても助かりました!!
この回答へのお礼なかなかい感じになったのですが、
シート1のA1に○を入れたときだけ横列1がシート2の横列1に表示します。
しかし、シート1の横列2以降に○をいれると#NUM! というエラーが出ます。どうにかシート1の横列2以降も 横列1と同じようにできないものでしょうか?すみません。

回答

 

回答者:mu2011 NO1です。
>ちなみに、これはどういう風に使用すればよろしいのでしょうか?
>このIF関数はどこのセルに当てはめればいいのでしょうか?
⇒シート1.2を取り違えていましたので数式を訂正します。
 sheet2のA1に以下の数式を入力して下方向に必要分コピーして下さい。
 配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
=IF(COUNTIF(Sheet1!A:A,"○")>ROW(A1)-1,INDEX(Sheet1!B:B,SMALL(IF(Sheet1!$A$1:$A$100="○",ROW(Sheet1!$A$1:$A$100),99999),ROW(A1))),"") 
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/07/07 11:04
回答番号:No.4
この回答への補足ありがとうございます!

A1のセルはしっかりシート2に写りました。
しかし、シート1のA2からはエラーになってしまいます。何か入力変更するのでしょうか?

ナンドもすみません。もう少しで出来そうなのでうれしいです。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

良回答10pt

回答者:merlionXX Sheet2のA1に以下の式を入れたらそのままA2以下お好きなところまでドラックして式をコピーしてみてください。

=IF(AND(Sheet1!$A$1="○",Sheet1!B1<>""),Sheet1!B1,"")
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/07/07 10:56
回答番号:No.3
この回答へのお礼ありがとうございます。
横列1の作動はできました。
しかし、シート1のA1に○を入力すると、B1以外のB2、C2・・・などの値も出てきてしまいます。

表示はあくまでも○をつけた横列だけシート2へ移したいのですができませんでしょうか?

回答

 

回答者:imogasi >するような関数ってありますでしょうか
そもそも聞き方がおかしい。抜き出しや条件付で抜き出しは、好みの整列で(普通行を詰めて)表示する・縦の並びを横方向に表示など)のは、関数1つでは出来るものでは無いよ。
「関数を組み合わせて」やっとできるかどうかです。
既回答のような難しい式になる。
===
>シート1のA1に○を入れたとき、B1,B2の内容をシート2のA1から順にシート1のB1,B2の内容を表示していく
その次のステップではシート1のどこに○をいれるの?
そしてシート1のどこをシート2のA列??のどこに持っていくの。
シート2に持っていった、「シート1のB列のデータ終わり」の次に継ぎ足していくのか?
ーー
簡単なシート1(の○がついた状態と)とシート2の完成形の実例はかけないか。
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/07/07 10:50
回答番号:No.2
この回答への補足聞き方がよく分からずすみません。書いてる内容もたぶんおかしいようです。

えっと・・・
シート1の横列の1のB1、C1、D1、E1・・・と数字や文字を入力します。
同じように横列2に横列1と同じように数字や文字を入力していきます。繰り返し表のようになります。

その縦列Aに区別したい数字や文字を入力すると、入力した横列だけ、別のシートにシート1と同じように表示させていくというものを考えていました。

シート2には、シート1で必要とてチェックしたものだけを順番に表示した買ったのです。

これで分かりますでしょうか?申し訳ありません・・・。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:mu2011 一例です。
配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
因みに範囲は100行としていますので調整して下さい。
=IF(COUNTIF(Sheet2!A:A,$A$1)>ROW(A1)-1,INDEX(Sheet2!B:B,SMALL(IF(Sheet2!$A$1:$A$100=$A$1,ROW(Sheet2!$A$1:$A$100),99999),ROW(A1))),"")
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/07/07 09:48
回答番号:No.1
この回答への補足ご回答ありがとうございます!

ちなみに、これはどういう風に使用すればよろしいのでしょうか?
このIF関数はどこのセルに当てはめればいいのでしょうか?

なにぶんどしろうとなモノですいません・・・。
この回答へのお礼お忙しいところ、ご回答ありがとうございます。使い方等教えていただけませんでしょうか?
最新から表示回答順に表示良回答のみ表示