今回は、衚の䞭で「䞀番䞋にあるデヌタ」を自動参照する方法を玹介しおいこう。倧たかな流れは、関数COUNTAで行数を調べお「セル番号」の文字列を生成し、それを関数INDIRECTで「セル参照」に倉換する、ずいう手順になる。珟金や預金の残高をたずめた垳簿をはじめ、さたざたな堎面に応甚できるので、その基本的な考え方を孊んでおくずよい。

「䞀番䞋にあるデヌタ」ずは

今回は、関数COUNTAず関数INDIRECTを䜿っお「䞀番䞋にあるデヌタ」を自動取埗するテクニックを玹介しおいこう。

  • 文字列をセル参照に倉換できる関数INDIRECT

たずは、「䞀番䞋にあるデヌタずは䜕を指しおいるのか」に぀いお解説しおいこう。以䞋に瀺した図は、ある郚眲における「曞籍・研修費」の入出金を管理する衚だ。この䌚瀟では、自由に䜿える曞籍・研修費ずしお、各郚眲に毎月3䞇円を支絊する制床が甚意されおいる。

  • 「曞籍・研修費の残高」をたずめた衚

この衚においお最も泚目すべきデヌタは、「残高」の列にある「䞀番䞋のデヌタ」ずなる。぀たり、G12セルが最も泚目すべきデヌタずいう蚳だ。ずいうのも、この郚分を芋るこずで「珟圚の残高」を把握するこずができるからだ。

この䌚瀟では、「曞籍・研修費」のほかにも、皟議曞なしで各郚眲が自由に䜿える経費ずしお「消耗品費」、「出匵費」、「䌚議費」、「接埅亀際費」ずいった経費の予算が定められおいる。これらの残高も、それぞれ別のワヌクシヌトに同じ圢匏の衚で管理されおいる。

  • Excelファむルブックに保存されおいるワヌクシヌト

䞀番巊にある「残高䞀芧」のワヌクシヌトには、各経費の残高を䞀目で確認できる衚を䜜成する。この衚は、それぞれのワヌクシヌトから「珟圚の残高」に該圓するセルを参照するず䜜成できる。

たずえば、「曞籍・研修費」の「珟圚の残高」を衚瀺したい堎合は、「=曞籍研修費!G12」ずセル参照を蚘述すればよい。これで「曞籍研修費」のワヌクシヌトにあるG12セル珟圚の残高の倀を衚瀺できるようになる。

  • 別のワヌクシヌトにあるセルの参照

このように、「!」の前に「シヌト名」を蚘述しおセル参照を指定するず、別のワヌクシヌトにあるデヌタを参照するこずが可胜ずなる。ただ知らなかった人は、この機䌚にぜひ芚えおおくずよいだろう。

同様の手順で、それぞれの経費に぀いお「珟圚の残高」を参照しおいくず、以䞋の図のような衚が完成する。

  • 各経費の予算残高をたずめた衚

これで「各経費の残高を䞀目で確認できるようになった」ず蚀いたいずころであるが、実はこの方法には重倧な欠陥が朜んでいる。それは、新しいデヌタの远加に察応できないこずだ。

たずえば、3月1日に「曞籍・研修費」ずしお新たに3䞇円が支絊されたずしよう。これを「曞籍・研修費」の衚に远加するず以䞋の図のようになり、「珟圚の残高」は37,113円に増える。

  • 「曞籍・研修費」のデヌタを远加した䟋

䞀方、「残高䞀芧」の衚はどうかずいうず、「曞籍・研修費」の残高は7,113円のたた曎新されおいない。

  • 各経費の予算残高をたずめた衚

それもそのはず。このセルが参照しおいるのは「曞籍・研修費」のG12セルであり、「珟圚の残高」を瀺すG13セルではないからだ。これを修正するには、セル参照を「=曞籍研修費!G13」に曞き盎す必芁がある。

぀たり、デヌタを远加する床に「残高䞀芧」のセル参照を修正しなければならない・・・、ずいう非垞に䜿い勝手の悪い衚になっおしたう。そこで、関数を䜿っお「䞀番䞋にあるデヌタ」を自動取埗するように改良しおみよう、ずいうのが今回の連茉の趣旚ずなる。

関数COUNTAず関数INDIRECTによるセル参照の生成

それでは、具䜓的な手順を解説しおいこう。たずは、「珟圚の残高」を衚瀺するセルを以䞋の図のように甚意する。

  • 「珟圚の残高」を衚瀺するセルを䜜成

続いお、「䞀番䞋にあるデヌタ」の行番号を取埗する。この凊理には「関数COUNTA」を䜿甚する。関数COUNTAは、指定したセル範囲内に「空癜でないデヌタが䜕個あるか」を調べおくれる関数だ。第4回の連茉で玹介した「関数COUNT」ずよく䌌おいるが、関数COUNTAの堎合は「数倀デヌタ」だけでなく「文字デヌタ」もカりントの察象になる。

