【´・ω・`】:こんなリクエストがあった。
************************************************************************************
Microsoft Teams というサービスを教育活動で使うようになりました。
その機能の一つに、「音声の練習」というものがあります。
音読すると、AIが評価します。
https://www.youtube.com/watch?v=NilBP_YwXDw
その評価の集計を「Excelにエクスポート」できます。
私たちが使っている生徒名簿に、集計結果を転記したいのです。
************************************************************************************
【´・ω・`】:「Excelにエクスポート」した表は下のようなカンジだ。
【´・ω・`】:C列(メールアドレス)が学習者、D列が課題名、H列が評価を表している。
(●`ε´●):どこが問題なんだ?
【´・ω・`】:C列(メールアドレス)の重複を無くして、課題名ごとに評価を振り分けたいという事らしい。
(●`ε´●):下のような表を作りたいということか?
【´・ω・`】:そう。
(●`ε´●):瞬殺だな。
【´・ω・`】:
うん、 集計ファイル(main.xlsx)のG2に下記の数式を入力し、必要な範囲にコピペすればいい。
=SUMPRODUCT(($F2='[data.xlsx]Reading Progress'!$C$2:'[data.xlsx]Reading Progress'!$C$2:$C$113)*(G$1='[data.xlsx]Reading Progress'!$D$2:$D$113)*('[data.xlsx]Reading Progress'!$H$2:$H$113))
【蛇足】数式の意味
=SUMPRODUCT((main.xlsxのメールアドレス=data.xlsxのメールアドレス)*(main.xlsxの課題名=data.xlsxの課題名)*(評価値範囲))
A=Bが真ならば1,偽ならば0になる。
従がってmain.xlsxのメールアドレス=data.xlsxのメールアドレスとmain.xlsxの課題名=data.xlsxの課題名が共に成立する時
=(main.xlsxのメールアドレス=data.xlsxのメールアドレス)*(main.xlsxの課題名=data.xlsxの課題名)
=1*1
・・・となる。
しかし、main.xlsxのメールアドレス=data.xlsxのメールアドレスとmain.xlsxの課題名=data.xlsxの課題名が共に成立するのは
評価値範囲では一つしかない。
残りの=(main.xlsxのメールアドレス=data.xlsxのメールアドレス)*(main.xlsxの課題名=data.xlsxの課題名)は
=0*0
=0*1
=1*0
・・・のどれかになるのだ。
よって・・・
=SUMPRODUCT((main.xlsxのメールアドレス=data.xlsxのメールアドレス)*(main.xlsxの課題名=data.xlsxの課題名)*(評価値範囲))
=0+0+0+・・・+1*1*評価値
=評価値
・・・となる。
参考ファイル: Mainをダウンロード(main.xlsx 集計用)
Dataをダウンロード(data.xlsx Reading Progress in Microsoft Teamsよりエクスポート)
使用上の注意:main.xlsxとdata.xlsxは同じフォルダにいれて使ってください。
★改訂版を公開しました。(2022/05/12)
Excel Maniacs: Reading Progress in Microsoft をExcelで集計 改訂版 (typepad.jp)
最近のコメント