• ベストアンサー

エクセル 表の中で無視する値を空白及び詰めて表示する

下記のような表になっている時に、次のルールに従って関数のみで表示することは可能ですか? ・ルール   (1)上の値から1以上離れている場合は、空白を表示する  (2)上の値が空白になった場合は一つ上の値を参照する   ※一つ上の値が空白の場合は、その上を参照する  (3)最終的には空白部は詰めて表示させるつもりなので   (このやり方は習得済み)   詰めて表示させるやり方でも構わない。   ・表 | A __|______ 1 | 30.0 2 | 30.3 3 | 31.5 4 | 30.4 5 | 29.3 6 | 30.4 7 | 30.5 ↓※下のように表示させたい | A __|______ 1 | 30.0 2 | 30.3 3 | 4 | 30.4 5 | 6 | 30.4 7 | 30.5

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

C1セル =A1 C2セル =IF(C1="",IF(ABS(LOOKUP(8^8,$C$1:C1)-A2)>=1,"",A2), IF(ABS(A1-A2)>=1,"",A2)) 下へオートフィル C列を切り取って対象へ貼り付け

okairi
質問者

お礼

お世話になります 画像までつけて頂いて、分かりやすい説明ありがとうございます 勉強になりました。使わせて頂きます

その他の回答 (3)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

おっといけない C列に作業セル作っていたのをそのまま貼り付けてしまった。 =IF(OR(A2-OFFSET($A$1,MAX($B$1:B1),0)>1,A2-OFFSET($A$1,MAX($B$1:B1),0)<-1),"",ROW()-1) これですね。 後は出た結果をオートフィルターで空白以外表示とか 結果をコピーして貼り付けてソートするとかで空白行を詰めればいいと思いますよ。

okairi
質問者

お礼

お世話になります ありがとうございます、この方法を組み合わせれば表示可能ですね 勉強になりました

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

ヒントだけになりますが B1セルに0を入力 B2セルに =IF(OR(A2-OFFSET($A$1,MAX($C$1:C1),0)>1,A2-OFFSET($A$1,MAX($C$1:C1),0)<-1),"",ROW()-1) 下方向フィル C列に数値が表示された行が残すべき行になります 後は何とか工夫してみて

回答No.1

>(2)上の値が空白になった場合は一つ上の値を参照する 説明を読むとA4セルは30.3と考えたのですが間違いですか? >次のルールに従って関数のみで表示することは可能ですか? 確認ですが、可能/不可能さえわかれば良いのですか?

okairi
質問者

補足

捕捉させて頂きます >(2)上の値が空白になった場合は一つ上の値を参照する 説明を読むとA4セルは30.3と考えたのですが間違いですか?  説明が悪かったのかもしれませんが、A3(31.5)はA2(30.3)の値から1以上離れているので、空白表示になっています。  A4(30.4)はA3(31.5)の値が空白なので、その上のA2(30.3)の値から1以上離れているかどうかを参照して、元のA4(30.4)の値を表示しています。 >次のルールに従って関数のみで表示することは可能ですか? 確認ですが、可能/不可能さえわかれば良いのですか?  いいえ。やり方が知りたいです。

関連するQ&A