Excel内でQUOTIENT関数を利用する場合、計算対象にセルを指定するとステップ実行時にエラーになる

フォローする

確認バージョン

11.4.0.3

概要

問題点

QUOTIENT関数を以下の2点として利用する場合、Excelファイルをステップで編集しようとするとエラーになります。

  • セルを対象として関数を入力
  • 関数が元のExcelファイルにセルを参照した状態で設定済み

例:QUOTIENT(A4,2)を入力しようとした場合
無題.png

※セルを指定していなければエラーになりません
例:QUOTIENT(5,2)
無題1.png

解決策

以下の2点となります
それぞれの注意事項をご確認の上、ご対応下さい。

  • QUOTIENT関数の代わりにINT関数を使用します

    例:INT(A4/2)
    無題2.png

  • 評価モードをオフにして、計算させないようにします(v11.1以降)

    例:QUOTIENT(A4,2)
    ①「変数を開く(Open Variable)」ステップでExcelファイルを開いた後、「Excel」>「評価モードの設定(Set Evaluation Mode)」ステップを実装します
    無題3.png

    ②「評価」の値を"false"にして、Excelの計算を行わない設定に変更します
    無題4.png

    ③QUOTIENT(A4,2)を入力してもエラーになりません
    ※代わりに0となります
    無題5.png

注意事項

  • QUOTIENT関数の代わりにINT関数を使用する場合
    • 既にExcel内に記述されている場合は、予め全て修正しておく必要があります
       
  • 評価モードをオフにする場合
    • このステップの後続処理では、Excel内の関数を含む全ての計算は行われません
      よって、後続の処理内でExcel上の計算結果を利用することが出来なくなります
      「ファイル出力(Write File)」ステップで出力して計算結果を確認して下さい

エラーメッセージ

セルの値設定 アクションによるエラーが発生しました。指定された操作を実行できませんでした。スプレッドシートにサポートされていない機能 (サポートされていない関数またはエクスプレッション構文など) が含まれている可能性があります。サポートされる機能の詳細については、ドキュメントを参照してください。スプレッドシートにより以下のエラーが報告されました:

評価中に問題が発生しました: Unexpected arg eval type (org.apache.poi.ss.formula.LazyRefEval)

 

関連記事