新しいシートに書き込む。Excelファイルは、乱数を使用しA列とB列に1,000行づつ作成。A列の関数は、1列目に「商品名」2列目以降は下記関数で乱数を生成。&MID(CHAR(RANDBETWEEN(48,57))&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(97,122)),RANDBETWEEN(1,3),1)&MID(CHAR(RANDBETWEEN(48,57))&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(97,122)),RANDBETWEEN(1,3),1)B列の関数は、1列目に「金額」2列目以降は下記関数で乱数を生成。した回数を「count」より差し引句ことにより、新しいシートに書き込む際に、セルの空白が出ないようにしている。<count>セルの2行目から(1行目はタイトルが入っている為)始まるように設定。<branch_point>振り分ける条件の金額設定。<amount>セルから取得した金額が代わり代わり入ってくる。over_buranch_point>if文の条件に当てはまらなかった(branch_pointよりも金額が大きかったもの)「商品名」と「売上額」が入ってくる。<str_count>セルの行番号を指定するのに、String型でないとダメみたいなので変換。sheet_name.max_row:sheet_name.max_rowで、シートの最終行を取得。)なので、countが1,000以下の間はwhile文の処理が実行される。sheet_name.cell(row=count,column=2).value比較する金額(B列の金額)をamountに代入。if文では、amountが設定した金額より小さかったら実行されます。amountが基準より大きければ、商品名と金額を変数に代入しています。(product_nameとover_buranch_point)上記コードより先に作成しておいた、新しいシートに基準を通過してきた商品名と金額を書き込んでいきます。最後に、countに+1して、while文の先頭に戻ります。