この関数式の改良法について教えてください。
旅費精算の事務をしているものでして、以下のような状況で急行券の代金を算出するために次の関数式を作りました。
H22繁忙・閑散:日にちが行でグループ分けして書いてあります。
運賃表:繁閑によってプラス200、マイナス200の調整をする駅の名称、路程、乗車賃、急行券等が書いてあります。
運賃表(2):繁閑によってプラス400、マイナス400駅の名称、路程、乗車賃、急行券等が書いてあります。
I列:出発日です。
L列:到着駅です。
=IF(I5="","",IF(COUNTIF(H22繁忙・閑散!$A$1:$H$24,I5)>=1,IF(COUNTIF(運賃表!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表!$A$2:$N$286,5,0)-200,IF(COUNTIF(運賃表(2)!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表(2)!$A$2:$N$286,5,0)-400,"")),IF(COUNTIF(H22繁忙・閑散!$A$25:$H$46,I5)>=1,IF(COUNTIF(運賃表!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表!$A$2:$N$286,5,0),IF(COUNTIF(運賃表(2)!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表(2)!$A$2:$N$286,5,0),"")),IF(COUNTIF(H22繁忙・閑散!$A$47:$H$67,I5)>=1,IF(COUNTIF(運賃表!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表!$A$2:$N$286,5,0)+200,IF(COUNTIF(運賃表(2)!$A$2:$N$286,L5)>=1,VLOOKUP(L5,運賃表(2)!$A$2:$N$286,5,0)+400,""))))))
この関数でできることを変えずに、短くすることはできるでしょうか?
そして、2列に分けて処理せずにこの関数式から出された数字が200以下だった場合に、算出しているセルに何も表示させないようにするには、どうすればいいでしょうか?
officeのバージョンが2003なのでこれ以上長くするのには限界があるのです。(上記関数式(ここではAAAとします。)とすると、
IF(AAA<200,"",AAA)というような感じで入力しようとしましたが、長すぎてだめでした。)
詳しい方、アドバイスお願いいたします。