- ベストアンサー
エクセルでリストから0だけを取り除く方法
- エクセルでリストから0だけを取り除く方法を教えてください。
- ランダムに0が混じっている数列から0を取り除いたリストを作成したいです。
- 単純に重複を取り除く方法だと、本来取り除きたくないものまで取り除いてしまいます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
◆こんな方法もありますよ A B 1 22 22 2 0 14 3 14 64 4 0 14 5 0 43 6 0 24 7 64 53 8 0 85 9 0 10 14 11 0 12 43 13 0 14 24 15 0 16 0 17 53 18 0 29 0 20 85 ■手順■ 1)A1:A20を範囲選択します 2)最初は、A1がアクティブになっていますので、Tab を押して、0 をアクティブにします 3)メニューバーの「編集」→「ジャンプ」→「セル選択」をクリックします 4)「アクティブ列との相違」にチェックして、OK 5)そのままで、コピーして、B1に張り付けします
その他の回答 (3)
[フィルタオプションの設定]を利用するのが「うまい方法」だと思います。 下の例だと、範囲 C1:C2 が[検索条件範囲]になります。 A B C 1 data data data 2 22 22 <>0 3 0 14 4 14 64 5 0 14 6 0 43 7 0 24 8 64 53 9 0 85 10 0 11 14 12 0 13 43 14 0 15 24 16 0 17 0 18 53 19 0 20 0 21 85
補足
返事がたいへん遅くなり申し訳ありません。 作業の順番がよく分からないのですが、 最初にA列にデータを埋め、 Cに「<>0」を入力し、 このあとすぐにフィルタオプションを実行でよいのでしょうか? 自分でやってみたところ、B列には何も入りませんでした。
- maron--5
- ベストアンサー率36% (321/877)
◆A1に「22, 0, 14, 0, 0, 0, 64, 0, 0, ・・・」と入力されているものとします =REPLACE(SUBSTITUTE(SUBSTITUTE(","&A1," ",),",0",""),1,1,)
お礼
お返事遅くなりすみません。 一瞬でできました。すごいです。 ただこの方法は全部のデータが1つのセルにある時に有効の ようですね。今回は1つの数値が1つずつセルに入っている状態で 考えていたのでそのままでは使えないかもしれませんが・・・ 目からウロコが落ちました。ありがとうございます。
- hallo-2007
- ベストアンサー率41% (888/2115)
配列関数案 データがA1~T1(1行目にあるとして) B1にでも =INDEX($A1:$T1,1,SMALL(IF($A1:$T1>0,COLUMN($A1:$T1),""),COLUMN(A1))) 入れて Ctrl+Shift+Enter で確定して 右へコピィします。
補足
お返事遅くなり誠にすみません。 > B1にでも とありますが、セルB1も1行目にあるのではないでしょうか? だとするとデータに上書きして下記の式を入れるということでしょうか? > =INDEX($A1:$T1,1,SMALL(IF($A1:$T1>0,COLUMN($A1:$T1),""),COLUMN(A1))) ご回答頂ければ幸いです。
お礼
今回の回答の中ではこちらが一番分かりやすく助かりました。 どうもありがとう ございます!