web-dev-qa-db-ja.com

OpenOffice Calcでセルの一部を別のセルにコピーする

セルA1は0001と言いますジョンスミスセルA2は0002ビルスナイダーと言います

基本的にこれを分割したいので、1つの列には数字(0001、0002など)だけが表示され、別の列には名前だけが表示されます。

最初の部分は簡単です。関数 "= LEFT(A1; 4)"を使用すると、0001を取得できます。名前を取得するにはどうすればよいですか。たとえば、「RIGHT(A1; 99)」を使用すると、文字列「0001 John Smith」全体が取得されます。名前の長さが違うのでどうしたらいいのかわかりません。どういうわけか、最初の4文字を除く文字列全体を取得するように指示できますか?または、どういうわけか、要求されているような文字数ではなく、最後の2つの単語を取得するように指示しますか?

11
Justin

最初の4文字(およびスペース)を除く部分文字列を取得するには、MID関数を使用できます。

MID(A1,6,LEN(A1))

その結果、 'John Smith Cell A2は0002 Bill Snyder'と言います。 FIND関数を使用してテキスト分割を模倣することもできます。たとえば、この式は '0001':を出力します。

LEFT(A1,FIND(" ",A1)-1)

さらに、これはJohn(元のテキストがA1セル​​にあり、前の数式がB1):

MID(A1,LEN(B1)+2,FIND(" ",A1,LEN(B1)))

ここに:

  • A1-元のテキスト
  • LEN(B1)+ 2-開始位置(コード0001の長さ+セパレーター+ 1)
  • FIND( ""、A1、LEN(B1))-終了位置(つまり、次のスペースオカレンス)

そして、あなたはそれをさらに精巧にして最後の2つの単語を得ることができます:)

12
barti_ddu