Loading...
door Locing
EXCEL

INDEX数とは?

INDEX関数とは?

INDEX関数とは、指定した行と列が交差(クロス)する位置にあるデータを抽出する関数です。

(例1)出身地が「東京」を抽出します。

①、抽出したデータを表示するセルをクリックし、半角で「=INDEX(」と入力します。

INDEXとは1

①のコピー用データを表示

②、データを抽出する範囲をドラッグして、「,」を入力します。ここでは「セルA2:E7」を選択します。

INDEXとは2

③、データを抽出したい行番号と「,」を入力します。ここでは「4」と入力します。

INDEXとは3

④、次にデータを抽出したい列番号と「)」を入力します。ここでは「5」と入力します。

INDEXとは4

⑤、するとデータが抽出されて、「東京都」と表示されます。

INDEXとは5

Check Point

INDEX(配列, 行番号, 列番号)

配列 値を求めたい範囲を配列定数で指定します。
行番号 [配列]のなかで何行目に当たるかを指定します。先頭の行が1となります。[配列]が1行しかない場合には、この引数を省略して、「INDEX(配列,列番号)」のように指定することができます。
列番号 [配列]のなかで何列目に当たるかを指定します。先頭の列が1となります。[配列]が1列しかない場合には、この引数を省略して、「INDEX(配列,行番号)」のように指定することができます。

(例2)指定した「ID番号」に該当する「出身地」を抽出します。

①、表示するセル(B10)に、「=INDEX($A$2:$E$7,A10,5)」と入力します。

INDEXとはA

①のコピー用データを表示

②、「Enter」キーを押すと、「埼玉県」と表示されます。

INDEXとはB

③、次に、セル(例:A10)を選択して、下方向へドラッグします。全ての「出身地」が正しく表示されました。

INDEXとはc

Check Point

数式内でセルを固定するための「$記号(ドルマーク)」の使い方

$記号 固定される範囲
$A$1 列と行の両方を固定
$A1 列のみ固定
A$1 行のみ固定

(例1)、(例2)のように参照先を固定($A$2:$E$7)するときは「$」マークを使用します。

MATCH関数とは?

MATCH関数とは?

MATCH関数とは、指定した検査値が検査範囲の中で何番目のセルかを求める関数です。

(例1)出身地が「東京」が表の何列目にあるのかを求めます。

①、抽出したデータを表示するセルをクリックし、半角で「=MATCH(」と入力します。

MATCHとは1

①のコピー用データを表示

②、検査値をクリックして、「,」を入力します。ここでは「東京都」が何列目にあるのか求めるので、「セルB9」を選択します。

MATCHとは2

③、検査値が含まれている検査範囲をドラッグして、「,」を入力します。ここでは「セルA5:E5」を選択します。

MATCHとは3

④、照合の種類を選択し、「)」を入力します。ここでは完全一致の「0」を入力します。

MATCHとは4

⑤、[Enter]キーを押すと、5列目の「5」が表示されます。

MATCHとは5

Check Point

MATCH(検索値, 検査範囲, 照合の種類)

検索値 検索する値を指定します。
検査範囲 [検査値]を検索する範囲を指定します。範囲は1行または1列のセル範囲や配列定数で指定します。
照合の種類 検索の方法を以下のように指定します。
1または省略 [検査値]以下の最大値を検索します。この場合、[検査範囲]のデータは昇順に並べ替えておく必要があります。
0 [検査値]に一致する値のみを検索します。
-1 [検査値]以上の最小値を検索します。この場合、[検査範囲]のデータは降順に並べ替えておく必要があります。

(例2)セルA10の「名前」がどの位置にあるかを求める。

①、表示するセル(B10)に、「=MATCH(A10,B2:B7,0)」と入力します。

MATCHとはA

①のコピー用データを表示

②、「Enter」キーを押すと、「4」と表示されます。

MATCHとはB

INDEX関数とMATCH関数組み合わせ

INDEX関数とMATCH関数組み合わせ

VLOOKUP関数は、一番左の値しか検索できませんが、INDEX関数とMATCH関数を組み合わせると、どの列の値でも抽出することができます。

