• ベストアンサー

セル内改行された文字列の上段のみ消す

いつもお世話になっています。 セル内改行された文字列の上段のみ消す方法を探しています。 たとえば、 セルA1に 12345       67890 のようにセル内で改行されたデータがあります。 そのうちの上段12345のみを削除したいのですが、 そういったことは可能でしょうか。 関数でもマクロでも方法があればなのですが。 よろしくお願いします。 

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

  • ベストアンサー
  • fmxBeem
  • ベストアンサー率54% (325/599)
回答No.1

A1セルの隣に結果が出るのでよろしければ、B1セルに =RIGHT(A1,LEN(A1)-FIND(CHAR(10),A1)) でOKです。 CHAR(10)が改行コード、FIND(CHAR(10),A1)が、A1の左側から検索して改行コードが難文字目にあるかを探しだし、最終的にRIGHT関数でA1の右側から改行コードの手前までの文字列を抜き出しています。

AkB373
質問者

お礼

早速にご回答ありがとうございました。 解決しました。

その他の回答 (3)

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.4

こんばんは 対象のセル範囲を選択して、Ctrl+Fで検索と置換ダイアログを出して 置換タブに切り替えて検索する文字に、*に続けてCtrl+Jと入力して すべて置換としてみて下さい。

AkB373
質問者

お礼

早速にご回答ありがとうございました。 参考にさせていただきます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

A1セルに、文字列1+(Alt+Enter)+文字列2の入力があるとき =REPLACE(A1,1,FIND(CHAR(10),A1),"") で文字列2になる。

AkB373
質問者

お礼

早速にご回答ありがとうございました。 参考にさせていただきます。

回答No.2

【VBAバージョン】 Option Explicit Public Function CutStr(ByVal Text As String, _             ByVal Separator As String, _             ByVal N As Integer) As String   Dim strDatas() As String      strDatas = Split("" & Separator & Text, Separator, , 0)   CutStr = strDatas(N * Abs(N <= UBound(strDatas))) End Function CutStr()を利用するって手もあります。 同関数は、A1が空欄の場合は""を表示します。

AkB373
質問者

お礼

早速にご回答ありがとうございました。 参考にさせていただきます。

関連するQ&A