• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:他人の作った関数のネスト地獄から脱出するには?)

他人の作った関数のネスト地獄から脱出するには?

このQ&Aのポイント
  • 他人が作った「Excelのお化け」を修正するコツがあれば、是非ともご教示いただけると幸いです。
  • 人事異動でExcel関数を多用する部門へ移った者です。関数が複雑にネストしているため、途方に暮れております。
  • 業務の見直しをするにあたり、当該Excelシートも見直すこととなり四苦八苦しております。

質問者が選んだベストアンサー

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

「関数が複雑にネストしている」と確かに「解読する」のが困難なのは当然のことです。そのために(解読できないから)「Excelのお化け」に見えるのです。 複雑な計算でも作業列を多く設ければ各作業列内の関数は解読容易な簡単なものになるのはご承知のとおり。だから、何等かの理由や事情で作業列を極力少なくすればするほど関数は「複雑にネストしている」肥大なお化け状態になります。 私なら、深い位置にあるネストから1列ずつ作業列に取り出して行くでしょう。そうすると何をやっていたのかが見えてくるはず。修正するのはそれからです。ひょっとしたら、修正する必要のない見事なものかも知れませんよ。 貴方は作業列の多いもののままにしておいた方が、今度は貴方が退社した後の後任者が困らなくて済むかもネ。

retweet
質問者

お礼

アドバイスありがとうございます。 おっしゃる様に深い位置にある関数から徐々に解きほぐすのが 回り道かもしれませんが、お化け退治には最適化もしれませんね。 もちろん、実はお化けどころではなく、大傑作なのかもしませんが。 ありがとうございました。

その他の回答 (2)

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

エクセルの 計算式内では 改行は 無視されます 恐らくは ソフトの知識を お持ち だと、思います ので、 他言語同様に 改行して ネスト構造を 読み易く すれば 各々の関数の範囲 が、解り易くなる ので 大分楽になる と、思います 後は 配列数式 其以外は 他セルの参照で 代用できる ので 内側から順に 他セルに移し 移した部分を 移動先のセル参照にして 整理すれば かなりスッキリします 理解も進みます よ 解ったら 戻せばいい の、ですから 如何でしょうか?

retweet
質問者

お礼

ご回答ありがとうございます。 前担当者が作った関数式をエディタで分析しております。 他セルの参照も考えましたが、かえってスパゲッティ状態に なりそうなので、フローチャートとエディタで地道に 紐解いている最中です。 アドバイスありがとうございました。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>他人の作った関数のネスト地獄から脱出するには? >業務の見直しをするにあたり、当該Excelシートも見直すこととなり四苦八苦しております。 結果を得るためにデータをどのように処理する必要があるかを論理的に見直す必要があります。 「業務の見直し」とはExcelシートの数式を組み立てる論理を見直すことなので、数式を組み立てた担当者の論理を解読するまでも無く、元データをどのように処理しなければならないかに着目すれば良いでしょう。 とは言うものの、現在の数式の正当性を評価するには数式の論理を整理する必要があるでしょう。 その手順はネストの外側から順に引数に使われている数式を抜き出して論理を評価すれば良いでしょう。 条件分岐があるときはフローチャートを書いて処理の流れを把握することをお勧めします。 模擬データと実際の数式を提示して頂ければ具体的なアドバイスができると思います。 本来であればあなたにできないことは社内の有識者または外部のコンサルタントに依頼すべきことのように思います。 見直して数式を変更したことにより、重大な欠陥が生じたときはあなたの責任になりますので、慎重に取り組んでください。 修正する前の状態は必ずバックアップするようにしてください。 修正または新規シートに置き換えする前に実証テストを繰り返し実行して目的に合うことを検証してください。

retweet
質問者

お礼

ご回答ありがとうございます。 ご提案いただいた通り、フローチャートを作り始めています。 そもそも、業務の見直し自体に完成形はないとは思っていますので もっとマクロな視点で仕事に向かいたいと考えております。 リスクヘッジのご提案もいただき、あわせて感謝申し上げます。 ありがとうございました。