(例1)「B列」から「名前」と一致する行の値を取得してみます。

①、次の表を用意します。

INDEXとMATCHの組み合わせ

①のコピー用データを表示

②、検索値「山田淳平」に一致する行の「ID」値を取得してみます。

セルB9に検索値「山田淳平」を入力します。次にセルA12に数式「=INDEX(A:A,MATCH($B$9,$B:$B,0))」を入力します。

INDEXとMATCHの組み合わせ

③、「Enter」キーを押すと、「山田淳平」に一致する「ID」の値「4」を取得できました。

INDEXとMATCHの組み合わせ

④、セル「A12」を選択して、「E12」までオートフィルでコピーします。「山田淳平」に一致する、行番号の値が取得できました。

INDEXとMATCHの組み合わせ

(例2)名前を変更して、「池田花子」に入替て検索してみます。

①、セル(B9)に、「池田花子」と入力します。

INDEXとMATCHの組み合わせ

②、「Enter」キーを押すと、「池田花子」に一致する、行番号の値が取得できました。

INDEXとMATCHの組み合わせ

条件に合致するデータ抽出する

INDEX関数を使って「指定した文字列を含むデータを抽出する(例1)

①、抽出元の表から性別:女性のデータを抽出します。

  A B C D E
1名前性別年齢出身地
2田中二郎30埼玉県
3池田花子25愛知県
4町田恵子20福岡県
5山田佳代32東京都
6鈴木玲子24長野県
7
8抽出したデータ
9名前性別年齢出身地
10池田花子25愛知県
11町田恵子20福岡県
12鈴木玲子24長野県
13
14
15
16
17

①のコピー用データを表示

②、コピーする数式

=IFERROR(INDEX(抽出列,1/LARGE(INDEX((ISNUMBER(FIND(条件値,条件範囲)))/ROW(条件範囲),0),ROW(A1))),"")

③、「抽出列」、「条件値」、「条件範囲」の文字を数式に変更します。

=IFERROR(INDEX(A:A,1/LARGE(INDEX((ISNUMBER(FIND("女",$B$2:$B$6)))/ROW($B$2:$B$6),0),ROW(A1))),"")

④、上記の数式を以下のセル「A10」にコピーして貼り付けます。

名前欄に関数入力する

⑤、セルの右下にカーソルを当て、「+」マークになったら左ドラッグで下方向と右方向に数式をコピーすれば完了

下方向と右方向に数式をコピー

Check Point

①、含めない条件にしたい時は、以下の数式を使います。

=IFERROR(INDEX(抽出列,1/LARGE(INDEX(NOT((ISNUMBER(FIND(条件値,条件範囲))))/ROW(条件範囲),0),ROW(A1))),"")

②、「抽出列」、「条件値」、「条件範囲」の文字を数式に変更します。

=IFERROR(INDEX(A:A,1/LARGE(INDEX(NOT((ISNUMBER(FIND("女",$B$2:$B$6))))/ROW($B$2:$B$6),0),ROW(A1))),"")

 

名前欄に関数入力する

③、セルの右下にカーソルを当て、「+」マークになったら左ドラッグで下方向と右方向に数式をコピーすれば完了

下方向と右方向に数式をコピー

INDEX関数を使って「指定した文字列を含むデータを抽出する(例2)

「月間のプログラム表」から日付に紐づいた時間帯別の種目(C2~F3セル)を抽出する。この「例2」は、一日のプログラムが2段ですので「作業列」を使用します。

①、枠(セルA3)に、日付を入力して、該当データを抽出します。

A B C D E F G H I
1抽出したデータ
2曜日午前午後Ⅰ午後Ⅱ夜間 作業列 
35卓球卓球卓球バドミントン5A
4貸切バドミントンバスケットボール卓球5B
5月間プログラム
6曜日午前午後Ⅰ午後Ⅱ夜間  作業列 
71貸切卓球貸切閉館1A
8バドミントン1B
92休館日休館日休館日休館日2A
102B
113貸切卓球バドミントンバドミントン3A
12バドミントン貸切バスケットボール3B
134卓球貸切卓球貸切4A
14バドミントン卓球バスケットボールバドミントン4B
155卓球卓球卓球バドミントン5A
16貸切バドミントンバスケットボール卓球5B
176卓球卓球バドミントン貸切6A
18バドミントン貸切バスケットボール6B
197卓球卓球卓球バスケットボール7A
20貸切バドミントンバスケットボールバドミントン7B
21

