プロが教えるわが家の防犯対策術!

Excelについて教えて頂きたいのですが。縦に1~10行あり、名前あり、例えば5番目の方が休みの時に自動的に5番目の行の所に下から詰める方法はありますか?

質問者からの補足コメント

  • 1~10までの名前は別で設定しております。詰めるは、削除では無く5番目の方が休みの時にその空いた行を何かの設定で自動で判断しの6番目以降の方が一つずつ上に上がり、一番下の10行目が空く感じになればと思っています。すみません。意味が伝わりにくいですよね。

      補足日時:2017/05/24 19:42

A 回答 (3件)

配列の確定をしない場合、こんなふうにできます。



=IFERROR(INDEX($A$1:$B$11,SUMPRODUCT(SMALL(ROW($A$1:$A$11)+($B$1:$B$11<>"")*100,ROW(A1))),1),"")

注意点
=IFERROR(INDEX($A$1:$B$11,
  $A$1:$B$11 ←全体の範囲/1行目から始まる
  
SUMPRODUCT(SMALL(
ROW($A$1:$A$11)+($B$1:$B$11<>"")*100,
  $A$1:$A$11 ,$B$1:$B$11 ←1行目から始まる

ROW(A1))),1),"")

つまり、計算上で出てくる「0値」の追い出しですね。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。並び替えは上手くいきました。

お礼日時:2017/05/27 23:12

こんばんは!



具体的な配置が判らないので、やり方だけ・・・

↓の画像でD2セルに
=IFERROR(INDEX(A$2:A$100,SMALL(IF(B$2:B$100<>"休",ROW(A$2:A$100)-1),ROW(A1)))&"","")

配列数式なので、Ctrl+Shift+Enterで確定!
D2セルのフィルハンドルで下へコピーしています。m(_ _)m
「Excelについて教えて頂きたいのですが」の回答画像2
    • good
    • 0
この回答へのお礼

分かりにくい質問ですみませんでした。1度やって見ます。

お礼日時:2017/05/24 19:53

詰める、とはなんですか?削除ですか?


また自動とはなんですか?操作しないということですか?
操作するとしたらどんな操作を想定していますか?
    • good
    • 0

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