任意の文字数以内に文章を英単語でカットする関数が知りたいです。 文字列はLen関数で確認します。 そのため、半角空白や記号等も1文字扱いになっております。

Excel104閲覧

その他の回答(2件)

0

元の文字列がA1に、調整したい文字数がB1に入力されているとして、 =LEFT(A1,LOOKUP(B1+1,1/(MID(A1&" ",ROW(OFFSET(A1,,,LEN(A1)+1)),1)=" ")*ROW(OFFSET(A1,,,LEN(A1)+1)))) 関数SEQUENCEが使えるバージョンであれば =LEFT(A1,LOOKUP(B1+1,1/(MID(A1&" ",SEQUENCE(LEN(A1)+1),1)=" ")*SEQUENCE(LEN(A1)+1))) でどうでしょうか? 数式内の " " は "" ではなく、 " " ですので注意してください。 半角スペースを " で囲んでいます。

この返信は削除されました

0

何の質問かも書いていないんだからこっちで勝手に判断します。 後から「実は……」は知りません。 =LET(_wic,15,_r,A1&" ",_spc,LEN(_r)-LEN(SUBSTITUTE(_r," ","")),_seq,SEQUENCE(_spc),_fnd,FIND("♪",SUBSTITUTE(_r," ","♪",_seq)),TRIM(LEFT(_r,LOOKUP(_wic-1,_fnd))))