①のコピー用データを表示

②、まず、作業列に数式を入力する。

作業列 セルH3に=A3&"A"、セルH4に=A3&"B"
セルH7に=A7&"A" 、セルH8に=A7&"B"

③、次に入力する使用する数式

=IFERROR(INDEX(抽出列,1/LARGE(INDEX((ISNUMBER(FIND(条件値,条件範囲)))/ROW(条件範囲),0),ROW(A1))),"")

 

③-1、「セルB3」に入力する式を「抽出列」、「条件値」、「条件範囲」の文字を数式に変更します。

=IFERROR(INDEX(B:B,1/LARGE(INDEX((ISNUMBER(FIND($A3,$A$7:$A$20)))/ROW($A$7:$A$20),0),ROW(A1))),"")

③-2、「セルC3」に入力する式を「抽出列」、「条件値」、「条件範囲」の文字を数式に変更します。

=IFERROR(INDEX(C:C,1/LARGE(INDEX((ISNUMBER(FIND($H3,$H$7:$H$20)))/ROW($H$7:$H$20),0),ROW(A1))),"")

③-3、「セルC4」に入力する式を「抽出列」、「条件値」、「条件範囲」の文字を数式に変更します。

=IFERROR(INDEX(C:C,1/LARGE(INDEX((ISNUMBER(FIND($H4,$H$7:$H$20)))/ROW($H$7:$H$20),0),ROW(A1))),"")

④、上記の「②~③」の数式を指定セルに貼り付けた後、
・「セルC3~C4」を選択、右下にカーソルを合わせて「+」マークを表示させ、右方向へドラッグします。
・「セルH7~H8」を選択、右下にカーソルを合わせて「+」マークを表示させ、下方向へドラッグします。

□ 枠に、日付を入力して、該当データを抽出します

⑤、セルA3に「5」をに入力すると「B3~F4」に抽出したデータが表示されます。

 

右・下方向へドラッグ結果

複数の関数を使って条件に合致するものを抽出する

①、抽出元の表から性別:女性のデータを抽出します。

  A B C D E F G
1ID名前性別年齢出身地該当連番
21田中二郎30埼玉県
32池田花子25愛知県該当1
43町田恵子20福岡県該当2
54山田佳代32東京都
65鈴木玲子24長野県該当3
7
8抽出したダータ
9ID名前性別年齢出身地
102池田花子25愛知県1
113町田恵子20福岡県2
125鈴木玲子24長野県3
134
145
15

①のコピー用データを表示

②、表の右横などに「該当」「連番」の列の項目を追加します。

「該当」のセル(例:F2)に、
=IF(C2="女","該当","") と入力します。

 

該当欄に関数入力する

③、IF関数を入力したセル(例:F2)を選択します。
セルの右下にカーソルを合わせて「+」マークを表示させ、下方向へドラッグします。

下方向へドラッグします

④、オートフィルで「該当」項目にまとめてIF関数を適用させることができました。性別:女の行に「該当」が表示しました。

 

下方向へドラッグ結果

⑤、「連番」のセル(例:G2)に、
=IF(F2="","",COUNTIF($F$2:F2,"該当"))と入力します。

連番欄に関数入力する

⑥、IF関数を入力したセル(例:F3)を選択します。
セルの右下にカーソルを合わせて「+」マークを表示させ、下方向へドラッグします。

下方向へドラッグします

⑦、オートフィルで「連番」項目にまとめてIF関数を適用させることができました。

オートフィル

⑧、抽出結果を表示させる場所の右列などに番号を入力していきます。

結果表示連番

⑨、抽出したい項目名の右横のセル(例:A10)に、

=IF($F10>MAX($G$2:$G$6),"",INDEX($A$2:$E$6,MATCH($F10,$G$2:$G$6,0),MATCH(A$9,$A$1:$E$1,0)))

