• ベストアンサー

一定以下の文字数が入ったセルを削除するには

ある表を印刷したのですが、文字数の多いものが、印刷されませんでした。 そこで、多いものだけピックアップして再度印刷しようと思いました。 作業的には、逆に、枠内に収まったもののセルを消せば よいのではないかと考えました。 LENB関数を使うのではないかな?と思うのですが、 具体的にどうしたらよいかよくわかりません。 もちろん、ほかの方法でもよいので、よろしくお願いします。 例) みかん チョコレート あめ ようかん ストロベリーショートケーキ なつみかん ウォーターメロン クッキー パイナップル …のような表の、たとえば5文字と指定したら チョコレート ストロベリーショートケーキ なつみかん ウォーターメロン パイナップル が残るようにしたいということです。 実際の表は、全角40文字以上になると印刷できていませんので 39文字以下のセルを削除し、40文字以上のセルを残したいです。 よろしくお願いします。

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

  • ベストアンサー
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

右の列を作業列にして、LENB関数で文字数を求め、オートフィルタで、オプションを「文字数が40以上」にすれば、40文字以上のものだけ抽出できますよ。

nekomyumyu
質問者

お礼

大変簡潔でわかりやすかったです。 この方法で、やりたかったことができました。 ありがとうございました。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

        A         B        C 1  strings              strings 2  みかん           FALSE チョコレート 3  チョコレート            ストロベリーショートケーキ 4  あめ                なつみかん 5  ようかん              ウォーターメロン 6  ストロベリーショートケーキ     パイナップル 7  なつみかん 8  ウォーターメロン 9  クッキー 10 パイナップル セル B2 に式 =LEN(A2)>=5 を入力し、セル B1 を空白のままにして、 [検索条件範囲]を $B$1:$B$2 にして[フィルタオプションの設定]を実行すればOKです。 全角「40文字以上のセルを残したい」場合は、該当式を =LENB(A2)>=80 に変更します。

nekomyumyu
質問者

お礼

スマートな方法を考えていただいたようなのに 理解できずにもうしわけありません。 補足質問も遅くなってしまったので、もうごらんになっていないでしょうね… ともあれ、希望はかないましたので、 しめきりとさせていただくことにしました。 ごらんになる方の参考になればいいなと思います。 ありがとうございました。

nekomyumyu
質問者

補足

ありがとうございます。 1のstringsは なんですか? Bの列に式をいれるということですよね? ごめんなさい、よくわからなかったです    

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像でSheet1のデータで文字数が5文字以上の物を Sheet2に抽出するようにしています。 Sheet1の作業用の列B2に =IF(LEN(A2)>=5,ROW(A1),"") としてフィルハンドルの(+)マークでダブルクリックか、オートフィルで下へコピーします。 そして、Sheet2のA2セルに =IF(COUNT(Sheet1!$B$2:$B$1000)<ROW(A1),"",INDEX(Sheet1!$A$2:$A$1000,SMALL(Sheet1!$B$2:$B$1000,ROW(A1)))) という数式を入れ、オートフィルで下へずぃ~~~!っとコピーすると 画像のような感じになります。 尚、今回は40文字以上の物を残したいということですので、 作業列の数式の「5」の部分を「40」に変更すればOKかと思います。 そして、数式は1000行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

nekomyumyu
質問者

お礼

上の方の方法がわかりやすかったので そちらを使わせていただきましたが、 画像もつけていただき、早いお返事をありがとうございました。

関連するQ&A