• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで文字数を数え、13字以下のものを選ぶには)

エクセルで文字数を数え、13字以下のものを選ぶには

このQ&Aのポイント
  • エクセルを使用して文章の文字数を数える方法を教えてください。
  • エクセルのLEN関数を使って文章の文字数を取得することができます。
  • 特定のセルに入力された文章の文字数が13文字以下であるかどうかを判定する方法をご教示ください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

A1からA5にそういった言葉を記入しておいて B1に =LEN(A1) 以下B5までコピー C1に =IF(B1<=13,COUNTIF($B$1:B1,"<=13"),"") 以下コピー 総数は =COUNT(C1:C5) あるいは =SUMPRODUCT((LEN(A1:A5)<=13)*1)

nekomyumyu
質問者

お礼

できました! 素早くわかりやすいご回答ありがとうございます。 大変助かりました。 ありがとうございました。

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 今仮に、「アイウエオはカキクケコだ。」と入力されているのがA2セルで、「13文字 1つめ」と表示するのがB2セルであるものとします。  まず、B2セルに次の数式を入力して下さい。 =IF($A2="","",LEN($A2)&"文字"&IF(LEN($A2)>13,""," "&SUMPRODUCT((LEN($A$2:$A2)<=13)*1)&"つ目"))  そして、B2セルをコピーして、B3以下に貼り付けて下さい。  以上です。

nekomyumyu
質問者

お礼

ありがとうございます。 ひとつのセルで済む方法を教えていただけるとは思わず 大変感動しました。 迷いましたが 今回は素早くご回答くださった最初の方にBAとさせていただきます、 申し訳ありません。

  • m_and_dmp
  • ベストアンサー率54% (987/1817)
回答No.2

「全部でいくつか」は、 文字列の入力されてセルの隣(右でも左でも)に =If(LEN(文字列の入力されたセル参照)<=13,1,0) と記述し、下方へオートフィルする。 「全体でいくつ」を表示させるセルに =SUM(セル範囲) と記述する。 一つめ、二つめと数えるのを関数で処理するのは複雑になります。 マクロならできます。 A列に文字列が入力されているものとします。B列、C列に文字数と、Xつめをそれぞれ表示します。 文字列の文字の数L=1~13がいくつあるか数えるための変数を13個(V01~V13,初期値はゼロ)用意します。 Sub example() For i=1 to 1000 Cells(i,1).Select L=Selection.Value IF L="" Then Exit For L=Len(L) Select Case L Case 13 V13=V13+1 Cells(i,2)=L&"文字" Cells(i,3)=V13&"つめ" Case 12 V12=V12+1 Cells(i,2)=L&"文字" Cells(i,3)=V12&"つめ"   ・   ・   ・   ・ Case 1 V01=V01+1 Case Else End Select Next i End Sub そのセルの右隣のセルに、Lenの値13を入力し、その隣のセルにV13の値を入力します。ここの処理が多少複雑になるでしょう。(Lenが13だったら、V13の値、12だったらV12の値.......Lenが01だったら、V01の値と、場合によって入力する変数をV13~V01のいずれかを選択する。) つぎに下のセルに移動して同じ処理を繰り返し、文字列が入力されている最後のセルまで処理したら終わりです。 自分で試していないので誤りがあるかもしれません。 マクロでLenというコードが使えなかったら、Lenの代わりにApplication.Lenとしてください。

nekomyumyu
質問者

お礼

ありがとうございます。 マクロまで組んでいただいて申し訳ないです。 正直、ぜんぜんわかりません… (質問の最初に書きましたように、LEN関数ですら教えていただくレベルで…) 今回は最初の方の方法で希望の結果がでました。 恐縮ですがそちらをBAとさせていただきました。

関連するQ&A