と入力します。

A10に関数入力する

⑩、関数を入力したセル(例:A10)を選択します。
セルの右下にカーソルを合わせて「+」マークを表示させ、下方向へドラッグします。

ドラッグ

⑪、そのままオートフィルを適用した一番下のセルの右下にカーソルを合わせ、「+」マークを表示させて右方向へドラッグします。

ドラッグ

⑫、オートフィルでまとめて関数を適用させることができました。

完了

VLOOKUP関数を使って条件に合致するものを抽出する

セルB10の性別(男/女)を選択して、「上表」から該当するデータを「下表」に表示します。

①、性別選択「男」を選択すると、下表のようになります。

VLOOKUP完成した表

①のコピー用データを表示

②、「データの入力規規則」の設定
入力規則を設定したい [セル] を範囲選択します。

セル選択

データ] タブをクリックし、データツールグループにある [データの入力規則] をクリックします。

データの入力規規則表示

入力値の種類の中から [リスト] を選択し、元の値[=$B$21:$B$22] を入力して [OK] をクリックします。

データの入力規規則表示

③、抽出元の連番のセル(例:A2)に、
=IF(D2=$C$10,COUNTIF($D$2:D2,D2),0) と入力しします。

COUNTIF関数を使って指定した性別(例:セルC10)と一致した場合のみ連番が振られるようにします。

オートフィル機能を使用するため、範囲指定で最初の部分(例:$D$2)だけを絶対参照にします。

VLOOKUP元テータ連番を振る

④、セルA2選択して、右下にカーソルを合わせて「+」マークを表示させ、A7までドラッグします。

セル選択

⑤、オートフィルで抽出元の「連番」列にまとめて関数を適用させることができました。
次に、抽出先のセルA13~A18に「連番」を入力します。

VLOOKUP元テータ連番を振る

⑥、抽出した結果を表示させたいセル(例:B13)に、

=IFERROR(VLOOKUP($A13,$A$2:$F$7,COLUMN(B1),FALSE),"")

と入力します。

・連番を検索値に設定し、2列目に該当する「ID」の項目を抽出するため、列番号には「2」すなわち「COLUMN(B1)」を入力します。
・IFERROR関数を使い、該当しない場合に表示されてしまう「#N/A」の表示が消し、より見やすい表にします。

セル選択

⑦、入力したセル(例:B13)を選択して、
セルの右下にカーソルを合わせて「+」マークを表示させ、下方向(B18)までドラッグします。

VLOOKUP元テータ連番を振る

⑧、オートフィルで抽出先の「ID」列にまとめて関数を適用させることができました。

下方向へドラッグ

⑨、次に、セルB2~B16を選択して、
セルの左下にカーソルを合わせて「+」マークを表示させ、右方向F列までドラッグします。

右方向へドラッグ

⑩、オートフィルでまとめて関数を適用させることができました。完成です!

下方向へドラッグ
INDIRECT(インダイレクト)関数の使い方

①、セルを参照する際に、数式「=」を使って参照すると、次のようになります。

数式「=」でセルを参照

セルA1~A5のそれぞれに「A」、「B」、「C」、「D」、「E」と入力します。
セルA4を参照したいので、セルC1に「=A4」と入力します。

数式「=」でセルを参照1

セルC1に「D」が表示されました。

数式「=」でセルを参照2

②、セルの参照を、「INDIRECT関数」を使うと次のようになります。

INDIRECT関数でセルを参照

セルA4を参照したいので、「=INDIRECT("A4")」と入力しています。

INDIRECT関数でセルを参照1

セルC1に「D」が表示されました。

数式「=」でセルを参照2

③、セルの値から参照する文字列を組み立てると、便利になります。

セルの値から文字列を組み立てる

次にようにセルから文字列を参照して、参照先のセルを作ることもできます。

セルの値を使って、セルを参照1

セルC1に「D」が表示されました。

セルの値を使って、セルを参照2

INDIRECT関数で「別シート」を参照する

数式を使って参照

①、「sheet2」の一行目にアルファベット「A~E」を入力します。