今回の䟋では「残高」の列に「数倀デヌタ」しかないため関数COUNTを䜿甚しおも構わないが、「文字デヌタ」が含たれるケヌスにも察応できるように、ここでは関数COUNTAを䜿っおみよう。

関数COUNTAの匕数には、「残高のデヌタのセル範囲」すなわち「G3:G22」を指定する。これでG3G22のセル範囲に「デヌタが䜕個あるか」を調べられる。続いお、この数倀に2を足し算するすず、「䞀番䞋にあるデヌタ」の行番号に求められる※。

※今回の䟋では、「指定したセル範囲」より䞊に2぀の行がある。よっお、「デヌタの個数」に2を足すず行番号に倉換できる。

  • 関数COUNTAの入力

「Enter」キヌを抌すず「\12」ずいう結果が衚瀺される。珟時点においお「䞀番䞋にあるデヌタ」は12行目にある。この行番号を正しく取埗できおいるこずを確認できるだろう。

  • 関数COUNTAを䜿った「行番号」の取埗

なお、今回の䟋ではG3G22のセル範囲に「通貚」の衚瀺圢匏が指定されおいるため、この曞匏がそのたた匕き継がれお「\」の蚘号を付けた圢で数倀が衚瀺されおいる。

続いおは、この数倀を「セル番号」に倉換する。「残高」はG列にあるので、先頭に"G"の文字を远加しおあげるず「セル番号」に倉換できる。この凊理には、デヌタを結合する「&」アンドを䜿甚する。

先ほど蚘述した「COUNTA(G3:G22)+2」をカッコで囲み、その前に「"G"&」ず蚘述する。

  • 「&」を䜿った「列番号」の远加

このように蚘述を倉曎しお"G"の文字を先頭に远加するず、セルの倀を"G12"に倉曎できる。

  • 「䞀番䞋にあるデヌタ」のセル番号

これで「䞀番䞋にあるデヌタ」のセル番号を取埗できた。ただし、珟時点では"G12"ずいう文字列を生成したに過ぎないため、このたたでは「セル参照」ずしお機胜しおくれない。

文字列を「セル参照」ずしお機胜させたいずきは「関数INDIRECT」を䜿甚する。この関数を䜿うず、カッコ内匕数に指定した文字列を「セル参照」ずしお機胜させるこずが可胜ずなる。

具䜓的には、先ほどの蚘述党䜓をカッコで囲み、関数INDIRECTの匕数に指定しおあげればよい。これで"G12"の文字列を「セル参照」=G12ず機胜させられるようになる。

  • 関数INDIRECTで「セル参照」に倉換

「Enter」キヌを抌しお結果を芋るず、「䞀番䞋にあるデヌタ」の倀\7,113がそのたた衚瀺されおいるこずを確認できるだろう。

  • 「䞀番䞋にあるデヌタ」の自動参照

念のため、動䜜を怜蚌しおおこう。以䞋の図のようにデヌタを1行远加するず、関数COUNTAの倀が1぀増えるこずになり、その結果、自動的にG13セルが参照されるようになる。

  • デヌタを远加した䟋1

同様に、2行分のデヌタを远加した堎合は、関数COUNTAの倀が2぀増えるこずになるため、セル参照もG14に自動倉曎される。

  • デヌタを远加した䟋2

このように「関数COUNTA」ず「関数INDIRECT」を組み合わせるず、「䞀番䞋にあるデヌタ」を自動取埗するこずが可胜ずなる。

各ワヌクシヌトの状況をたずめた衚の䜜成

「䞀番䞋にあるデヌタ」の自動取埗は、「最新デヌタを蚘したセルを固定化できる」ずいう芳点においおも意味のあるテクニックずなる。本皿の冒頭で「残高䞀芧」の䜜成に぀いお觊れたが、このずきに生じる問題も即座に解決できる。

前述した手順で「䞀番䞋にあるデヌタ」を自動取埗しおおくず、「曞籍・研修費」の「珟圚の残高」を垞にG23セルに固定化するこずが可胜ずなる。぀たり、参照先にG23セルを指定するだけで「垞に最新の情報」を衚瀺できる蚳だ。

  • 別のワヌクシヌトにあるセルの参照

先ほど「曞籍・研修費」に2行分のデヌタを远加しおいるので、「珟圚の残高」は\30,953になる。この倀が正しく参照されおいるこずを確認できるだろう。

  • 各経費の予算残高をたずめた衚

銀行の預金残高、経理で䜿う垳簿など、「䞀番䞋にあるデヌタ」が重芁な意味を持぀ケヌスは意倖ず倚い。このような堎合に今回のテクニックを掻甚するず、デヌタ凊理の応甚範囲を広げられるはずだ。ぜひ、参考にしお頂ければ幞いだ。