解決済み
Excelの関数で以下の文字列処理をしたいと考えていますが善策が浮かびません。 恐れ入りますがどなたかおわかりになる方お願い致します。元データ 例A1) onion / onions 例A2) apples / pears for sale 例A3) ripe oranges / ripe mandarines for sale 例A4) lemonades for sale / cola for sale 持って行きたい状態 例B1) onion ( / onions を除去) 例B2) apples for sale ( / pears を除去) 例B3) ripe oranges for sale ( / ripe mandarines を除去) 例B4) lemonades for sale ( / cola for sale を除去) 基本的にはスラッシュよりもあとの表現をカットしたいです。(例A1→例B1) 例A2〜A4のようにfor saleなどの枕詞がついている場合には、枕詞が消えないように、例B1〜B4のように整理したいのです。 「スラッシュよりもあとの文字列」に対し、「スラッシュよりも前の文字列と同じ単語数分」消せばよいのではないかと考えております、が、Excel関数での実装方法がわかりません。 非常に困っておりますので、どなたかよろしくお願いします! (google spreadsheetで作業をしているので、Google独自の関数やアドオンがあるのであればそれを使う形でも問題ありません)
184閲覧
GoogleSpradsheet のほうがSPLIT関数を使えるので数式が短くなるかも・・ =if(or(countif(A1,"*sale")=0,countif(A1,"*sale /*")),index(split(A1,"/"),1),index(split(A1,"/"),1)&"for sale") 下にコピー
B1セルには次の式を入力して下方にドラッグコピーすればよいでしょう。 =IF(A1="","",IF(OR(NOT(ISERROR(FIND("for sale",LEFT(A1,FIND("/",A1)-1)))),ISERROR(FIND("for sale",MID(A1,FIND("/",A1)+1,50)))),LEFT(A1,FIND("/",A1)-1),LEFT(A1,FIND("/",A1)-1)&MID(A1,FIND("for sale",A1),10)))
< 質問に関する求人 >
google(東京都)この条件の求人をもっと見る
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
覆面調査に関する求人(東京都)この条件の求人をもっと見る