数式「=」でセルを参照

②、数式「=」で別シート(「sheet2」)を参照

「sheet1」のセルA1に数式「=Sheet2!A1」を入力します。

「sheet1」のセルA1に「A」と表示されました。

数式「=」で別シートを参照

「INDIRECT関数」を使って参照

③、「sheet2」の一行目にアルファベット「A~E」を入力します。

INDIRECT関数で別シートを参照

④、INDIRECT関数で別シートを参照

「sheet1」のセルA1に「=INDIRECT("Sheet2!A1")」と入力します。

「sheet1」のセルA1に「A」と表示されました。

INDIRECT関数で別シートを参照

セルの値を使って別シートを参照

①、「sheet2」の一行目にアルファベット「A~E」を入力します。

INDIRECT関数で別シートを参照

②、INDIRECT関数で別シートを参照

「sheet1」のセルA1に、「sheet2」、B1に「A1」と入力します。

「sheet1」のセルC1に、「=INDIRECT(A1&"!"&B1)と入力します。

「sheet1」のセルA1に、「A」と表示されました。

INDIRECT関数で別シートを参照
「INDIRECT関数」と「ROW関数」の組合せで「別シート」を参照する

データを間引く

①、INDIRECT関数とROW関数を使って、データを間引く

INDIRECT関数とROW関数を使って

Check Point

ROW関数は引数に指定されたセルが何行目なのかを返す関数です。

「ROW(A1)」なら1行目なので「1」
「ROW(A2)」なら2行目なので「2」
「ROW(A3)」なら3行目なので「3」が返されます。

「ROW(A1)*3」なら「3」
「ROW(A2)*3」なら「6」
「ROW(A3)*3」なら「9」が返されます。

②、文字列を結合する演算子「&」を使う方法と、CONCATENATE関数を使う方法があります。

Check Point

文字列を結合する演算子「&」を使う方法

・A1セルに「東京都」、B1セルに「多摩市」と入力されているときに、
C1セルに「="住所:"& A1 & B1」と入力すると、
「住所:東京都多摩市」と表示されます。

文字列を結合する演算子「&」を使う方法

CONCATENATE関数を使う方法

A1セルとB2セルに入力されている文字列を結合してC1セルに表示させる

・=CONCATENATE("住所:", A1, B1) のように結合したい文字列を引数として直接指定することができます。

CONCATENATE関数を使う方法

「INDIRECT関数」と「ROW関数」の組合せで「別シート」を参照する(応用)

ROW関数の活用

①、sheet1の表から性別/市外・市内の利用人数をsheet2から抽出します。
セルC5~F5、I5~L5に表の下に表示されている関数①~⑧を入力します。

抽出

次の関数をセル「C5~F5」、「I5~L5」に入力します。
 ①、男 市外 =INDIRECT("sheet2!D"&(ROW(Sheet2!D1)*3+2))+INDIRECT("sheet2!H"&(ROW(Sheet2!H1)*3+2))
 ②、男 市内 =INDIRECT("sheet2!D"&(ROW(Sheet2!D1)*3+3))+INDIRECT("sheet2!H"&(ROW(Sheet2!H1)*3+3))
 ③、女 市外 =INDIRECT("sheet2!E"&(ROW(Sheet2!E1)*3+2))+INDIRECT("sheet2!I"&(ROW(Sheet2!I1)*3+2))
 ④、女 市内 =INDIRECT("sheet2!E"&(ROW(Sheet2!E1)*3+3))+INDIRECT("sheet2!I"&(ROW(Sheet2!I1)*3+3))
 ⑤、男 市外 =INDIRECT("sheet2!F"&(ROW(Sheet2!F1)*3+2))+INDIRECT("sheet2!J"&(ROW(Sheet2!J1)*3+2))
 ⑥、男 市内 =INDIRECT("sheet2!F"&(ROW(Sheet2!F1)*3+3))+INDIRECT("sheet2!J"&(ROW(Sheet2!J1)*3+3))
 ⑦、女 市外 =INDIRECT("sheet2!G"&(ROW(Sheet2!G1)*3+2))+INDIRECT("sheet2!K"&(ROW(Sheet2!K1)*3+2))
 ⑧、女 市内 =INDIRECT("sheet2!G"&(ROW(Sheet2!G1)*3+3))+INDIRECT("sheet2!K"&(ROW(Sheet2!K1)*3+3))
