chevron_left

メインカテゴリーを選択しなおす

cancel
みろく
フォロー
住所
未設定
出身
未設定
ブログ村参加

2019/04/29

arrow_drop_down
  • エクセルでナンプレを自動化してみた!

    前回はピクロスの最初の工程を自動化してみたのですが、しているナンプレのゲームがすべて終わってしまったので、 似ている遊びでナンプレを自動化してみたらどうだろうと思ったので、エクセルで作ってみました。 この問題で試してみました。 まずナンプレと言えば、横・縦、3×3の枠で同じ数字が重ならないようにするゲームですが、 それぞれ横と縦と3×3でどの数字が使用されているかを調べていきます。 これが横の使用されている数字を表にしたものです。 最初は関数で引っ張っていたのですが、数式が邪魔だったので、マクロで自動入力するようにしました。 これが縦に使用されている数字を表にしたものです。 これは3×3の枠で使用されている数字を表にしたものですが、1 2 34 5 67 8 9と枠を順番付けしてそれを1列に並び変えています。 次に上の3つを使って、9×9の計81個のマス一つ一つにどの数字が入る可能性があるかを計算していきます。 そのために、上の表で同じマスの場所がすべて空白の箇所を調べて下の表に反映させました。 1つのマス毎の入る可能性のある数字を調べることが出来たので、 次はこの中から1つしか数字が入らない箇所を見つけます。 まず1マス毎を見ていきます。 例えば、「12」の箇所が 1 になっています。上の表を見ると「12」の列は 4 しか数字が入らないことが分かりました。 このようにして、1つしか入る可能性がない箇所を見つけ、 に入力していきます。 他にも条件として、1マス毎だけでなく、行ごと、列ごと、3×3の枠ごとにも可能性を見つけていきます。 これが行ごとの表です。 これが列ごとで、 これが、枠ごとになります。 全体がこんな感じです。 右下の方にある、青っぽい枠をクリックすると、サーチを開始してくれます。 このように自動化できたのですが、一つ問題点が出てきてしまいました。

  • またしょうもないものを作ってみた!

    最近ピクロスをすることにハマっているのですが、どうしても嫌いな工程があります。 それは、最初の上下、左右から重なる部分を見つける時です。 上から1,2,3,4,5・・・、下から1,2,3,4,5・・・と数えて重なる部分を見つけて黒塗りぬするのが慣れていないので、ぱっと見でこの行が重なる部分があるのか分からないので、重なりそうな時は数えてみて、結局重なる箇所がないと面倒なことしたと思ってしまいます。 そこで最初の工程だけは楽しようと思い、エクセルで自動で重なる箇所を表示してくれるものを作りました。 遊んでいるピクロスは基本的には15×15のマスが多いので、今回はそれをベースに作りました。 上と左の数字は手入力をしないといけませんが、そこをまず入力します。 そこで左上の青いボタンを押すと、このマスの右側にある この4つの枠にそれそれ「左上:縦の上から」「右上:縦の下から」「左下:横の左から」「右下:横の右から」1,2,3,4,5・・・と数えた場合を入れてくれます。 まず4つの上側の縦の数字の入力ですが、 このように左は上から数えた場合、右は下から数えた場合を表示してくれます。 この中の数字は、あとで重なっている箇所を判断するために、1,2,3,4,5と順番にしています。 マクロはこのような感じで入力しています。 独学で勉強して入力したので、実際使いこなしている人からすれば無駄な箇所が多いと思います。 この左右の枠で同じ数字で重なっている箇所を引っ張ってきます。(ここはマクロでなく、関数で引っ張ってきました) そうするとこの箇所が重なっていると分かります。 次に4つの下側の横の数字の入力ですが、 左は左から数えた場合、右は右から数えた場合を表示してくれます。 マクロはこんな感じ! 途中で出てくる「For ii = A to B」の「ii」を使うために、マクロの最初のところに「Dim ii As Integer」と書いてあるのですが、自分の中では、「ii」と「jj」くらいまでで止めておきたいのですが、「For」を使う箇所が多かったので、「kk」と「ll」まで使ってしまいました。 こういう場合は、もっと他にいい方法があるのでしょうか・・・。

  • ビジネスで役に立つエクセル Part6

    今回は売上目標の為にどれくらいの数量売上たらいいかとかを、自動で計算してくれるソルバーを紹介します。 まず使用前に設定が必要です。 まずエクセルのオプションを開きます。 開くと別ウィンドウが開くので、「アドイン」を選択して、下の管理を「Excelアドイン」を選択して、選択をクリックします。 そこで、「ソルバーアドイン」にチェックマークを付けて、OKをクリックします。 これで設定は終了です。 すると上のリボンのデータのタブに「ソルバー」というのが右に表示されるようになります。 ここからソルバーを使います。 例えば、「えんぴつ」と「消しゴム」と「ボールペン」の3商品を販売しているとします。 5月までの売上は確定していて、あと2か月で売上を¥50,000達成しないといけないとします。 そこで6月と7月が何個売ると¥50,000に達成するかを計算したくでも、1つずつ入力して計算するのは面倒です。 (ここで関数を使用している箇所は、 数量の表の合計のところにSUM関数売上の表の合計にSUM関数と売上金額は数量×単価売上額の下の欄は売上の合計の列を合計しています。) ここでソルバーを使うと自動で目標額までの数量を計算してくれます。 まずリボンの「ソルバー」をクリックします。 すると上のウィンドウが開きます。 入力する箇所は、「目的セルの設定」「目標値」「変数セルの変更」「制約条件の対象」の4か所です。 目的セルの設定は、ここでは売上額を¥50,000にしたいので、ここでは売上額の下のセル「F12セル」を選択します。 目標値は、¥50,000を目標売上額にしたいので、「指定値」にチェックを付け、「50,000」を入力します。 変数セルの変更は、自動に数値を入力する箇所を選択するので、ここでは数量の表の空白部分を選択します。なので「D2:E4」を選択します。 制約条件の対象は、変数セルの変更で選択したセルに数字を入力する為の条件になります。(条件がぬけていると結果が表示されない可能性がありますので気を付けましょう。) ここでは、数量の値を入力するので、 変数セルは「整数」・「0以上」の条件が必要です。

  • じゃんけんの確率をエクセルで計算しようとしたら・・・

    しょうもないことをエクセルを使って計算していました。 とあることがきっかけで、じゃんけんのあいこの確率が知りたくなり、エクセルで計算していました。 普通に計算した方が、圧倒的にはやいし、楽ですが、何となくエクセルで作成している時に、今後使えない計算を考えました。 でも、こういうことを考えていると、初歩的な関数の組み合わせで色々データを作ることが出来ます。 確率の結果は、全通り作成して確率を計算しているので、確率の計算をしたわけではないです。 普通に計算する方法だったら、勝つ方法が何通りか計算すれば簡単です。 まずは普通に計算でのだしかたの説明ですが、 じゃんけんする人数をnとした場合の式は、 (2のn乗(次からは2^n)-2)×3が勝つ方法の何通りかの計算です。 例えば5人でじゃんけんした時の全通りは3^5になるので、243通りになります。 そこで勝つのは、3種類の手が出ないパターンなので、グーとパー、パーとチョキ、チョキとグーになります。 まずグーとパーしかない時の全通りは、2つしか種類がないので2^5になります。その中で、全員がグーかパーは2通りしかありません。 ですので勝つ確率は2^5 – 2 通りの30通りになります。 パーとチョキ、チョキとグーも同様といえるので、30通りの3倍の90通りになります。 ですので、あいこは243通り – 90通りの153通りになります。 勝つ確率の計算は (2^5 – 2)*3/(3^5)の約37%になります。 あいこの確率は、1から勝つ確率を引けばあいこの確率になります。 そこでエクセルの話に戻ります。 グーを0、チョキを2、パーを5とした時に、 4人でじゃんけんした場合に、前81通りになります。 0,0,0,0や0,2,5,0や0,2,2,0のようにA列に1人目、B列に2人目、C列に3人目、D列に4人目の手を入力して、81行、全通り入力します。 E列にあいこの場合は、あいこ、その他の場合は勝つ手を表示するようにしました。 あいこの表示の仕方は、4人の手のパターンが1種類の場合か、4人の手に3種類全部混ざっているパターンの場合です。 手が1種類のパターンは SUMPRODUCT(1/COUNTIF(A1:D1,A1:D1))

  • Excelでマリオの1-1ステージ作ってみた

    Excelで初代スーパーマリオブラザーズの1-1のステージを作成してみました。 とりあえず出てくるキャラクターやアイテム場所をドット絵で作成します。 結構時間かかりました。 これだけの作業で何時間もかかったのですが、 これを使いながら、1-1のステージの動画を見ながらステージを作成します。 最初の画面は、1つ目のはてなブロックのちょうど左までしか表示されていません。 そこから、1つはてなブロックを置いて、3マスあいて、普通のブロック置いて、というように地味な作業を繰り返していました。 しかも高さを合わせるのも大変で、ブロックのドット絵は16×16マスなので、ブロック4つ分の高さに設置します。 その時に行の幅をめちゃくちゃ小さくしているので、高さが合わせにくくなります。なので、一番下のブロックから16を4回繰り返し数えてそこにブロックを設置します。それを設置する毎に毎回します。 この作業も何時間もかかります。 ずっとコツコツとブロックを置いていき、やっと完成しました。 といっても、これも次の工程を完成させる為の準備作業でした。 今はとりあえず1-1ステージを作成しましたが、 次のステップとしては、エクセルのマクロを使って実際マリオが動いている様子を作ってみたいと思います。 またこんな風にしたら出来るだろうとしか想像していないので、もしかしたら出来ないかもしれません。 出来ましたらまたここに載せたいの思います。

  • Excelでマリオ1-1動かしてみた(途中経過)

    前に書きましたスーパーマリオの1-1のステージを動かしてみようと思い、マクロを使っていろいろ動かしています。 まだ完成はしていないのですが、 マリオの走る動きと、クリボーの動き、ゴール後の城から旗がでる動き、はてなブロックからキノコがでる動きを作成していました。 セルを選択してやっているので、枠が出てしまうのが気に入らないので、また再度1から考えようと思います。 モーションは変える必要がないと思うので、セルの選択方法だけ変えてしまえば、枠は消えて見やすくなると思います。 ・マリオの走る姿 少しぎこちない走り方をしてるので改良が必要ですね。 ・クリボーの動き マリオと一緒に動かしてはいないので、もしかすると歩くスピードが速いかもしれません。 これも比べてみてダメだったら改良が必要です。 ・ゴール後の旗の動き これは大丈夫ですかね。 あとは城と組み合わせるだけです。 ・キノコの出る動き ブロックが上がるタイミングで、はてなブロックの絵を1コマ分追加してみてもいいかもしれません。 まだまだ完成まで時間がかかると思いますが、 こういうしょうもないことをやってる時が結構好きなので、楽しいです。

  • Excelでマリオ1-1動かしてみた(途中経過2)

    途中で、セルの選択の枠が気になってしまって、どうしようか悩んでいた時に、 ステージの背景は動画で撮って、マリオのドットは画像で背景をクロマキー加工で取り除いて、合成して1つの動画にしようとした時に、エクセルのすごさを知ってもらう為に作ってみようと思ったけど、逆に動画編集のすごさを知ってもらえるからいいかと思っていたのですが、使っていた編集ソフトをあまり詳しくしらず、マリオのモーションも一定のものしか出来ず、自由に動かせることができなかったので、前のパソコンの時に使っていた編集ソフトをダウンロードしようと思ったのですが、また1から編集する手間が大変そうだったので、そこで合成作戦は断念しました。 今は断念しましたが、後々作成していこうと思います。 ここでまたエクセルでの作業に戻り、一旦セル選択の枠は気にせず最初のところだけ作成してみました。 もうすでに1-1のステージとは違うのですが、1つ目のはてなブロックに本当はコインなのですが、キノコを入れてみて動き的に問題ないかを検証してみました。 ちょっと走り方が遅くてぎこちない感じですが、なんとか出来ました。 ジャンプもゆっくりで、ブロックに当たってから、キノコが出るモーションと、マリオが降下していくモーションを同時に行わないといけないので、どうしても不格好になってしまいます。 自分の中では、エクセルに出来ないことはないと思っているので、 自分が知らないだけで何かしらの方法があると思います。 それもいろいろ試行錯誤して作っていきたいと思います。 Excelでのマリオのステージを作りながら、もう一度合成の動画でもステージを作成していきます。

  • 超短編のスーパーマリオをドット絵で作成してみた

    Excelの方は頭を使ってしんどくなってしまったので、休憩がてら ドット絵を使って超短編のマリオを動画編集ソフトで作ってみました。 休憩がてらと言いながらも何時間もかかっていますが・・・ 5,6年前くらいは、ニコニコが流行っていた(今も流行っているのかもしれませんが)ころで、その時はよくオープニングの映像を作ってたりしました。 使い方を思い出すのに時間がかかってしまいましたが、 少しは思い出してきました。 いろいろ動画を作っていきたいと思います。 こういうの作ってほしいとかがありましたら、Twitterでご連絡ください。

  • スーパーマリオ1-1をドット絵だけで作ってみた(途中)

    ドット絵の組み合わせで、スーパーマリオの1-1を作ってみようとして、最初はエクセルで作っていたのですが、今は動画編集ソフトで作るのが楽しくてそっちばかりしてしまっています。 とりあえず、途中のスターが出てくるところまでは作成したのですが、あとステージの長さ的には半分くらいのところです。 このステージが完成したら、他にも何かしらの動画を作っていこうと思います。 途中経過の動画はこんな感じ!!! 動画編集の画面でマウスホイールでの動画の進み方しか見ていなかったので、今初めて動画としてみると、土管から土管へのジャンプとか、スターが出てからのスターの動きが速すぎるとかいろいろダメな点が見えてきましたので、再度修正したいと思います。

  • スーパーマリオ1-1をドット絵だけで作ってみた(途中2)

    前に書いたブログの続きで、前回はスターの出てくる箇所まで作成していたのですが、一応ゴールまでは作成できました。 ゴールまでと言っても、ステージとマリオの動きだけですが・・・ 後は、クリボーとノコノコの敵を配置して動かすだけです。 1体クリボーは配置しているので、後の作業は簡単だと思います。 配置の仕方も慣れてきたので、また続きの作業をしていこうと思います。 ゴール前の階段のマリオが降下するところがスピード的に早いので、そこも修正したいと思います。 スターの跳ね方はまだマシになったと思います。

  • スーパーマリオ1-1をドット絵だけで作ってみた(完成)

    ドット絵だけで1-1を作ってみたですが、 やっと完成しました(一応ですが・・・) まだまだ違和感があるところがたくさんあるので、少しずつ調整してもっといいものを作ろうと思います。 途中で、画面を止める作業が面倒だったので、ジャンプを無理やししてたりしてるので、違和感だらけですが、ゴールまでは行けました。

  • マリオ1-1をドット絵だけで作ってみた(編集作業編)

    先日、スーパーマリオの1-1をドット絵だけで作ってみたの動画を上げたのですが、今回は編集ソフトでの作業編です。 まず作った動画のブログからお読みください。 こちらで作成するために使った編集ソフトですが、お金もかけず無料で作成できるように今回は無料のソフトを使用してみました。 その編集ソフトは、 「AviUtl」 です。 ツール自体の無料ですし、追加のプラグインも無料になっています。 mp4の動画を読み込んだり、出力したりするのにもプラグインが必要ですので、ご要望がありましたら紹介します。 まず編集画面がこちらになります。 76個のレイヤーで終わったのですが、この無料ソフトだとMAXがLayer100までしか表示できないので、無理やり重ねて76までにしました。 本当だと動画の流れと同じように下に伸ばしていきたかったのですが、それをすると、ブロック系の表示だけで、140近くレイヤーが出来てしまって表示できないので、仕方なく重ねて編集しました。 下にあるレイヤーのオブジェクトほど、動画では手前に表示されます。 オブジェクトとは、上の画像の青い四角の部分を言います。音声のオブジェクトだと赤くなります。 敵を表示するために分けたレイヤーも動画中に同時に4体クリボーが出てくる箇所があるので4つも使用してしまいました。 背景は青い空だけなので1つ使用して、地面の このブロックは最初固定で使っていたのですが、マリオが動くのに地面が動かないのはおかしいので、地面も動かすようにするために画像を使ったのですが、同じ長さの画像をくっつけて右から左へ動かしているので、どうしても同じ画面に2枚の画像が表示される箇所がでてくるので、2行のレイヤーを使いました。 75と76のレイヤーはマリオの動きを作っています。 75はまず最初から最後までマリオの走っている動きをずっと繰り返して入力します。 ブロックよりも下のレイヤーにしているので、ブロックも土管も突っ切って動いているようになります。 走っているモーションは、実は3枚の画像しか使っていなくて、 この3枚しか使用していません。

arrow_drop_down

ブログリーダー」を活用して、みろくさんをフォローしませんか?

ハンドル名
みろくさん
ブログタイトル
みろくのビジネス
フォロー
みろくのビジネス

にほんブログ村 カテゴリー一覧

商用