• 締切済み

LibreOfficeの関数について

たとえば下記のように、データが入力されているとします。 B5 1月1日 C5 データ1 D5 100 E5 空欄 F5 現金 G5 分類A B6 1月2日 C6 データ2 D6 空欄 E6 200 F6 A銀行 G6 分類B B7 1月3日 C7 データ3 D7 300 E7 空欄 F7 B銀行 G7 分類C B8 1月4日 C8 データ4 D8 空欄 E8 400 F8 C銀行 G8 分類D B9 1月5日 C9 データ5 D9 500 E9 空欄 F9 現金・D銀行 G9 分類E B10 1月6日 C10 データ6 D10 空欄 E10 600 F10 E銀行・現金 G10 分類G このデータを関数を使って、下記のように並べ替えをしたいです。 F列に、現金の文字があるものだけを抽出し、E列の分類が、EもしくはGだったら金額のD部分を入れ替えて表示する。そのほかの分類は、入れ替えをせずにそのまま表示する。 J6 1月1日 K6 データ1 L6 100 M6 空欄 N6 現金 E6 分類A J7 1月5日 K7 データ5 L7 空欄 M7 500 N7 現金・D銀行 E7 分類E J8 1月6日 K8 データ6 L8 600 M8 空欄 N8 E銀行・現金 E8 分類G このようなことを関数で行いたいです。できれば、0やエラー表示は出ないものがいいです。よろしくお願いします。

みんなの回答

noname#204879
noname#204879
回答No.2

似たような質問を前にされていますね。→ 質問番号:7002895 ウンともスンとも反応ナシだけど、アレはホッタラカシにするのですか! 沢山の回答が寄せられているのに、ナシのツブテは大嫌いです!

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

>LibreOfficeの関数 の質問だと(経験者が少なく、避けられて)回答が出ない恐れがある。 エクセルでやる場合を参考のために書いてみる。 エクセルと全く違うなら以下無視して。 初心者の尚だろうが、質問文の書き方はわかりにくい 例データ 下記は下記の作業の結果です。 日付 データ 入金額 出金額 コメント 分類 作業コード 1月1日   データ1   100     現金 分類A 1 1月5日   データ5   500    現金・D銀行 分類E 1 1月6日  データ6  空欄  600 E銀行・現金 分類G 1 1月2日 データ2   空欄   200 A銀行 分類B 1月3日   データ3   300    B銀行 分類C 1月4日   データ4   空欄  400 C銀行 分類D のように書けば判りやすいのだ。 G2の式は =IF(NOT(ISERROR(FIND("現金",E2))),"1","") E列で現金という文字のある列は、G列に1を入れている 下方向に式を複写する。 ーー その後G列の「作業コード列」で並べ替えする。 現金の極が無い行が不要なら、手作業で抹消して。 ーー LibreOfficeでも 上記の関数式は津空けるのではないか 並べ替えはできるだろう ーー 並べ替えはSMALL関数などで出来るが、煩雑なだけだ。 ーー >E列の分類が、EもしくはGだったら金額のD部分を入れ替えて表示する。そのほかの分類は、入れ替えをせずにそのまま・・・ 函数式が複雑になるのではないか蒸気が出たあと、セル範囲や別シートに出すなら、IF関数でシコシコやれば出来る。