「C5~F5」と「I5~L5」をそれぞれ選択、下方へドラッグします。

抽出

全てをコピーした結果下記の通りとなります。

抽出結果

 

「INDIRECT関数」と「VLOOKUP関数」の組合せで参照する

2つの表を切り替えてセルを参照する

①、2つの表 表①と表②を用意しました。

2つの表を用意

②、上の表に、「表①」の名前をつけます。

「表①」の名前をつけます

③、下の表に、「表②」の名前をつけます。

下の「表②」の名前をつけます

④、VLOOKUP関数と、「表①」の中から「う」を参照します。

VLOOKUP関数と、「表①」の中から「う」を参照します

⑤、VLOOKUP関数の範囲には、「表①」を入力します。

VLOOKUP関数の範囲には、「表①」を入力します

⑥、あとは、2列目の完全一致のFalseを入力して、VLOOKUP関数の入力を完成させます。

VLOOKUP関数と、「表①」の中から「C」を参照します

⑦、VLOOKUPとINDIRECTで検索した結果

「表①」のうの値で「300」を検索することができました。

表②の表を検索

⑥、表②の表を検索

表①から「表②」に入力を変えてみます。

「表②」のうの値で「3,000」を検索することができました。

表②の表を検索
「INDIRECT関数」と「MATCH関数」の組合せで参照する

INDIRECT関数とMATCH関数を使って、表の中から値を検索する。

①、次の表を用意します。

表を用意

②、「う」の行数を検索したいので、セルD1に「う」を入力しておきます。

検索値を入力

③、MATCH関数で、行番号を検索

「う」の行を検索したいので、「MATCH関数」を使って、行を検索します。
「=MATCH(D1,B:B)」

「う」の行を検索したいので、「MATCH関数」を使って、行を検索します。

④、「う」は3行目にあるので、結果は「3」となります。

「う」は3行目にあるので、結果は「3」となります。

⑤、INDIRECT関数で、A列の3行目を取得

この「3」を使って、INDIRECT関数で、「A列」の「3行目」を参照します。
「=INDIRECT("A"&D2)」

この「3」を使って、INDIRECT関数で、「A列」の「3行目」を参照します。

⑥、結果は、「C」を取得することができました。

結果は、「C」を取得することができました。
「INDIRECT関数」と「MATCH関数」の組合せで最終行のセルを参照

INDIRECT関数と、COUNTA関数を組み合わせて、最終行のセルを参照する。

①、次の表を用意します。

セルに値を入力

②、「COUNTA関数」を使ってセルに入力されている個数をカウントします。
「=COUNTA(A:A)」

セルに入力されている個数をカウントします

③、5個のセルに文字が入力されているので、結果は「5」となります。

5個のセルに文字が入力されているので、結果は「5」となります。

④、INDIRECT関数で最終行を取得

この「5」を使って、INDIRECT関数で最終行のセルを取得します。
「=INDIRECT("A" & C1)」

この「5」を使って、INDIRECT関数で最終行のセルを取得します

⑤、結果を見てみます。

結果を見てみます

 

「SMALL関数」・「LARGE関数」で昇順、降順に並べ替え

昇順 =SMALL(データ範囲,ROWS($$データ開始:データ行))

①、昇順に並ばせる   

=SMALL($C$3:$C$11,ROWS($C$3:C3))


昇順に並ばせる

①のコピー用データを表示

②、他の行を取得する

=INDEX($B$3:$B$11,MATCH(F3,$C$3:$C$11,0))


他の行を取得する

降順 =LARGE(データ範囲,ROWS($データ開始行:データ行))

①、降順に並べる   

=LARGE($C$3:$C$11,ROWS($C$3:C3))


降順に並べる

②、他の行を取得する

=INDEX($B$3:$B$11,MATCH(F3,$C$3:$C$11,0))


