質問: スプレッドシートの関数について教えてください。 どうかよろしくお願いいたします。 下記の使用関数で、テストシートのセルD8より条件付きで値を抽出しています。 ◆現在の抽出条件 アイテム合計金額 : と、 送料の間の2,649円を抽出 ◆改善したい抽出条件 アイテム合計金額 : と、 手数料の間 もしくは、送料の間の2,649円を抽出(手数料の記載がなければ送料としたいです。) 条件としては、手数料が記載されている場合、必ず送料より1行前に記載されています。 ※送料の記載は必ずあります。 ◆使用関数 =IFERROR(MID(LEFT('テスト'!$D8,FIND("送料",'テスト'!$D8)-1),FIND("アイテム合計金額 : ",'テスト'!$D8,1)+LEN("アイテム合計金額 : "),LEN('テスト'!$D8)),"") ◆テストシートのセルD8内容 アイテム合計金額 : 2,649円 手数料:1000円 送料:500円 合計金額 :4,149円
回答: 送料とか手数料は忘れたほうがいいですね。"アイテム合計金額 :"からセル内改行まででいいじゃないですか。 「スプレッドシート」がもしもGoogleスプレッドシートのことならSplit関数が使えるので、 「"アイテム合計金額 :"より後ろを取り出してセル内改行で区切った最初の要素」で済みます。 =index(split(mid(文字列, find("アイテム合計金額 :", 文字列)+10, len(文字列)), char(10)), 1)