計算の仮定をすべて負うことができるエクセル表を公開する。
この表のダウンロード版を用いて、自らカーボンフットプリントや関与物質総量の計算をすることも可能である。
なお、表の軽量化のために、新規入力行以前の既存計算数値の関数は参考のために1行と2行以外は外し数値化させている。
表が大きいため表示には時間がかかります。
CFP計算用エクセルの作成
図1 エクセルの入力シート
1 エクセルの構造
エクセルは3つのシートからなる。「入力」「計算」「燃料」である。「燃料」シートは、燃料の燃焼時のCO2を燃料ごとに表したデータベースシートであり、燃料CO2(入力W)に組み込まれたVlookup関数を用いて、燃料量(入力Y)の量から、燃料種(入力X)に合致した燃料CO2(入力W)を与えるためのものである。
「入力」は、「要素名J」と「構成名K」とLからAHまでのデータにより構成され、ここにシステムを形成するすべての要素が記述される。
「要素」は「構成」の上位概念である。別の言い方をすると、ある「要素」を形成するために投入される物質や必要となる処理プロセスが「構成名」となり、その要素の次の行からつぎつぎに一行ずつ取って記述される。この「構成」は、そのあとで「要素」なり、次の階層の「構成」を生み出す。
「構成」にはその要素の単位(要素量L)に必要とされる量が最終量Nとして与えられる。この値は直接入力されるのではなく下Q、上Rの範囲のある値として与えられる。これは、プロセスに投入される物質などの量は確固たるものではなく値に幅があるからである。なお幅を持って与えることができない場合もあり、その時は下Qだけに数値をいれる。量Oはこの下Q、上Rの相乗平均を取って単一数値化したものである。また、投入物の中に有機溶媒や水などで循環使用される場合があるので、その場合はその循環率%を循環率Sにいれると、循環ロス分を使用量として最終量Nに反映することができる。「構成」で入力するのは構成名Kと下Q、上Rおよび循環率Sだけであり、上Rおよび循環率Sはない場合もある。
「要素名」は、最初の一つ(CFP対象)を除いて、あとに述べる自動生成機構により「構成」から自動的に生成される。「要素名」がでてくると、まず、それが既存のデータベースにないかチェックする必要がある。もし、既存のデータベースからその要素のCFPが得られると、その値を「原単位CO2(AD)」に書き込み、Q列に1をいれて、この「要素」の入力は終わりである。
既存のデータベースにない場合、まず、Q(範囲があればRも)列に構成の単位となる要素の基準量をいれる。単位などは、この要素とその下に並ぶ構成の間だけで整合が取れておけば良く、他の要素との関係は気にしなくて良い。
データベースにない場合、まず「要素」の行にプロセスの投入エネルギーなどをいれる。Qは先述の通りの要素の基準量である。電力量T、燃料量Yが、上下の幅を持ってU,VとAA,ABに入れられ相乗平均を取って単一化されるのは量Oの場合と同じである。発生CO2(AC)は、燃焼以外のCO2の発生がある場合である。なお、土石(AE,AF,AG)は、資源効率も含めた計算をするための準備であり、今回は関係ない。AH(allocation)については、重要なので、別途、項を変えて説明する。
その前に、「入力シート」のA列からI列は自動生成する、要素と構成を関連付けるための部分である。ここで常陽なのはG模擬計算である。この数値自体は意味を持っていないが、エクセルの中で循環計算が発生するとここに、循環エラーが発生する。Gは循環が起きていないかをチェックするために特別に作った列である。
構成番号Hは「構成」につけられた番号であり、同じ構成名があると同じ番号が自動に振られる。ただし、「リン酸」と「りん酸」のように文字が違うものは別々に番号を振られるので、要注意である。なお、Hは次のような式になっている
=IF(J4=””,IF(COUNTIF(K$2:K3,K4)>0,INDIRECT(“H”&MATCH(K4,K$2:K3,0)+1),IF(COUNTIF(J$2:J3,K4)>0,INDIRECT(“A”&MATCH(K4,J$2:J3,0)+1),C4+1)),””)
参照要素行Fは、その行に該当する「構成」が何番目の「要素」となっているかを示すものであり、この番号を元に「構成」が「要素」となってまたこの「構成」を生むという階層化された構造を表す。
ちなみに、Fは、
=IF(H2<>””,INDEX(ROW(A:A),MATCH(H2,A:A,0)),LOOKUP(2,1/(H$1:H1=A2),ROW(H$1:H1))
となっている。
上位要素行Eは、その「構成」が所属している「要素」を行番号で表したものである。
=IF(A2=””,LOOKUP(2, 1/(A$1:A1<>””), ROW(A$1:A1)),””)
次要素行Dは、次の順番の要素が出てくる行番号である。これがあることにより「計算」シートでその「要素」に属する「構成」の和を計算することができるようになっている。
=IF(A2=””,LOOKUP(2, 1/(A$1:A1<>””), ROW(A$1:A1)),””)
最大番号Cは新規の「構成」に対して「構成番号」Hを与えるために、参照として現在の行までで最大の番号を表しておくためのものである。
=MAX(MAX(A$2:A2),MAX(H$2:H2))
初出参照行Bは、ある「要素」が、「構成」として初めて登場した行を表す。
=IFERROR(IF(A8<>””,MATCH(A8,H$2:H7,0)+1,””),””)
要素番号Aは、要素の番号である。
=IF(K8=””,MAX(A$2:A7)+1,””)
これらは、「構成」の最後に書かれてデータベースに無い「要素」の下の行に新しい「構成」が書き込まれるたびに、自動的に生成され、「構成」に対応する新しい「要素」を自動追加するための計算システムであり、かつ、実際の積算もこのデータとくに、「参照要素行」Fを用いて計算されていく。
これらは、順に上から記述されていくことを前提としている。もし、「構成」の書かれている「要素」の最終のもの以外を変更すると、全体がズレてくるので、要注意である。とくに、「カット&ベースト」は、そこを参照しているセルの構造まで変えるので、厳禁である。「コピー&ベースト」でも、AからH列の関数が不連続になり計算がおかしくなるので、避けるべきである。
挿入や変更のある場合は、AからHの当該行から構成の入った要素を記述した最終行までコピーして数値だけを貼りつけて、関数が動作しないようにして、投入や、修正を行うことが求められる。
「入力」シートのA列からAH列までは、入力を計算に引き継ぐためのものである。
CFPの総合的計算結果はAS列({CFP})の2行に表される。AS列(CFP)は電力由来の総和(AQ列)から計算されるCO2発生量と、燃料その他(燃焼以外、原単位)からのCO2量(CP2FP AR列)の和である。
=AQ2*燃料!D$15+AR2
電力FP(AQ列)は電力を積算する部分である。この計算は「要素」と「構成」では異なった計算をする。「要素」の場合は、その「要素」のプロセスで投入される電力に加えて、そこに含まれる「構成」の電力のフットプリントに構成量Nを乗じたものの総和をとり、それを「要素」の単位Lで除して「要素」の電力フットプリントにしている。すなわち、その上の階層でこの「要素」の電力フットプリントを呼び出して、その階層での「構成」として、「構成量」と乗ずることで、その構成に関する電力フットプリントかける構成量のせきとなり、その上の階層での「要素」の計算の一分となるのである。すなわち、
=IF(AZ2<>””,AH2*(T2+IF(AZ2>ROW()+1,SUM(AQ3:INDIRECT(“AQ”&AZ2-1)),0))/L2,M2*INDIRECT(“AQ”&BB2))
なおここで、AZ,BA,BBはそれぞれ「入力」シートの「次要素行D」「上位要素行E」「参照要素行F」を引き写したものである。
AR(CO2FP)は同じ計算を燃料発生CO2および、発生CO2、原単位CO2に対して行ったものである。
=IF(AZ2<>””,AH2*(W2+AC2+AD2+IF(AZ2>(ROW()+1),SUM(AR3:INDIRECT(“AR”&AZ2-1)),0))/L2,M2*INDIRECT(“AR”&BB2))
あと、ATからAV列は、資源効率を組み込むための準備であり、AW,AZは整理段階のもので意味はない。BDからBGは、フローチャートを自動作成させるための中間計算であり、BJからBMはそれを行を詰めて表したもので、この部分を切り取ってCSVファイルにすると、それを用いてカーボンフットプリントの流れの大きさを表したフローチャートを作成することができる。
また、BQからBSはこの計算の過程で得られた、中間物のカーボンフットプリントであり、それを、データベースに組み入れて、今後の計算に用いることもできる。
2 循環について
システムのライフサイクルを追っていると、2つの種類の循環が生じる。1つは、リサイクルなどによりあるプロセスから発生した物質が、再生などの処理を経て再投入される、いうならば大きな循環である。もう一つの循環は、LCAでシステム内のプロセスを追いかけていくと、その構成成分として再帰的に現れる場合である。例えば、
水素の製造には、メタンが必要で、メタンには天然ガスが必要、天然ガスにはそれを得る際にアミン溶液が必要となり、そのアミン溶液にはアンモニアが必要で、アンモニアには水素も必要という循環である。
まず、小循環の対応について述べる。この場合は、多階層を経ての循環であり、循環というより再帰と呼ぶのがふさわしいであろう。例の場合もアンモニアに用いられる水素は水素全体の製造に対して無視できる量である。しかし、エクセルシートを使って計算した場合には、循環計算となりエラーになってしまうため、それをそのまま放置することはできない。それを識別するのが、エクセルシートの「入力」シートG列の「模擬計算」であり、新たな「構成名」の入力で再帰が起きると、循環計算としてエラーが発生する。その場合、深い階層で再帰したものに関しては、それをマークを付けて原単位化する。
マークを付けて原単位化とは、まず「水素」ではなく「o水素」のように主計算に用いる水素と再起した水素を区別しておく。これで、エクセルの循環計算エラーはまず解消できる。つづいて、このままでは、アンモニアの計算で水素の寄与分がゼロとなってしまうために、みのo水素の原単位として、そこまでで得られていた水差のCFPの値を書き込む。厳密にはこれにより微妙に水素の原単位自体も変化するのだが、ほとんど無視できる程度である。気になるのであれば、それにより変化した値を水素の原単位に書き改めれば良く、神経質に気にならなくなるまでそれを繰り返せば、丸め誤差の範囲まで修練させることもできる。
大循環については、まずフローチャートでみてみよう。
図2.
図2.では、1から5のプロセスからなるが、その中で3のプロセスから発生したものが4のプロセスでの処理を経て、5のプロセスからの発生物とともに3に循環されている。
LCAの基本は、システム境界の中にあるすべてのプロセスのプロセス稼働量とその稼働量単位あたりの環境負荷(環境負荷プロセス原単位、この報告の場合はCO2発生量)をかけ合わせて総和を取ることである。ゆえに、それは
• Burden=∑pi*bi+p3*b3+n4*Q’4*b4+(n2-p4/Q4)*Q5*b5
i=1,2
と表される。ここで1と2のプロセス稼働量と環境負荷プロセス原単位の積算をS2と書いて式を改めると、
=S2+ p3*b3+p4*b4+(n2-m4)Q5*b5
となる。S4= S2+ p3*b3+p4*b4 とすると
=S4+(n2-m4)Q5*b5
つまり、循環がなければn2入ってきていた5のプロセスからの環境負荷を循環により入って来る量だけ減らした計算になる。すなわち、
• =S4+p3(1/Q’3-r*1*Q’4/Q4)Q5*b5
エクセルシートの処理としては、
図3
図3のように、要素名「名前3」にみどり色で示して「処理名4」がリサイクルの分だけ必要な処理をして要素の中のひとつの構成となり、「名前3」に「名前4」の処理の結果とともに「名前3」のプロセスに物質を供給していた「名前5」からの供給量が削減された形で記述される。一方で「処理名4」には、その構成要素として「名前3」は記述しないことになる。