他の行を取得する

「SMALL」を使ってデータを並べ替える(応用)

複数列の並び替え(日付、団体名順を昇順に並び替える)

①、下表のデータを日付、団体名順を昇順に並び替える。

並び替え

①のコピー用データを表示

②、「日にち」の小さな順に昇順に並び替える準備をします。

作業列の「セルH2」に、
=IF(B2="","",B2+A2/100) と入力します。

「A2/100」と「日にち」に重みを付けているのですが、日付の最小変動値「1」を超えないような値になるように「1/100」にします。

「日にち」が「1」の差で順位が変動するので、この値にならない数値を加えて同値のデータに軽重の差をつけています。

並び替え準備

作業列の「セルH2」を選択して、下方向「セルH13」までコピーします。

並び替え準備拡大

③、書き出す表の右に作業列を設けます。

作業列の「セルP2」に、 =IF(H2="","",SMALL($H$2:$H$13,ROW(A1))) と入力して、下方向「セルP13」までコピーします。

H行の作業列を昇順に並び替えます。

日にちの作業列を昇順に並び替え

作業列の「セルP2」を選択して、下方向「セルP13」までコピーします。

日にちの作業列を昇順に並び替え拡大

④、NO列の「セルI2」に、

=IF(H2="","",INDEX(A$2:A$13,MATCH($P2,$H$2:$H$13,0)))

と入力します。

H行の作業列を昇順に並び替えます。

日にちの作業列を昇順に並び替え

NO列の「セルI2」選択して、下方向「セルI13」までコピーします。

日にちの作業列を昇順に並び替え拡大

⑤、NO列のセル「I2~I13」を選択して、右方向のセル「O13」までコピーします。

日にちとデータが昇順に並び替えられました

「日にち」とデータが昇順に並び替えられました。

日にちとデータが昇順に並び替えられました拡大

⑥、次に⑤の「日にち」順データを使って「団体名」順に並び替えます。

セル「A16」に「=L2」を入力します。

日・団体名昇順に並び替える

日・団体名昇順に並び替える

セル「A16」を選択して、「A27」までコピーして並び替えの準備をします。

日・団体名昇順に並び替える

⑦左の作業列のセル「B16」に

=IF(A16="","",IF(COUNTIF(A$16:A16,A16)=1,MAX(B$15:B15)+1,VLOOKUP(A16,A$15:B15,2,0))+J2/100)

と入力します。

左の作業列に関数入力

左の作業列に関数入力

左の作業列のセル「B16」を選択して、「B27」までコピーします。

左の作業列に関数入力

⑧右の作業列のセル「K16」に

=IF(A16="","",SMALL($B$16:$B$27,ROW(A1))) 」

と入力します。

右の作業列に関数入力

右の作業列のセル「K16」選択して、「K27 」までコピーします。

右の作業列に関数入力

⑨NOのセル「C16」に、

=IF($A16="","",INDEX(I$2:I$13,MATCH($K16,$B$16:$B$27,0)))

を入力します。

NOに関数入力

NOに関数入力

NOのセル「C16」を選択して、「C27 」までコピーします。

NOに関数入力

⑩セル「C16」を選択して、下方向のセル「C27」までコピーします。

NOに関数入力

NO列のセル「C16~C27」を選択して、右方向の団体名「F列」までコピーします。

NOに関数入力

⑪件数のセル「H16」に

=IF($A16="","",INDEX(M$2:M$13,MATCH($K16,$B$16:$B$27,0)))

を入力します。

件数に関数入力

件数に関数入力

件数のセル「H16」を選択して「H27 」までコピーします。

件数に関数入力

件数列のセル「H16~H27」を選択して、右方向の時間帯「J列」までコピーします。

件数に関数入力

件数に関数入力

⑫右のテープるから団体名に該当する種目を選択します。

種目のセル「E16」に

=IF($A16="","",INDEX(M$2:M$13,MATCH($K16,$B$16:$B$27,0)))

を入力します。

種目に関数入力

種目のセル「E16」を選択して、下方向「E27 」までコピーします。

種目に関数入力

⑬全体を整えて完成です。

完成

TOP