Excel総合相談所 75at BSOFT
Excel総合相談所 75 - 暇つぶし2ch1:名無しさん@そうだ選挙にいこう
08/11/12 15:21:20
Excelに関する質問は、ここで!

▼━ 質問のしかた ━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-10あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1~4の情報)は必須情報。

▼━質問テンプレ (出来れば使ってね) ━━━━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。

※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
  まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
  URLリンク(www.google.co.jp)

前スレ
Excel総合相談所 74
スレリンク(bsoft板)



2:名無しさん@そうだ選挙にいこう
08/11/12 15:24:45
2get?
1乙

3:名無しさん@そうだ選挙にいこう
08/11/12 15:47:13
▼━質問時の注意・決まり事━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
  ここは技術的な質問のみで。
・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能でExcelに関係ないことも出来ます。
  Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、
  どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。
  但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。
  ここみたいに丸投げはダメですよ。
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
  例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
  その上で、どううまくいかないのかを具体的に書きましょう。
  エラーが出るなら、何処でどういうエラーが出るのか、
  想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。
・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
  チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
  ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
・B 書籍や解説サイトの紹介依頼はスレ違い。ここは技術的な質問のみで。

4:名無しさん@そうだ選挙にいこう
08/11/12 15:47:45
★ルールを無視すると…
 >>1-2あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ

 1.マルチをしてしまったら…
 A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
   それが嫌なら初めからマルチなんてしないように。>>2にマルチ禁止と書いてあり、
   マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。

 2.>>1★4に従わず、必要な情報を出さないと…
 A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
   VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
   適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
   これはきちんとルールに従って質問、依頼した人のみの特権です。

 3.情報・条件を後出しすると…
 A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
   >>1★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
   長文になってもいいので詳細かつ明確かつ具体的に書きましょう。

★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。

5:名無しさん@そうだ選挙にいこう
08/11/12 15:49:22
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼環境・書式
  ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007では16'384列、1'048'579行扱える)
  ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA)
  ・ 行の高さを0.25きざみ以下の単位で指定する
  ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト)
  ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける)
  ・ 祝日を判断する (作業セルに祝日を列挙、VBA)
  ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合)
  ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など
  ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する (プラグイン)
  ・ 罫線幅の自由指定
  ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA)
  ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整)

 ▼操作
  ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成)
  ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA)
  ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA)
  ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA)
  ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える)
  ・ 1セルを分割 (分割したいセル以外を結合)

6:名無しさん@そうだ選挙にいこう
08/11/12 15:54:56
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。
ここに書かれてないからといって必ず出来るはずだなんて思わないように。

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。

7:名無しさん@そうだ選挙にいこう
08/11/12 15:55:31
   ||
   || ━ 質問のしかた ━
   ||
   || ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
   || ★2 要望は具体例や図を使って明確かつ具体的にしる。
   || ★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
   || ★4 質問テンプレ(雛形)は必須ではないが、
   ||    OSやExcelのバージョン、VBAの可否などは必須情報。
   ||
   ||            ∧ ∧   。
   ||          ( ,,゚Д゚)/ ジュウヨウ!!      E[]ヨ
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ  つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                /  ̄ ̄ ̄ ./| ________________
                | ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
                        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      \    は~~~~い      /
    ∧ ∧    ∧,,∧   ∧ ∧
    ( ,, ∧▲  ミ  ∧ ∧ (  ∧ ∧
  ~(_(  ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
    @(_(,,・∀・)@ (   *)~ミ_ (   ,,)
      @(___ノ ~(___ノ    ~(___ノ

エクセルの技術的な質問と関係ない議論・雑談は下記スレッドで。

【質問不可】Excel総合相談所スレの雑談・議論スレ2
スレリンク(bsoft板)

8:名無しさん@そうだ選挙にいこう
08/11/12 16:47:08
おつ

9:名無しさん@そうだ選挙にいこう
08/11/12 17:44:47
1おつ

10:名無しさん@そうだ選挙にいこう
08/11/12 18:35:02
おまえらに宿題だ
あるエクセルファイルのアクセス履歴を、アクセス者に感づかれる事無く調べたい。
何かやっていることを感づかれてはいけないので、エクセルファイル自体へのマクロ埋め込みは不可だ。
そのファイルは保存しないため、最終保存者プロパティの取得でも不可だ。
検討を祈る

11:名無しさん@そうだ選挙にいこう
08/11/12 19:57:46
↑頭を下げずに答えをえ教えてもらう古典的な方法

12:名無しさん@そうだ選挙にいこう
08/11/12 20:25:43
>>10
死ねカス

13:名無しさん@そうだ選挙にいこう
08/11/12 20:28:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【5 検索キーワード     】 Excel 中央揃え ショートカット

Excel2007で、「テキストの中央揃え」のショートカットキーってないんでしょうか?
(Alt+H→ACではなくて、一発でできるCtrl+*のやつです)

オンラインヘルプなどからもたどり着く下のページではCtrl+Eとなっていますが、これはMicrosoftのミスと考えていいんでしょうかね?
テキストを選択しても、セルを選択しても、ワークシート全体を選択しても、全く何も起こりませんでした(なお、左揃えや右揃えも効きません;右揃えCtrl+Rは他のショートカットに割り当てられているようです)。
Ctrl系のショートカットで、Ctrl+E以外で実はあてがわれているものがあれば、教えていただけたらうれしいです。
ないようでしたら少し手間はかかるけれどAltで我慢しようと思います・・・。

URLリンク(office.microsoft.com)

14:名無しさん@そうだ選挙にいこう
08/11/12 20:50:20
>>13
ショートカットキーはこっちのが正しいと思う。
URLリンク(office.microsoft.com)
マクロを使えば好きなキーに好きな機能を設定できる

15:名無しさん@そうだ選挙にいこう
08/11/12 21:56:28
Windows VISTAでExcelを利用しています。
実験の結果をグラフにしようと思い、実行しようとしたら分からなくなりました。
xとyを同時に測定する実験で、xが測定順に0.1、0.21、0.35でyが測定順に1、2、3だとします。
これをグラフにした場合x軸の目盛りを0.1ごとにしたいんですがどうしたらいいでしょうか?


16:名無しさん@そうだ選挙にいこう
08/11/12 22:00:03
>>15
Excelのバージョンとグラフの種類は?

17:15
08/11/12 22:14:01
2007で、折れ線グラフです!
直線になるはずない測定値なのに直線になってしまい困っています。
お願いします

18:名無しさん@そうだ選挙にいこう
08/11/12 22:18:39
「第2軸」を使用すると良いでしょう。

19:名無しさん@そうだ選挙にいこう
08/11/12 22:20:13
散布図を使うという手もあるかな

20:名無しさん@そうだ選挙にいこう
08/11/12 23:29:46
レスありがとうございました。
同じような測定を繰り返して何本もグラフ重ねたいんですが、
3本目以降重ねられなくなりました。
そういう仕様なのですか?

21:名無しさん@そうだ選挙にいこう
08/11/12 23:39:53
>>20
軸が共通なら1つのグラフに255本まで重ねてプロットできる
グラフを右クリックしてデータの選択

22:名無しさん@そうだ選挙にいこう
08/11/12 23:42:23
前スレで解決しなかったのでもう一度質問します。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【5 検索キーワード     】 白黒 2値 印刷

白黒2値印刷をしたいのですが、Excel2007で印刷するとグレースケールになってしまうのは仕様ですか?
ページ設定→シート→白黒印刷をチェックしても印刷プレビューと実際の印刷でグレーになってしまいます。

23:名無しさん@そうだ選挙にいこう
08/11/12 23:44:41
2本すら重ねられなくなりました。
ちなみに出る表示は
「データ範囲が複雑なため…」と出ます

24:15
08/11/12 23:50:31
>21様

横軸xも毎回測定なので多少違うのですが…重ねるのは無理ですか?
ちなみに横軸に同じセル指定しても無理でした。

25:名無しさん@そうだ選挙にいこう
08/11/13 00:17:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(自分では組み立てられないけど)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 集計 並び替え 結合

<基本データ>
   A   B    C  D
  出荷 商品  単価 輸送費

1 東京 リンゴ  100 300
2 東京 バナナ  120 300
3 東京 ミカン   108 300

4 大阪 ナシ  110 200
5 大阪 ブドウ 105 200
6 大阪 リンゴ 100 200



26:25続き
08/11/13 00:18:46
ここで問題なのは、D列の輸送費なのですが、これは「東京」全体で300円であり、リンゴ、バナナ、ミカンそれぞれにかかる金額ではないということです。
D列の1~3行目、4~6行目までを結合してしまうと、並べ替えや集計ができなくなりますので結合する以外の方法が望ましいです。
が、今回から毎月「出荷地別」の合計額を集計し、グラフにしないといけなくなりました。(単価合計と輸送費込みの金額で集計しろと言われています)

東京 628 (単価合計328 + 輸送費300)
大阪 515 (単価合計315 + 輸送費200)

         ■
■       ■
■       ■
■        ■ 
--------------------
大阪   東京
(515) (628)

こんな感じで各地域を横軸に、それぞれの単価合計と輸送費を足した合計金額を縦軸にした
棒グラフを作りたいのですが、どうやってグラフの基になる表を作ればいいかわからなくなりました。
基本データを変えずにこのようなグラフを定期的に作るためには、どうすればいいかご教示下さい。

実際のデータは1000行以上あり、列項目も複雑ですが、自動マクロで必要な列だけ抽出するところまではできました。データは毎日追加更新されます。


27:25続き
08/11/13 00:19:36
グラフ折れ曲がった・・・orz

28:名無しさん@そうだ選挙にいこう
08/11/13 00:19:46
>>24
軸を共通にするってのは、こんなふうにやる
URLリンク(bull.s11.x-beat.com)

29:名無しさん@そうだ選挙にいこう
08/11/13 00:28:38
>>25
作業列を作ってそこに輸送費を入れる。
この時、地域が同じなら最初の1回しか入らないようにする。
=IF(COUNTIF($A$1:A1,A1)=1,D1,"")

30:名無しさん@そうだ選挙にいこう
08/11/13 01:05:16
>>26
単価表を別に作れば?
SUMIFか集計で地域別の合計は出そうだしVLOOKUPと組み合わせれば何とかなるような…

31:名無しさん@そうだ選挙にいこう
08/11/13 07:47:25
>>24
情報不足で、後出しでよう分からんが、
やっぱなんか、散布図じゃないかな。

32:名無しさん@そうだ選挙にいこう
08/11/13 07:47:56
>>22
プリンタードライバー側で
できることがある。

33:名無しさん@そうだ選挙にいこう
08/11/13 09:57:43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 覚えたばかりです
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 foreach コレクション ファイル リネーム
多数のファイルをリネームしたいと思っています。
2008-11-05-㈱aaa.xls
2008-11-20-㈲bbb.xls
2008-11-未処理-㈱ccc.xls
という様な名前のファイルが多数あります。
「2008-11-」の部分までは必ず同じになっています。
そしてこれを来月に「2008-12-」で始めるようにリネームし、
更に来月には「2009-01-」で始めるようにしたいのですが、
コレクションがうまく扱えないで困っています。

同じフォルダにマクロを入れたファイルを置き、
ボタン一つでリネームするようなイメージなのですが・・
コードのご教授をお願いします。

34:名無しさん@そうだ選挙にいこう
08/11/13 10:06:14
>>33
そういう規則的な名前変更はコマンドプロンプトで一発。
ren 2008-11*.* 2008-12*.*

35:名無しさん@そうだ選挙にいこう
08/11/13 10:10:53
>>33
本当にリネーム?
コピーじゃなくて

36:名無しさん@そうだ選挙にいこう
08/11/13 10:25:11
>>34
ありがとうございます!!
>>35
コピーは定期バックアップ&最初に別媒体にとってありますので大丈夫です


37:名無しさん@そうだ選挙にいこう
08/11/13 10:31:27
>>33
FileSystemObject使わない方法

Sub Macro1()
 ChDir "C:\ExcelData" ' フォルダ指定
 FN1 = "2008-11" ' 変更前
 FN2 = "2008-12" ' 変更後

 DI = Dir(FN1 & "*.*")
 Do While DI <> ""
  Name DI As FN2 & Right(DI, Len(DI) - 7)
  DI = Dir()
 Loop
End Sub

38:名無しさん@そうだ選挙にいこう
08/11/13 10:31:50
URLリンク(www2.uploda.org)
このような状態のとき、
「P列の‘色が付いてる部分'の‘セルの個数'」を求めるにはどうすればいいのですか?

39:名無しさん@そうだ選挙にいこう
08/11/13 10:34:25
>>37
ありがとうございました!
これで仕事が大幅に減ります;;

40:名無しさん@そうだ選挙にいこう
08/11/13 10:47:14
>>33
コマンドプロンプトをVBAから使う方法

Sub Macro2()
  DI = "C:\ExcelData\" ' フォルダ指定
  FN1 = "2008-12" ' 変更前
  FN2 = "2008-11" ' 変更後

  Call Shell("cmd.exe /c ren """ & DI & FN1 & "*.*"" """ & FN2 & "*.*""", vbMinimizedNoFocus)
End Sub

41:名無しさん@そうだ選挙にいこう
08/11/13 10:56:06
>>38
見たところ、各行の最小値に色が付いてるみたいだから、これは条件付き書式を使ってるのかな?
色つきのセルはVBAを使わないとカウントできないから、最小値の個数を数えた方がいいんでない?

42:名無しさん@そうだ選挙にいこう
08/11/13 11:01:06
>>40
感激です!使ってみますね

43:名無しさん@そうだ選挙にいこう
08/11/13 11:30:38
>>38
行毎の最大値に色をつける方法探してた人だね?
条件付書式と同じような条件で数えればいいだけだと思う
作業列を作るか配列数式を使う

条件付書式じゃなかったらGET.CELLでいけると思う
使い方はググレ

44:名無しさん@そうだ選挙にいこう
08/11/13 12:26:19
>>43
38じゃないけど配列数式の方法を知りたい。
その書き方だと作業列を作らずに配列数式だけで処理できるみたいだけど、俺の頭じゃ無理だ。

45:名無しさん@そうだ選挙にいこう
08/11/13 13:35:52
>>38
まず作業列を作って最大値が何列目にあるかを出す。
次にそれを集計する。
URLリンク(xepid.com)
作業列の式=MATCH(MAX(O2:S2),O2:S2,0)
集計=COUNTIF($T2:$T18,1)
セル範囲は実際の表に合わせて書き換える。

46:43
08/11/13 15:19:31
>作業列を作るか配列数式を使う
作業列を作って配列数式を使うとでもしないと無理だなw
>>45の表を借りると
作業列の式=MAX(O2:S2)
集計=SUM(IF(O1:O18=$T$1:$T$18,1,0))
集計は配列数式

47:名無しさん@そうだ選挙にいこう
08/11/13 15:41:33
>>38
仮にS列に
S1=IF(MAX(O1:P1)=P1,1,0)
これを合計
=SUM(S1:Sn)

48:名無しさん@そうだ選挙にいこう
08/11/13 18:08:52
数字によって
0から、18.5以下は×
18.5以上から、25以下は△
25以上は、○
という風にしたいのですが、if関数を使ってたんですけどうまくいきません。
どうしたらいいですか?

49:名無しさん@そうだ選挙にいこう
08/11/13 18:16:21
>>48
ヘルプでLOOKUPの書式1を読むといいかも
あと細かいけど
>0から、18.5以下は×
以下じゃなくて未満だよね?

50:誘導されました
08/11/13 18:27:39
Excel2003を使って横棒グラフを作っているのですが、
グラフのデータラベル(?)のところに値をパーセントで表示したいのですが、
%表示の表を作ったり、直接グラフに入力する以外に何か方法はありませんでしょうか?


URLリンク(www.pref.aichi.jp)
このようなグラフを作りたいのですが。
数字が書いてあるところに、何%と表示されるように

51:名無しさん@そうだ選挙にいこう
08/11/13 18:28:03
>>48
厳密にやるならこうだけど、
=IF(AND(0<=A1,A1<18.5),"×",IF(AND(18.5<=A1,A1<25),"△",IF(25<A1,"○","")))
マイナスのデータが存在しないなら、0以上かどうかの判断を省略してもっと簡単にできる
=IF(A1<18.5,"×",IF(A1<25,"△","○"))

52:名無しさん@そうだ選挙にいこう
08/11/13 18:38:23
>>50
データラベルの表示形式でパーセンテージを選ぶと単純に%が付きますが、
それで困るなら元のデータを%形式で作っておくしかないです。

53:名無しさん@そうだ選挙にいこう
08/11/13 20:41:32
>>51
0以上でも判定の順番を逆にすれば短くできる。
=IF(A1>=25,"○",IF(A1>=18.5,"△",IF(A1>=0,"×","")))

54:仕事になりません
08/11/13 21:22:20
2007使用しています。
写真を挿入すろためファイルを選択しようとすると表示ルートフォルダの初期化をしますとでます。
いちいちでてきてファイルをすんなり選択できず、仕事での写真帳を製作するのに時間がかかってしまいます。
突然この表示がでるようになりました。
だれかこの初期化をとめる方法教えてください。

55:名無しさん@そうだ選挙にいこう
08/11/13 21:35:40
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 値を残してシートを削除

シート1で作成したデータをシート2にリンク貼り付け。
その後、シート1を削除するために、コピーして形式を選択して貼り付けで値を選択しシートを削除しましたが
シート2のデータが#REF!になってしまいました。
考えられるミスは何が考えられるのでしょうか・・・。


56:名無しさん@そうだ選挙にいこう
08/11/13 21:47:06
>>54
Windowsの種類は何ですか?

57:名無しさん@そうだ選挙にいこう
08/11/13 21:49:11
>>55
コピー時か貼り付け時に範囲を間違えた

58:名無しさん@そうだ選挙にいこう
08/11/13 21:56:04
>>55
条件付き書式を使っている
マクロを使っている

59:よろしくお願いします
08/11/13 22:11:08
>>56
XPです

60:名無しさん@そうだ選挙にいこう
08/11/13 22:33:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA テキストファイル UNICODE など

文字コードが「UNICODE」のテキストファイルがあります。
ファイルにはAもしくはBから始まるデータが格納されています。

これを、AはAだけ、BはBだけに振り分けたテキストファイルを作成したいのですが、
どうすればいいのでしょうか。

61:名無しさん@そうだ選挙にいこう
08/11/13 23:15:45
エクセルと言うソフトについて知りたいんですが
画像の大きさ|容量  | を一括りにして
______|_____|
100x100 |3MB  |
200x100 |1MB  |
100x200 |2MB  |
と言うように分けた場合
大きさに対し「名前順に配列」(あれば)の機能を利用して
100x100 |3MB  |
100x200 |2MB  |
200x100 |1MB  |
に変更できたりするのでしょうか?また一時保存してこの状態からサイズ順に配列ということもできますか?
サイズの場合1と11111と222と言う数字があった場合11111が最後に来てしまうような気がするのですが
(自動配列機能があったらの話ですが)宜しくお願いします

62:名無しさん@そうだ選挙にいこう
08/11/13 23:19:53
読み直しでミスを発見
>サイズの場合1と11111と222と言う数字があった場合11111が最後に来てしまうような気がするのですが
1→11111→222ですね、1は2よりも少ないので名前順で配列してしまった場合11111が最後には来ません
1→222→11111になるかどうかを記入したかったのですが間違えてしまいました

63:名無しさん@そうだ選挙にいこう
08/11/13 23:27:54
>>61
できます

64:名無しさん@そうだ選挙にいこう
08/11/13 23:32:15
>>62
並べ替えで可能だけど、その例のように純粋に数字だけが入ってる場合にそういう順番にしたいなら
セルの書式設定を文字列にしてから入力するか、既に数字として入力されてるなら文字列に変換しないと駄目だと思う

65:名無しさん@そうだ選挙にいこう
08/11/13 23:54:38
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 指定 検索 リスト

ファイルうpしてます。
URL
URLリンク(www.uploda.org)
ファイルNo.1782367
PASS 【 abcd 】


sheet1が元の出勤表になってます。
sheet2の日報を1ヶ月分先に作るのですが、sheet1をプリントして、その日出勤する者のNoを入力で、
名前と勤務時間が表示されるようになってます。

実際には200人近い表の中から、一日100人前後の日報×30日分を作らないといけないので、
毎月月末になると大慌てで困ってます。

日付を入力するだけで、その日の出勤時間が空白じゃないNoだけを抜き出してA列に出す方法はないでしょうか?

どうかお力添えをお願いします。


66:名無しさん@そうだ選挙にいこう
08/11/14 00:22:08
>>63-64
なるほど・・・・
名前さえ並び替えができればあ行か行とか分類が簡単に出来そうですね
予算が出来次第購入を考えたと思います

67:名無しさん@そうだ選挙にいこう
08/11/14 00:22:48
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
A列に2031,2033,5060,1050,3000
といった4桁の数がずらっと並んでいます。
頭2桁の数がダブりなくどの数が出現しているかはどうやれば
わかるのでしょうか。
上の例で言うと
20(が2個)、50(が1個)、10(が1個)、30(が1個)
カッコ内の出現個数が分かればよりいいのですが、どんか数が
入っているのかが知りたいのです。
COUNTIFなどは引数に指定した数がいくつあるかとかだと
思うのですが、どんな数があるかわからないので事前に引数に
とることが出来ないのです。
ご教示ください。よろしくお願いします。

68:名無しさん@そうだ選挙にいこう
08/11/14 00:54:51
2000以上の個数からから2100以上の個数を引けば2000台の数
というのはだめなのか

69:名無しさん@そうだ選挙にいこう
08/11/14 00:55:45
頭2桁と決まってるなら
B1:=LEFT(A1,2)
とかで取り出せない?
これを下までオートフィルでビーっと引っ張って(B列だけにビーっと)
その後で個数を数える方法をなんなりと

70:名無しさん@そうだ選挙にいこう
08/11/14 01:17:54
>>66
体験版が無料で使えるから試してみるべし

71:名無しさん@そうだ選挙にいこう
08/11/14 01:22:02
>>60
VBAはできるみたいだし質問が今ひとつ愛麻衣なのでヒントだけ
ただしUTF-8とUTF-16の区別、BOMの有無などは考慮してないので、この先は自力で調べるべし

Sub ReadUtfTextFile1()
  Filename = "C:\test.txt"
  Workbooks.OpenText Filename:=Filename, Origin:=-535
End Sub

Sub WriteUtfTextFile1()
  Open "C:\test2.txt" For Binary As #2
  work = Cells(1, 1) & vbCrLf & Cells(2, 1) & vbCrLf
  work = StrConv(work, vbUnicode)
  Put #2, , work
  Close #2
End Sub

72:名無しさん@そうだ選挙にいこう
08/11/14 01:25:04
>>69
そういう場合オートフィルはCtrl押しながらフィルハンドルをダブルクリック
何千行あっても必要な数だけ一瞬で入る

73:67
08/11/14 01:30:28
早速のお答えありがとうございます。
>>68
すみません、私の理解力が足らず、今回はその方法は断念します。

>>69
ありがとうございます。頭2桁を取得すると、その結果たとえば
22,36,80,15,15,80
というB列ができますが、その中から現れた数字を
配列に入れて、ほかのプロシージャに渡したいのです。
ネット検索しても、ある特定の数「22」が何回出現したかなどは
出てくるのですが、出現した数値をダブりなく網羅して
22,36,80,15
というものを取得したいのですが、どうにも分かりません。
もしよろしければその辺を解説していただければ
助かります。(出来れば)よろしくお願いします。

>>72
すごくためになりました。ありがとうございます。

74:名無しさん@そうだ選挙にいこう
08/11/14 01:43:38
配列、とかプロシージャという言葉は俺には馴染みがないが
ピボットテーブルを組んでみるというのはどうだろう

75:67
08/11/14 02:13:01
>>74
ピボットテーブル、まったく分からないんですよ…
すごく便利だとは聞いているんですが、なんというか理解の埒外というか…。
どういう理由でそれをそこにドラッグするのかがまず分かりません。

にしても、ある範囲の値を漏れなくダブりなく返す標準関数ってないものだったのでしょうか。
「フィルタ」で「重複レコードは無視」が一番楽なのでしょうか。

76:名無しさん@そうだ選挙にいこう
08/11/14 02:20:35
>>73
重複を除いた一覧はこれで作れるけど、こんなんでいいのか?
URLリンク(momoiro.s4.x-beat.com)
B列はなくても出来るけど、わかりやすさを考えて一応入れてみた。

77:名無しさん@そうだ選挙にいこう
08/11/14 04:12:09
>>65
VBA不可になってるけど、どう考えてもマクロで一気にやった方が簡単なんで
ボタン付けてみた。起動時に「マクロを有効にする」でやってみれ。
URLリンク(futakoi.jp)

78:名無しさん@そうだ選挙にいこう
08/11/14 09:28:20
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

ハイパーリンクの設定について教えて下さい。
セル内の特定の文字にだけハイパーリンクを設定することは可能ですか?
例えば「ABCDEFG」という文字があったらCDEの部分だけリンクを貼るようにする感じです。
よろしくお願い致します。

79:名無しさん@そうだ選挙にいこう
08/11/14 09:40:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(必要であれば勉強するつもりです)
【5 検索キーワード     】 リスト 選択 数字キー ショートカット etc.

出荷伝票で、「品名、等級、サイズ、個数」などの項目を入力してるのですが、
セルがアクティブになった時点でリストが自動で表示され、
その中から数字キーで選択すると入力が終わり、アクティブなセルが隣に移動する。
という感じで、数字キーの選択だけで連続して入力していくような事は可能でしょうか?

今は入力規則のリストを使ってますが、小さいノートPCを手に持って入力してるので、
できるだけ入力の手間を省きたいと思ってます。
VBAが必要であれば、勉強するキッカケとしてヒントでもいただけたらと・・・w

80:67=73
08/11/14 09:54:56
>>76
素晴らしいです!なるほどこう考えればいいんですね。
マクロに組み込ませていただきます。
ありがとうございました!


81:名無しさん@そうだ選挙にいこう
08/11/14 11:01:09
>>79
VBAじゃないと無理だね

つーか、シート上で入力することに拘らないで
入力フォームでも使った方が良いのでは?

82:名無しさん@そうだ選挙にいこう
08/11/14 12:02:19
>>78
無理です
リンク部分だけテキストボックスを重ねてください

83:名無しさん@そうだ選挙にいこう
08/11/14 12:17:12
>>48
=LOOKUP(A1,{0,18.5,25},{"×","△","○"})

84:名無しさん@そうだ選挙にいこう
08/11/14 12:27:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 すごくちょっと
【4 VBAでの回答の可否】 ちょっとだけ可
【5 検索キーワード     】 VBA セル プロテクト

VBAで、一定のセルに対するプロテクトのON・OFFはどう記述すればいいの教えてくださいm(_ _)m


85:84
08/11/14 12:38:27
すいません できました・・・けど、カーソルがそこのセルに飛ぶなぁ

86:名無しさん@そうだ選挙にいこう
08/11/14 13:02:05
>>85
ヒント Select は使わない

いっぺん自分で作ったコード晒してみ

87:78
08/11/14 13:03:47
>>82
ありがとうございます。
テキストボックスで対処することにします。

88:名無しさん@そうだ選挙にいこう
08/11/14 13:04:42
>>54
外付けHDDやUSBメモリなどのドライブを取り外したり、LANでつながってるパソコンの電源を切ったりすると
そのようになることがある

89:85
08/11/14 13:10:12
85だけど、こんな感じ・・・

Range("A1").Activate
Range("A1").Locked = True

90:名無しさん@そうだ選挙にいこう
08/11/14 13:17:09
>>89
1行目は不要。いちいちActivateしなくてもいい。

91:79
08/11/14 13:41:15
>>81
入力フォームを使うというと、こういうのでしょうか?
URLリンク(www.asahi-net.or.jp)

これだとフォームに入力した文字をそのままシートに転記してるようですが、
フォーム上のリストの中から数字キーで選択した文字を転記するようなことが出来るんでしょうか?

92:38
08/11/14 13:48:51
URLリンク(www.uploda.org)
作業列の式の書き方が良く分かりません
(画像ではT列は自分で打ち込んでいます)
>>作業列の式=MATCH(MAX(O2:S2),O2:S2,0)
こう書いても何も表示されないのですがどう書けばいいのでしょうか?
「S列」=「5」みたいに列に名を付けたりするんでしょうか

93:名無しさん@そうだ選挙にいこう
08/11/14 14:03:44
>>92
セル範囲がちゃんと指定されてないと最大値を検索する時に何もヒットせず空白になる。
たぶん区切り記号の入力ミスだと思うから、自分で1文字ずつ入力せずに式を丸ごとコピペしてみ。
例示した作業列の式をT2に入れて、あとはオートフィルで。

94:名無しさん@そうだ選挙にいこう
08/11/14 14:19:50
>>92
その式だと最大値のセルが1行で2つ以上あった場合に
条件付書式で色が付いてるセルの数と合わないので注意な

95:92
08/11/14 14:25:59
うぉ・・成功しました Excelって凄www

96:名無しさん@そうだ選挙にいこう
08/11/14 14:28:15
【1 OSの種類         .】 WindowsXPSP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 vba 抽出 等
複数の人が色々な問題文を作ってます。
それを一つにまとめるのはすべて手作業でコピペしているのですが正直手間です。
各々が作業し問題を作り、それを一つにまとめあげるマクロか関数はありませんか?

97:名無しさん@そうだ選挙にいこう
08/11/14 14:30:40
>>94
確かにそうだ。同率首位をちゃんと出すにはどうしたらいいんだろう?
作業列を元データと同じ5列用意するのはいかにも間抜けだし。

98:名無しさん@そうだ選挙にいこう
08/11/14 14:34:06
>>97
作業列に最大値の位置じゃなくて数字そのものを入れればオケ

99:名無しさん@そうだ選挙にいこう
08/11/14 14:36:37
>>96
それってExcelでやる仕事?
マクロで処理するには、全員で作業の手順を統一してパターン化しないと無理だよ。

100:名無しさん@そうだ選挙にいこう
08/11/14 14:42:50
>>96
「1つにまとめる」って書かれても色んな解釈があるからなあ。
1つのフォルダに各人の作ったxlsファイルをまとめて入れていっぺんに印刷、
みたいなマクロならすぐにできると思うけど。

勝手に作った断片的なデータを1つのシートにまとめるのは、自動でやるのはほとんど不可能。
きちんとフォーマットを統一してないと。

101:名無しさん@そうだ選挙にいこう
08/11/14 14:44:48
>>90
できました ありがとうございましたm(_ _)m


102:名無しさん@そうだ選挙にいこう
08/11/14 14:49:44
>>97
>>46

103:96
08/11/14 15:02:21
やっぱりエクセルの仕事じゃなかったでしたか…
今までのコピペの作業だけでも自動化されればよかったんですが
ありがとうございます。

104:名無しさん@そうだ選挙にいこう
08/11/14 15:07:58
>>103
フォーマットが決まってる(みんな同じ)なら
コピペの自動化ぐらいはエクセル(VBA)でできる

105:名無しさん@そうだ選挙にいこう
08/11/14 15:45:46
教師なんて9割は機械オンチだから、フォーマットの統一なんて不可能だよ

106:名無しさん@そうだ選挙にいこう
08/11/14 16:20:54
>>73
こんなのは?数式は全て必要な行数分オートフィル。

A列 : 元データ(4桁の数値)
B1 : =INT(A1/100)
C1 : =IF(COUNTIF(B$1:B1,B1)=1,B1,"")
D1 : =IF(ROW()<=COUNT($C:$C),SMALL($C:$C,ROW()),"")
F1 : =IF(ROW()<=COUNT($C:$C),COUNTIF($B:$B,D1),"")

これで、VBAなら
  dim a as variant
  a = activesheet.range("D:F").specialcells(xlCellTypeFormulas, xlNumbers).value
で、昇順ソート済の「上2桁」と「出現回数」の入った2次元配列を得られる

107:106
08/11/14 16:23:16
ごめん訂正。上の F は全部 E に読み替えて

108:名無しさん@そうだ選挙にいこう
08/11/14 16:41:19
すみませんが・・・
お助け願います><

下のエクセルの表なんですが、
G6のところにスペインが勝ちなら○、負けなら●、引き分けなら△を
入れたいのです。

オートフィルコピーで他のブラジルやイタリアなどのところも出せるらしいです。

使う関数はIFやRIGHTやLEFTと言っていました。

どなたかお願いします(/_;)



URLリンク(www.uploda.org)

109:名無しさん@そうだ選挙にいこう
08/11/14 17:16:35
>>108
G6=IF(LEFT(C6,FIND("-",C6)-1)*1=RIGHT(C6,FIND("-",C6)-1)*1,"△",IF(LEFT(C6,FIND("-",C6)-1)*1>RIGHT(C6,FIND("-",C6)-1)*1,"○","●"))
変わった方法としては
G6=LEFT(C6,FIND("-",C6)-1)-RIGHT(C6,FIND("-",C6)-1)
書式設定を
"○";"●";"△";

110:96
08/11/14 17:42:02
先ほどはありがとうございます。
色々話し合った結果、エクセルのデータをパワーポイントvbaで呼び出し印刷
するのはどうか、という事になりました。

1ページ目:問題文Aと問題文B
2ページ目:問題文C
(問題文ABCはそれぞれ別ファイル)

となるような印刷になるマクロはありませんか?
問題文の長さ自体は収まるよう調整するようお願いしています。
微妙にスレ違いですがお願いします。

111:名無しさん@そうだ選挙にいこう
08/11/14 17:48:11
>>108
=MID("●△○",SIGN(LEFT(C6,FIND("-",C6)-1)-RIGHT(C6,LEN(C6)-FIND("-",C6)))+2,1)

ヒントの出し方から見て学校の宿題っぽいんで、得点が2桁の場合を無視すればもっと短くなる
=MID("●△○",SIGN(LEFT(C6,1)-RIGHT(C6,1))+2,1)

112:名無しさん@そうだ選挙にいこう
08/11/14 17:52:56
>>110
そういうマクロは自分で作るしかない

113:名無しさん@そうだ選挙にいこう
08/11/14 17:53:09
>>111
笑えるほど綺麗だな


114:名無しさん@そうだ選挙にいこう
08/11/14 17:56:40
そもそも>>108のB6~E9の表が得点が2桁以上の場合に対応して無い件w

115:名無しさん@そうだ選挙にいこう
08/11/14 18:02:42
>>114
ホントだw
これじゃ実用性ゼロだから完全に宿題確定だな。
>>111の2番目の式でFAってことで

116:名無しさん@そうだ選挙にいこう
08/11/14 18:04:51
セルに「1-0」とか書いてあるのを、そのまま引き算として解釈できればいいのに

117:名無しさん@そうだ選挙にいこう
08/11/14 19:41:56
2003 XP 
依頼事項 PageUpキー PageDownキーを押した場合、
画面がちらつくようになったのをなおしたい。
VBAで操作しているシートのみで、他のシートではちらつきは
生じていません。よろしく。



118:名無しさん@そうだ選挙にいこう
08/11/14 19:53:33
>>117
そういうのは実機が手元にないと原因が探りにくい。
イベントプロシージャが原因ならロジックを見直すかScreenUpdatingで改善できるかもしれない。
あとはパソコンをもっと高性能な物に変えるとか。

119:名無しさん@そうだ選挙にいこう
08/11/14 20:02:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 OpenOffice.org
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セル 参照 変数

セルに入力された数値によって参照先を変えたいです
例えば、A1 に 3、A2 に 7 が入力されていると
目的の記述の部分ではC7が参照される、そんな機能はないでしょうか?

120:名無しさん@そうだ選挙にいこう
08/11/14 20:12:43
>119

つOFFSET

121:名無しさん@そうだ選挙にいこう
08/11/14 20:21:26
できました
ありがとうございました

122:名無しさん@そうだ選挙にいこう
08/11/14 20:22:08
>>119
INDIRECT

123:119
08/11/14 20:28:02
>>119=>>121です
すみませんでした

>>122
ADDRESSと一緒に使えば同じ事ができるみたいですね
今回はOFFSETで十分でしたが勉強になりました
ありがとうございました

124:108
08/11/14 20:58:57
答えてくれた方々、ありがとうございましたm(__)m

これは学校の宿題です (。・x・)ゝ
できたのでよかったです^^

125:名無しさん@そうだ選挙にいこう
08/11/14 21:24:25
>>124
丸写しはだめだよ。
式の意味を自分でちゃんと説明できないと宿題をやったことにならないぞ。

126:67=73
08/11/14 21:31:26
>>106
>で、昇順ソート済の「上2桁」と「出現回数」の入った2次元配列を得られる
なんとエレガントな…。ぱっと見ではちょっとわからないので勉強します。

しかし今日の作業で泥臭い方法ですが実装してしまいました。今度こういう場面(結構ある)では
使わせていただきます。
今回は、初出の時に動的配列に入れようとしたら、なにやらエラーが…迷わずダミーシートに展開。それを
過去に作ったモノで配列化。ダサすぎますが。

時々ここ覗かせていただいて、知らなかったことや洗練された方法をみて驚いています。
また驚きました。お付き合いありがとうございました。

127:108
08/11/14 21:32:37
上の方々のを参考にさせていただいて

G6=IF(LEFT(C6,1)>RIGHT(C6,1),"○",IF(LEFT(C6,1)=RIGHT(C6,1),"△",IF(LEFT(C6,1)<RIGHT(C6,1),"●",)))

というのでやってみたのですが・・・これではだめですかね><;

128:名無しさん@そうだ選挙にいこう
08/11/14 21:58:31
>>91
使うのはそれ(ユーザーフォーム)だよ
ただしそこに書いてあるのはユーザーフォームの極々一部の機能・使い方であって
君の望むこともちゃんと出来る
つーか、ユーザーフォームはGUIアプリ開発環境と同等の機能を備えてるので
スキル次第で大抵のことは出来るよ

ユーザーフォームに関しては、VBAよりVB6の解説やサンプルの方が参考になるかもな

129:名無しさん@そうだ選挙にいこう
08/11/14 22:08:58
>>127
大丈夫、それでも正解。残念ながら100点はあげられないけど。

130:名無しさん@そうだ選挙にいこう
08/11/14 22:20:39
>>88
おさめる方法あるのでしょうか?もう発生してから毎日困っています。

131:名無しさん@そうだ選挙にいこう
08/11/14 22:22:30
>>130
「ファイルを開く」ウィンドウの左側の「ファイルの場所」にはいくつアイコンが並んでる?

132:名無しさん@そうだ選挙にいこう
08/11/14 22:32:31
>>131
非常にすみません。
仕事場用のパソコンなので職場にあり現在確認できないのです。
親切なかた申し訳ありません。
直すことできるのでしょうか?

133:名無しさん@そうだ選挙にいこう
08/11/14 22:39:22
>>132
うちではそういう経験がないんで、まだ手探りの状態。
検索すると同じ症状の報告はいくつもあるのに、決定的な解決策はどこにもなかった。
ぶっちゃけ、リカバリすればたいていの不具合は治るけど、それは最後の手段。

134:名無しさん@そうだ選挙にいこう
08/11/14 22:42:02
>>116
できる

135:108
08/11/14 22:43:43
>>129
そうですか^^;どうもです><

とりあえずこれで提出してみます^^;

136:名無しさん@そうだ選挙にいこう
08/11/14 22:43:50
>>133
そうですかあ。
ランを外しているときは止まるとの噂も聞いたのですが。
明日またいろいろとやってみます。

137:名無しさん@そうだ選挙にいこう
08/11/14 23:01:08
>>136
LANケーブルを抜けば待たされなくなるってんなら、間違いなく共有フォルダ、
ショートカット、ネットワークドライブ、最近使ったファイルのどれかが原因だな。
職場ってことはドメインには参加してる?

138:名無しさん@そうだ選挙にいこう
08/11/15 00:29:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 入門、エクセル関数

シート2,3,4の範囲内のデータをシート1の範囲内に反映させたいのですが
関数やVBAでやるにはどのようにやるのでしょうか?

シート2のA1:D5をシート1のA1:D5
シート3のA:1D5をシート1のA6:D10

といったような事です。

139:名無しさん@そうだ選挙にいこう
08/11/15 01:22:32
>>138
=Sheet2!A1

140:名無しさん@そうだ選挙にいこう
08/11/15 01:30:27
質問させていただきます。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【5 検索キーワード     】 マクロ 解除

仕事で、他人の作ったエクセルファイルを修正しています。
ファイル起動時にマクロの有効無効について聞かれるのですが、
「ツール」→「マクロ」でマクロを調べても見つかりません。

どのようにしたら、このマクロを解除できるのでしょうか?
又、セキュリティレベルを下げること以外で、
起動時のマクロに関しての警告を表示させないようにするにはどうすれば良いでしょうか?


宜しくお願いいたします。

141:名無しさん@そうだ選挙にいこう
08/11/15 01:56:42
>>140
ブックやワークシートのイベントプロシージャはマクロの一覧に表示されない。
警告を出なくするにはデジタル署名を追加すればいいんだけど、これは基本的にはブックの再生者にしかできない。
ようするに、がまんしろってこと。

142:141
08/11/15 02:01:27
訂正
× ブックの再生者
○ ブックの作成者

143:名無しさん@そうだ選挙にいこう
08/11/15 09:09:47
×ブックやワークシートのイベントプロシージャはマクロの一覧に表示されない。
○Private定義されたプロシージャはマクロの一覧に表示されない。

ブックやワークシートのイベントプロシージャでも、
Worksheet_Activateみたいに引数の無いものならPublic定義することで
イベントでも呼ばれ、マクロの一覧からでも実行できるというプロシージャを作成することが出来る

144:名無しさん@そうだ選挙にいこう
08/11/15 09:16:28
>140
元のエクセルファイルを作った人にはマクロを組み込んでいるか、確認しましたか?
VBエディタの画面を表示したことはありますか?

マクロを解除することと、「マクロを有効にするかどうか」のダイアログを表示しないようにする
こととは全く異なります。セキュリティレベルを下げるのは危険ですよ。

145:名無しさん@そうだ選挙にいこう
08/11/15 11:43:42
条件付書式を使ってセルに色づけをしているのですが
セルに色がついた場合、セルにロックをかけて選択できないようにするにはどうしたらいいのでしょうか?

Excelのバージョンは2003です。
VBAは使えません・・・

146:名無しさん@そうだ選挙にいこう
08/11/15 11:52:59
>>140
まず作った本人に聞けよ
マクロがあるのか、どんなマクロなのか、必要なものなのか
そういう当たり前のことを何故かしない奴が多いんだよなあ

147:名無しさん@そうだ選挙にいこう
08/11/15 12:22:51
分かってない奴が偉そうに講釈を垂れる不思議

148:>140
08/11/15 12:41:13
Alt+F11でVBエディタを開き
左上にある「SheetXX (SheetXX)」、「ThisWorkbook」
をいっこずつダブルクリック。
何か記述があれば手動で記述を削除。全部削除したら保存。

149:名無しさん@そうだ選挙にいこう
08/11/15 12:42:48
>>145
マクロのWorksheet_Changeを使えばいいんじゃないの

150:名無しさん@そうだ選挙にいこう
08/11/15 13:01:55
>>128
ありがとうございます。
勉強すれば望むことができると分かっただけでやる気がでます。
と言っても、なかなか大変そうですねこれ・・・w
今は時間だけはあるのでがんばってまいります。

151:名無しさん@そうだ選挙にいこう
08/11/15 13:15:02
ぶっちゃけエクセルでできないことってなくね?

152:名無しさん@そうだ選挙にいこう
08/11/15 13:46:11
そうだね エクセルでこどもつくったことあるよ

153:名無しさん@そうだ選挙にいこう
08/11/15 15:18:57
>>137
おおおおーっ!
ありがとうございますー。
会社にきてやってみると、やはりランケーブルを外すと治まったんで、レスどおり調べるとネットワークドライブを調べると、私の部署の共有サーバが落ちていました。
サーバーを回復させてみると症状がなくなりました。
昨日は最後のレスのあと私が落ちていまいましたが、今日あなたのスレをみました。アリガトウございます。
休日出勤のカイがありました。
感謝でございます。

154:名無しさん@そうだ選挙にいこう
08/11/15 15:23:29
少なくとも木曜の夜からダウンしてたのに、いままで気づかれない鯖カワイソス

155:名無しさん@そうだ選挙にいこう
08/11/15 16:21:27
メッセージで検索するとどこもウヤムヤになってるのは、
質問者の関知しないところでサーバ復旧して解決とかか

156:名無しさん@そうだ選挙にいこう
08/11/15 17:58:12
>>154
そうなんすよ。
共有なんですが部署の皆が今は繁忙期で外勤がおおく俺自身もあまり使わないので気づかなかった(涙)

157:名無しさん@そうだ選挙にいこう
08/11/15 18:03:45
質問です。
小数点以下の切捨てや四捨五入等は出来ると思いますが
例えば、「12300」の5%=615
となりますが、これを「610」と表示することは可能でしょうか?
要は最後の一桁を切捨てしたいのです。

WindowsXP
Excel2002
VBAが使えるか いいえ
VBAでの回答の可否  否
検索キーワード  切捨て・四捨五入など

よろしくお願いします。

158:名無しさん@そうだ選挙にいこう
08/11/15 18:13:24
=ROUNDDOWN(615,-1)

159:名無しさん@そうだ選挙にいこう
08/11/15 18:18:50
>>158
すみません・・・早速ありがとうございました。

160:140
08/11/15 18:27:09
>>141>>143>>144>>146>>148
お返事遅れて申し訳ありません。解決しました。
ありがとうございました。


161:名無しさん@そうだ選挙にいこう
08/11/15 19:16:24
エクセル2007で自作のマクロを動作させる場合って
マクロのセキュリティを最低まで下げないと駄目なんでしょうか?
未署名のものを2003のときみたいに実行するかしないか警告出させることは出来ないのでしょうか?

162:名無しさん@そうだ選挙にいこう
08/11/15 19:44:57
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 毎月 指定


例えば2日と入れると、以後の2日の日付と曜日を出してくれるようなエクセルを
作りたいのですがどうしたらよいでしょうか?


163:名無しさん@そうだ選挙にいこう
08/11/15 20:11:07
>>162
=DATE(年,月,2)&TEXT(DATE(年,月,2),"aaa")
年よ月を変数にしとけば毎月でも毎年でも後は自分で工夫して

164:名無しさん@そうだ選挙にいこう
08/11/15 20:17:03
>>162
例えばA1に11/2と入れ、A2に=A1+1、A3に=A1+2と入れそれぞれのセルの書式設定d(aaa)またはd/(aaaa)

書式設定は
月も表示したいならm/d(aaa)
年も表示したいならyyyy/m/d(aaa)またはyy/m/d(aaa)
平成で表記したいならyyyyをgeまたはgggeに
月を英語表記mをmmmまたはmmmm
曜日を英語表記したいならaaaをdddまたはddddになど色々表示を変えられる

165:名無しさん@そうだ選挙にいこう
08/11/15 21:35:39
日本語って難しいなあw

166:名無しさん@そうだ選挙にいこう
08/11/15 21:50:08
>>161
基本は署名すること。セキュリティを下げたり裏技で回避するのはオススメできない。
自分で使うだけのマクロなら、証明書は自分で簡単に作れるから、それを使えばいい。
スタートメニューのOfficeフォルダの中に証明書作成ツールがちゃんと入ってる。

167:名無しさん@そうだ選挙にいこう
08/11/15 21:52:50
>>162
A1に「2日」と入れて、A2とA3に続く2日間の日付と曜日を出したいんなら、
A2に=A1+1と入れて書式でdd aaaなどと設定する。A3はA2をコピペ。

168:162
08/11/15 22:04:17
すみません、言葉足らずだったようでうまく伝わってないみたいなのですが・・・

例えば一つのセルに2日といれると
2008/11/2 木曜 
2008/12/2 金曜 ・・・
となるようにしたいのです。

164さんの方法があっているのでしょうか?
いまいち分からなかったのですが・・・
 

169:名無しさん@そうだ選挙にいこう
08/11/15 22:16:28
>>168
たとえばA1に2と入れて、A2以降に毎月2日の日付と曜日を出したいなら、
A2は=DATE(YEAR(TODAY()),MONTH(TODAY()),A1)
A3は=DATE(YEAR(A2),MONTH(A2)+1,A$1)
A4以降はA3をコピペ
で、書式を「yyyy/mm/d aaa"曜"」にする

170:162
08/11/15 22:20:36
>168
できました!
とてもわかりやすい説明ありがとうございました。

171:名無しさん@そうだ選挙にいこう
08/11/15 22:51:15
【1 OSの種類        .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否  】 否
【5 検索キーワード     】 lookup、vlookup


表を作っていて、47(塗りつぶし青・白文字)のように予め塗りつぶしや文字色を指定した対応表を作っておき、
他のセルに"47"と入力すれば自動的に塗りつぶしと文字色をつけるようにするにはどうすればいいのでしょうか?
lookup関数かと思い、ググってみましたが、どうも違うような気がしまして…
下手な日本語でなかなか分かりづらいかと思いますが、宜しくお願いいたします。

172:名無しさん@そうだ選挙にいこう
08/11/15 22:55:50
>>171
条件付き書式
ただし設定できるパターンは2種類まで
3種類以上の色を使いたいならVBAしかない

173:名無しさん@そうだ選挙にいこう
08/11/15 23:18:56
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 平日

A1に日付をいれ、その日が土日祝日の場合翌平日を出したいです。
カレンダーを作り、土日祝日を表示するまでは出来ました。
土日だったら単純に1や2足せばいいと思いますが、
GWなど連休になるとどうすればいいかわかりません。

ご教示ください。


174:名無しさん@そうだ選挙にいこう
08/11/15 23:29:12
>>173
祝日をどうやって判定しているかによる

175:名無しさん@そうだ選挙にいこう
08/11/15 23:30:17
>>173
カレンダーを表示したついでに逆に数えて表を作っておく
31日 =IF(土日休日か,1,0)
30日 =IF(土日休日か,A1+1,0)
29日 …

そうしてその日付の値を足せばいい

176:171
08/11/15 23:37:38
>>172
ありがとうございます。
どうやら私のケースではVBAを使わなくてはいけないようなので、
またググってVBAでやってみます。
ご丁寧にありがとうございました。

177:173
08/11/15 23:48:47
>>174
カレンダーの祝日判定はは下のサイトのやり方で作成しました。
URLリンク(kokoro.kir.jp)

>>175
何年分もあるので自分で数えるというのは避けたいのですが・・・
どうしても方法がないときはその方法で行きたいと思ってます。



178:名無しさん@そうだ選挙にいこう
08/11/16 00:03:25
自動で逆方向(表自体は順方向でもいいんだけど)に数えれば良いという話で
自分で数えなくていいんですよ

179:名無しさん@そうだ選挙にいこう
08/11/16 00:55:18
>>177
一覧表方式で何年分もあると、まず祝日の一覧が正しいかどうかが怪しい

180:名無しさん@そうだ選挙にいこう
08/11/16 01:34:20
やっぱりお前らバカだなw
WORKDAY関数を使えば一発じゃないか。

181:名無しさん@そうだ選挙にいこう
08/11/16 01:41:40
知ったかがでしゃばりをこきおろす
馬鹿ばっかりのこんなスレッドじゃ

ポイズン

182:名無しさん@そうだ選挙にいこう
08/11/16 01:57:00
WORKDAY関数はアドインを入れないと使えない
更にアドインはVBAで作られている
そして質問者はVBAでの解法を拒否している

VBA否に対してアドインが許容されるなら、VBAの可否を聞く意味無いな
「マクロとして組み込むのが嫌ならアドインとして組み込め」の一言で
VBA可否の問題は全て解決するから

183:名無しさん@そうだ選挙にいこう
08/11/16 02:28:42
とりあえずWORKDAYを使った回答。休日のリストがZ1:Z20にあるとして、
=WORKDAY(A1-1,1,$Z$1:$Z$20)
WORKDAYが使えない場合はカレンダー内の平日をvlookupで検索するとか。
カレンダーがどういう形かわからないと具体的な式は書けない。

184:名無しさん@そうだ選挙にいこう
08/11/16 03:45:09
余分なアドインなんて使うのはニートだけ

185:名無しさん@そうだ選挙にいこう
08/11/16 09:44:10
>>182
頭の悪い屁理屈にあなたの哀れさがにじみ出てますよ

186:161
08/11/16 10:07:15
>>166
ありがとうございます
署名ツールを使ってみます

187:名無しさん@そうだ選挙にいこう
08/11/16 10:21:26
>>185
理論での否定ではなく感情での否定しか出来ないんですね

188:名無しさん@そうだ選挙にいこう
08/11/16 10:31:36
>>187
そうなんだよ、あのレスじゃ理論かます気になんないだろ

189:名無しさん@そうだ選挙にいこう
08/11/16 10:55:50
これは辛い

190:173
08/11/16 11:11:18
WORKDAYを使ってできました。
ありがとうございます。

191:180
08/11/16 11:22:36
やっぱりお前らバカだなwww
2007ではアドインは標準装備だ!

192:191
08/11/16 11:24:23
△アドイン
○2003以前の[アドイン]分析ツール


193:名無しさん@そうだ選挙にいこう
08/11/16 12:35:09
2007プロのアップグレード買ったんですけど2003と挙動が違いすぎて・・・
社内では2007と2003が混在している状況ですが
2003で使えるマクロは2007でもスイスイ動くのに逆だときちんと動かないとか物凄く遅くなったりして・・・

バージョンによる互換性の問題は以前からありましまたし、大きな変更は95→97のときもあったのですが
メニューが以前より大幅に改悪されているというのもあり、自宅での導入を躊躇ってしまっています
とっつきやすさを狙っているんでしょうが、慣れてる人にとっては逆に面倒くさいというか

みなさんはどうしているのでしょうか?

194:名無しさん@そうだ選挙にいこう
08/11/16 13:05:19
>>193
2007を窓から捨てて2003を使っている

195:名無しさん@そうだ選挙にいこう
08/11/16 13:05:46
>>193
君より少しだけ物の本質がわかってるので
そんな悩みはありません

196:名無しさん@そうだ選挙にいこう
08/11/16 13:08:04
>>193
まずはマクロにApplication.Version を仕込んで処理を分岐させやがれ
話はそれからだ

197:名無しさん@そうだ選挙にいこう
08/11/16 16:02:35
>>191
m9(^Д^)プギャー

198:名無しさん@そうだ選挙にいこう
08/11/16 16:13:46
>>197
書き方が悪かったな。
2007ならアドイン入れなくてもWORKDAY関数は使えるって事だ。

199:名無しさん@そうだ選挙にいこう
08/11/16 16:18:37
>>193
バージョンによる互換性の問題…
要求してるのが下位互換とか釣りですかズザー

200:名無しさん@そうだ選挙にいこう
08/11/16 16:28:01
でも実際2007は互換性低いし
2003ユーザーから見ればOOoと大差ない

201:名無しさん@そうだ選挙にいこう
08/11/16 16:37:44
そうでもないか

202:名無しさん@そうだ選挙にいこう
08/11/16 18:16:15
我が家のエクセルに、性質の悪い彼氏ができたようで、急に金髪に染めたり、ピアス(へそも)をあけたり、あまりの変わりように、一家そろって心配しています。

マクロを使えば、何とかなるでしょうか?

203:名無しさん@そうだ選挙にいこう
08/11/16 20:00:59
なりません

204:名無しさん@そうだ選挙にいこう
08/11/16 21:07:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 コードコピペが成り立つなら

教えてください
会社で得意先に月報を提出しなければならないのですが

平成20年 5月分 報告書

1日(日) ○○工事
2日(月) □□工事
3日(火) 特になし
 ・
 ・
 ・

みたいな書式で毎月出すんですが
年月日のそうさを完全オートマにできないでしょうか?
現在は少なくても月と曜日を手動で入力しなければなりません
曜日はオートフィルでたいした手間ではないんですが
どうせならもっと
例えば年月入力のみですむ方法などありましたらご教授下さい

205:名無しさん@そうだ選挙にいこう
08/11/16 21:35:52
>>204
方法は色々あるから、とりあえず情報だけ。
日経PC21(12月号)に月間予定表の作り方例が
載ってるから、立ち読みでもしてみたらどうかな
参考になるよ

206:名無しさん@そうだ選挙にいこう
08/11/16 21:40:20
>>204
>>177のリンク先の「月末を工夫編」っての見て来い

207:名無しさん@そうだ選挙にいこう
08/11/16 22:13:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセルファイルを開こうとすると、
「読み取れないようが含まれています。このブックの内容を回復しますか?」
と言われてしまいます。はいを選択すると、
「削除されたパーツ: /xl/sharedStrings.xml パーツに XML エラーがありました。」
と表示され、今まで書いた内容がほとんど消えてしまいました。

これは、xl/sharedStrings.xmlを自力で治すしかないということでしょうか・・・?

208:名無しさん@そうだ選挙にいこう
08/11/16 22:22:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ちょっとだけなら
【4 VBAでの回答の可否】 できれば丸ごとコピペしたい

※次のようなデータを、その次にあるように同じ日付と注文番号ごとにセルを手動で結合させ
さらに小計列と合計列を挿入して、それも注文番号ごとに手動で結合させ、最後に合計行を挿入して
その月ごとに集計を取っています。これをVBAで自動でできればありがたいのですが・・・

出荷日 注文番号 モデル 金額 運賃
-------------------------------------------
7月15日 1-2 A \1,000
7月15日 1-2 B \2,000 \1,000
7月15日 2-1 C \1,500
7月15日 2-1 D \1,800 \500



出荷日 注文番号 モデル 金額 小計 運賃 合計
--------------------------------------------------------------
A \1,000
1-2 \3,000 \1,000 \4,000
B \2,000
7月15日
C \1,500
2-1 \3,300 \500 \3,800
D \1,800
---------------------------------------------------------------
合計           4台  \6,300 \1500 \7,800



209:名無しさん@そうだ選挙にいこう
08/11/16 22:23:32
>>207
すみません。質問の2行目は
「読み取れない内容が含まれています。このブックの内容を回復しますか?」
の間違いでした。

210:208
08/11/16 22:25:33
すみません。作りたいほうの表がうまく表示されませんでした。このようにできたらありがたいです。



出荷日  注文番号  モデル  金額  小計  運賃  合計
--------------------------------------------------------------
               A   \1,000
       1-2               \3,000 \1,000 \4,000
               B   \2,000
7月15日
               C   \1,500
       2-1               \3,300  \500 \3,800
               D   \1,800
---------------------------------------------------------------
合計            4台      \6,300 \1500 \7,800


211:名無しさん@そうだ選挙にいこう
08/11/16 22:38:05
ピボットテーブルで作れば

212:名無しさん@そうだ選挙にいこう
08/11/16 22:45:43
>>208-210
とりあえず望みの操作を手動で記録してみな
そこに「上から順に見ていって、注文番号などが変わる直前まで結合する」を加えるといいよ

213:208
08/11/16 23:35:33
レスありがとうございます。

>211
これは>208に対してのレスでしょうか?
上司がピボットテーブルを使えないので不可なんです。

>212
手動で記録とはマクロの自動記録ですよね?
やってみたことはありますが、「上から順に見ていって、注文番号などが変わる直前まで結合する」

このコードが作れないのです。
VBAは見て何が書いてあるかがなんとなくわかる程度です。
教えていただけたら有難いです。

214:名無しさん@そうだ選挙にいこう
08/11/16 23:41:14
だからそれを書けよ
「自動記録でやってみ」じゃレスする意味ねー

215:名無しさん@そうだ選挙にいこう
08/11/17 00:37:14
>>213
上司のせいにするなよ。
君がピボットテーブル使う気がないだけでしょ。

216:名無しさん@そうだ選挙にいこう
08/11/17 00:40:18
× 【3 VBAが使えるか    .】 ちょっとだけなら
   【4 VBAでの回答の可否】 できれば丸ごとコピペしたい

○ 【3 VBAが使えるか    .】 いいえ
   【4 VBAでの回答の可否】 丸投げでお願いします

217:名無しさん@そうだ選挙にいこう
08/11/17 00:58:10
> 上司がピボットテーブルを使えないので不可なんです。
本当に上司のせいでピボットテーブルが使えないなら
業務発展の足を引っ張る奴は上司失格だと言ってやれ

俺の直属の上司もPCには疎いが、業務でPCを使う場面が増えていくに当たって
部下に教えを乞うてまで、自分の機会下手が業務の阻害にならないように努力してるぜ

それに「上から順に見ていって、注文番号などが変わる直前まで結合する」程度が出来ないんじゃ
大抵のコードは見ても理解できないだろ
こんなの初歩の初歩である単純なループと条件分岐で組めるんだから、それが出来ないって事は
ループや条件分岐があるコードは理解できないってことだからな

218:ああうぜえ 1/2
08/11/17 01:18:52
Sub TEST()
Application.DisplayAlerts = False
Cells(1, 6) = "小計"
Cells(1, 7) = "合計"
I = 2
TEMP_DATE_FR = I
TEMP_ORNO_FR = I
NO_AMOU = 0
NO_SHIP = 0
NO_CONT = 0
Do
NO_AMOU = NO_AMOU + Cells(I, 4)
NO_SHIP = NO_SHIP + Cells(I, 5)
NO_CONT = NO_CONT + 1
' * SET FOR ORDERNO *
If Cells(I, 2) <> Cells(I + 1, 2) Then
Range(Cells(TEMP_ORNO_FR, 2), Cells(I, 2)).MergeCells = True
Range(Cells(TEMP_ORNO_FR, 5), Cells(I, 5)).MergeCells = True
Range(Cells(TEMP_ORNO_FR, 6), Cells(I, 6)).MergeCells = True
Range(Cells(TEMP_ORNO_FR, 7), Cells(I, 7)).MergeCells = True
Cells(TEMP_ORNO_FR, 6) = NO_AMOU
Cells(TEMP_ORNO_FR, 7) = NO_AMOU + NO_SHIP
TEMP_ORNO_FR = I + 1
NO_AMOU = 0
NO_SHIP = 0
End If

219:ああうぜえ 2/2
08/11/17 01:20:02
' * SET FOR DATE *
If Cells(I, 1) <> Cells(I + 1, 1) Then
Range(Cells(TEMP_DATE_FR, 1), Cells(I, 1)).MergeCells = True
Rows(I + 1).Insert SHIFT:=xlDown
Cells(I + 1, 1) = "合計"
Cells(I + 1, 3) = I - TEMP_DATE_FR + 1 & "台"
Cells(I + 1, 4) = WorksheetFunction.Sum(Range(Cells(TEMP_DATE_FR, 4), Cells(I, 4)))
Cells(I + 1, 5) = WorksheetFunction.Sum(Range(Cells(TEMP_DATE_FR, 5), Cells(I, 5)))
Cells(I + 1, 6) = WorksheetFunction.Sum(Range(Cells(TEMP_DATE_FR, 6), Cells(I, 6)))
Cells(I + 1, 7) = WorksheetFunction.Sum(Range(Cells(TEMP_DATE_FR, 7), Cells(I, 7)))
Range(Cells(TEMP_DATE_FR, 1), Cells(I, 2)).VerticalAlignment = xlCenter
Range(Cells(TEMP_DATE_FR, 1), Cells(I, 2)).HorizontalAlignment = xlCenter
Cells(I + 1, 1).HorizontalAlignment = xlCenter
I = I + 2
TEMP_DATE_FR = I
TEMP_ORNO_FR = I
NO_AMOU = 0
NO_SHIP = 0
End If
I = I + 1
Loop While Cells(I, 1) <> ""
Columns(6).Cut
Columns(5).Insert SHIFT:=xlToRight
End Sub


220:名無しさん@そうだ選挙にいこう
08/11/17 01:25:22
うだうだ講釈垂れてるのがむかついたので書いちゃった。まだいまいち汚いけど一応動くはず。

221:名無しさん@そうだ選挙にいこう
08/11/17 01:26:09
天の邪鬼も結構大変だね

222:名無しさん@そうだ選挙にいこう
08/11/17 01:30:25
さて、それじゃピボットテーブルでの解き方を見せてもらおうか

223:名無しさん@そうだ選挙にいこう
08/11/17 01:53:29
さて、よく見たら無駄コードがかなりあるので
>217タン、綺麗に修正頼むわ
当然これぐらい簡単に理解できてるんだよね
じゃね

224:名無しさん@そうだ選挙にいこう
08/11/17 02:12:05
説教もうざいがいちいち煽るのもうざい
解決したんだから終了

225:名無しさん@そうだ選挙にいこう
08/11/17 02:33:33
>>218のコードだけど、試しにデータを2日分に増やしてみたらこんなになったけど、これでいいの?
URLリンク(act0.net)

226:名無しさん@そうだ選挙にいこう
08/11/17 03:17:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問です、お客にExcel2003VBAで作られた営業管理ソフトあるのですが、
データが65536行に目前と迫っており、何とかならないかと以来されました。
VBAは旧社員が片手間で作った品物で、CRMシステムという大層なものではなく、
電話番号・取引先で検索し過去に行った営業文句などの列が表示される普通のVBAです。

行数の問題なら2007を導入して解決したいとお客も言っております。

その際、バックアップマシンに一度2007を入れて動作確認など行おうと思っていますが、
Office2007を認証しなければ動作出来ないでしょうか?
認証してしまうと動作確認後に本番マシンでもライセンスが必要になるなら、一応説明しておかなければなりません。

XPOSの用に30日は使えるといったようなら、希望通りになりそうですが。。
よろしくお願いします。長文すみません。



227:名無しさん@そうだ選挙にいこう
08/11/17 04:23:51
>225
日付をまたいで同じコードがあるとそうなるね
>217タンがさくっと直してくれるでしょうw

228:名無しさん@そうだ選挙にいこう
08/11/17 06:06:28
>>227
プログラムが上手く直ったとしても、しょせん再発明。無価値。

229:名無しさん@そうだ選挙にいこう
08/11/17 08:42:52
>>226
認証は必要だけど、ちょっと動作を確認する程度ならMS公式から
期間限定で使える無料体験版を落として使えばよろし。
限定されているのは利用期間だけで機能はフルに使える。

メールアドレス1つあれば体験版のインストールキーはすぐに発行される。
つまり無駄な買い物はしなくていいってこと。

230:名無しさん@そうだ選挙にいこう
08/11/17 08:55:26
いつのまにかテンプレがなくなってんのね。今まさに
「ピボットテーブルで解決できない質問からは威嚇しながら逃げる。最初から出てこなきゃいいのに。」
(VBA厨)「ピボット厨に目の敵にされている。」
の状況が発生してて笑ったわ。

231:名無しさん@そうだ選挙にいこう
08/11/17 08:59:00
>>229
体験版という手がありましたか!よっしゃそれで行っています。


232:217
08/11/17 10:07:43
>>223,>>227
仕様があまり明確ではないが、出てるデータに合わせて即興で書いてみたがこんなんでいいかな?

Const DTR = 2
Application.DisplayAlerts = False
Columns(5).Insert: Cells(1, 5).Resize(, 3).Value = Array("小計", "運賃", "合計")
iR1 = DTR: iR2 = DTR
For i = DTR + 1 To Cells(Rows.Count, 1).End(xlUp).Row + 1
  If Cells(iR1, 1).Value <> Cells(i, 1).Value Then
    Cells(iR1, 1).Resize(i - iR1).MergeCells = True
    iR1 = i
  End If
  If Cells(iR2, 2).Value <> Cells(i, 2).Value Then
    For Each vC In Array(2, 5, 6, 7): Cells(iR2, vC).Resize(i - iR2).MergeCells = True: Next vC
    Cells(iR2, 5).Value = WorksheetFunction.Sum(Cells(iR2, 4).Resize(i - iR2))
    Cells(iR2, 7).Value = Cells(iR2, 5).Value + Cells(iR2, 6).Value
    iR2 = i
  End If
Next i
iR1 = i - 1
Cells(iR1, 1).Resize(, 3).Value = Array("合計", "", iR1 - DTR & "台")
For i = 4 To 7: Cells(iR1, i).Value = WorksheetFunction.Sum(Cells(DTR, i).Resize(iR1 - DTR)): Next i


データ増やしても>>225のような不都合は出ないと思う
あと、得に仕様要求に無いセンタリングとかはしてない
マルチステートメントはここに貼る上での都合なので、解除してくれて結構
個人的にはApplication.ScreenUpdating入れた方がいいと思うがお好きなように
変数宣言が欲しければ以下
Dim i As Long, vC As Variant
Dim iR1 As Long, iR2 As Long

233:217
08/11/17 10:08:13
因みに再発明(車輪の再発明)とは
「広く受け入れられ確立した技術や解決法を無視して、同様のものを再び一から作ってしまうこと」
により
「新たな付加価値が何もないものを作成するのにコストをかけること」
を指すが、この場合彼のコードやアルゴリズムは「広く受け入れられ確立した技術や解決法」ではないし
不都合の修正など「新たな付加価値」もあるので再発明(車輪の再発明)には該当しない

234:名無しさん@そうだ選挙にいこう
08/11/17 11:06:52
excelで「フィボナッチ数列の隣りあう項の比は黄金比に収束する」を表したいのですが
式はどうしたらできますか?

235:名無しさん@そうだ選挙にいこう
08/11/17 11:33:27
それ、Excelではなく数学の問題じゃね?

236:名無しさん@そうだ選挙にいこう
08/11/17 12:24:10
>>234
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "フィボナッチ数列の隣りあう項の比は黄金比に収束する"
MsgBox "あとは、てめーで証明しろボケ"
End Sub


237:名無しさん@そうだ選挙にいこう
08/11/17 12:54:04
>>234
数列の一部をセルに書き出すことは可能だけど、収束するかどうかを示す方法は
何か自分で考えて工夫するしかない。
とりあえずExcelだけで証明するのは不可能だから。

238:名無しさん@そうだ選挙にいこう
08/11/17 15:12:44
>>234
>excelで「フィボナッチ数列の隣りあう項の比は黄金比に収束する」を表したい
「表す」って何?
「(フィボナッチ数列の)n-1番目の数値:n番目の数値の比率」を求めたいなら作業列を作れば何とかなる
ただし、小数点以下の計算は誤差がひどいので工夫が必要だと思う
VBAで求めるなら作業列とかも必要ないんだけどな・・・

wikiでフィボナッチ数列について調べて頭がおかしくなりかけた
証明問題?何それおいしいの?w

239:231
08/11/17 17:14:14
>>229
体験版で無事確認できました!ありがとう!!体験版神!!

240:名無しさん@そうだ選挙にいこう
08/11/17 17:51:47
>>238
MsgBox "フィボナッチ数列の隣りあう項の比は黄金比に収束する"
できっちり画面に「表す」事ができるでしょ。

241:名無しさん@そうだ選挙にいこう
08/11/17 18:53:06
>>234

フィボナッチ数列: F_{n+2} = F_{n+1} + F_{n}
これを F_{n+1} で割って F_{n+2} / F_{n+1} = 1 + 1/(F_{n+1}/F_{n})
したがって、R_{n} := F_{n+1}/F_{n} とすれば R_{n+1} = 1+1/R_{n}

であるから、
A1 に 1
B1 に 1
A2 に =A1+1
B2 に =1+1/B2
と入れて、A2:B2 を下に好きなだけコピー (A2:Bn にコピーしたとする)

散布図を x = A1:An, y = B1:Bn で描けばおk

242:名無しさん@そうだ選挙にいこう
08/11/17 19:01:39
>>241
上の三行見ただけで頭痛がしてきたw
>A2 に =A1+1
>B2 に =1+1/B2

A2 に 1
A3 に =A1+A2
B2 に =A1+A2/B2
じゃないのか?

243:242
08/11/17 19:04:00
循環参照してるなw
B2 に =A2/A1か A1/A2
かな?

244:241
08/11/17 19:13:07
>>242-243
>>241 で入力したものは
A列: 項数 (1, 2, 3, 4, 5, ..., n)
B列: 比の値 (1/1, 2/1, 3/2, 5/3, 8/5, ...)
で、頭痛の種の3行はフィボナッチ数列の漸化式から、フィボナッチ数列の隣接2項間の比の漸化式を作る作業です。

普通にフィボナッチ数列も入れたいのであれば
A1 1
A2 =A1+1 (下にコピー)

B1 1
B2 1
B3 =B1+B2 (下にコピー)

C1 = B2/B1 (下にコピー)

でA列をx軸、C列をy軸にとったプロットをすればおkです。

245:名無しさん@そうだ選挙にいこう
08/11/17 20:07:08
EXCEL2003、VBA使用可です。

セルへのデータ(値)の入力は可能だが、
書式(表示形式、フォント、塗りつぶし等)の変更は出来ないようにするシート保護は、
できるのでしょうか?
できるのであれば操作方法を教えて下さい。

よろしくお願いします。


246:242
08/11/17 20:34:57
>>244
その漸化式が合ってるかどうか知らんし>>234でもないんだが
結局
>B2 に =1+1/B2
の循環参照は
B2 に =1+1/A2 か?
もしそうなら
>B列: 比の値 (1/1, 2/1, 3/2, 5/3, 8/5, ...)
にはならない
B2から(2/2, 2/3, 2/4, 2/5, 2/6, ...) になる

247:242
08/11/17 20:38:40
>B2から(2/2, 2/3, 2/4, 2/5, 2/6, ...) になる
ならないよな・・・orz
B2から(1+1/2,1+1/3, 1+1/4, 1+1/5, 1+1/6, ...) になるってことで合ってるのか?



248:名無しさん@そうだ選挙にいこう
08/11/17 20:52:38
>>245
Excelの設定変更だけでは無理ですが、VBA可なのでWorksheet_SelectionChangeと
Worksheet_Changeを使えばたぶん可能だと思いますが、微妙に面倒です。

249:名無しさん@そうだ選挙にいこう
08/11/17 21:14:34
【1 OSの種類         .】 WindowsHP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

初歩的な質問で申し訳ないのですが、教えてください。
ノートPCやデジカメの在庫管理を任されました。
在庫管理表の作成についての質問です。
故障が起きてストックを社員に貸し出したときに、
機種番号の隣に○×で出るように関数で設定したいです。
IF関数を使って作ろうかと思ったんですが、
同じ機種が一ヶ月にでたりはいったりするため、どのように設定したらいいのか分かりません。
現在の在庫完了は貸し出した日付と返却した日付と機種番号を入力しているだけなので、
今何の機種がないのかわかりにくい状態です。
フリーソフトは会社では今は使用不可だそうです。
どういうデータの一覧を作ったらいいのか、何の関数を使ったらいいのか、
お知恵を貸していただけたらと思います。

250:名無しさん@そうだ選挙にいこう
08/11/17 21:25:40
>>249
在庫じゃなくて備品管理だな。在庫ってのは商品、売り物のことだ。会社内で使う機材は備品な。
まずすべての備品にユニークな備品番号を付ける。
そして機種、製造番号、備品番号を一組にしたデータベースを作る。これが第一段階。

次に、備品番号、貸した日、戻った日、貸した人を一組のデータとして1行に並べる。
これを積み重ねていくのがもっとも基本的な方法。

251:241
08/11/17 21:28:55
えーと、>>242 ではフィボナッチ数列をA列に生成しているので、
B1 = A2/A1
にすればフィボナッチ数列の隣接項の比が出てきます。

252:245
08/11/17 21:46:39
>>248

レスありがとうございます。
実質無理ってことですね。

253:208
08/11/17 21:55:26
なんだか荒れててびっくりしました。

とりあえずきちんと答えてくださった方、どうもありがとうございました。

254:名無しさん@そうだ選挙にいこう
08/11/17 22:00:23
223涙目

255:名無しさん@そうだ選挙にいこう
08/11/17 22:02:39
誰か>>252にマクロ書いてやって。俺には無理だ。

256:名無しさん@そうだ選挙にいこう
08/11/17 22:21:51
うむ。ものすごく急いでいる。■法務委員会の採決もすっとばすくらい■急いでいる
スレリンク(newsplus板:6番)

■緊急!■
河野・塩崎・大島らは、「法務委員会採決」をすっとばしていきなり本会議に上程
するようです。前代未聞の強行突破です!


緊急拡散【偽国籍改正案】手続で止める方法 (水間政憲)
皆様、動画サイトは2日間だけで3万数千件のアクセスになっているようです。
最後の最後にお願いして頂きたく、手続きに関する矛盾点と対策を列記します。
衆院法務委員会で,まだ、採決が行われていない「国籍法一部改正案」が、■本会議で緊急決議■することになったことは、
大島理森自民党国対委員長のところに、衆院法務委員会自民党から持ち込まれたからです。
一般的にその責任者は、塩崎恭久筆頭理事になるでしょう。
大島理森国対委員長は、この法案の危険性をよく理解していないと思われます。
また、自民党総裁選麻生候補推薦人代表の島村宜伸自民党代議士会会長も、同じような状態だと推察できますので、お願いのFAXをして頂けると幸いです。
そして、これは難しいことかも知れませんが、18日13時から本会議場で「議長ー…」と発声する呼び掛け人の、谷公一議員が「国籍法一部改正案」と発しなければ、採決されません。
谷議員にお願いするのも一案です。本来これほどの重要法案は、法務委員会で採決された後に、各議員にプリントが配られ、2~3日後に本会議で採決されることが普通です。
今回の件は異常中異常です。ジャーナリスト水間政憲。転載フリー。

---------------------------------

<FAX番号>
  大島 理森 0 3 - 3 5 0 2 - 5 0 8 2
  塩崎 恭久 0 3 - 3 5 0 8 - 3 6 1 9
  島村 宜伸 0 3 - 3 5 0 8 - 3 7 1 8
  谷 公一   0 3 - 3 5 0 2 - 5 0 4 8

257:名無しさん@そうだ選挙にいこう
08/11/17 22:49:32
最近はテンプレ5番なしが流行ってるのか?
5番なしで質問してるやつには答えたくないな・・・

258:名無しさん@そうだ選挙にいこう
08/11/17 23:38:46
標準フォント変更ってどうやるの?

259:名無しさん@そうだ選挙にいこう
08/11/17 23:57:20
>>258
バージョンは?

260:名無しさん@そうだ選挙にいこう
08/11/18 11:21:47
>>248
Worksheet_Change で書式の変更って拾えないよね?

261:242
08/11/18 13:26:19
>>241の何がおかしいかようやく分かった
>B2 に =1+1/B2
B2 に =1+1/B1
の間違いだったのねw

262:名無しさん@そうだ選挙にいこう
08/11/18 17:09:02
1~10の数字が書かれた10枚のカードがあります
(1のカード、2のカード、…、10のカード)

このカードを無作為に一枚引き、元に戻す
という操作n回行った時
出た数の平均がm未満になる組み合わせの数

の一覧表を作りたいです。
横にmが1~10、縦にnが1~100、となるようにマクロを組んでみましたが
途中でメモリ不足で強制終了してしまいました。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 OpenOffice
【3 VBAが使えるか    .】 これが初挑戦です
【4 VBAでの回答の可否】 可

263:名無しさん@そうだ選挙にいこう
08/11/18 17:09:51
Sub Main
Dim oCell as Object
Dim Dice100( 1 To 100) as long
Dim DiceNum as long
Dim mUnder as long
Dim Anser as long
Dim EndR as long
Dim DiceSum as long
Dim Count as long

For DiceNum = 1 To 100
For mUnder = 1 To 10
DiceClear(Dice100())
Anser = 0
EndR = 0
While EndR <> 10^DiceNum
EndR = 1
DiceSum = 0
For Count = 1 To DiceNum
DiceSum = DiceSum + Dice100(Count)
EndR = EndR * Dice100(Count)
Next Count
If (DiceSum / DiceNum) < mUnder Then
Anser = Anser + 1
EndIf
DiceAdd(Dice100())
Wend

264:名無しさん@そうだ選挙にいこう
08/11/18 17:13:05
すみません、張り直しです

Sub Main
 Dim oCell as Object
 Dim Dice100( 1 To 100) as long
 Dim DiceNum as long
 Dim mUnder as long
 Dim Anser as long
 Dim EndR as long
 Dim DiceSum as long
 Dim Count as long

 For DiceNum = 1 To 100
  For mUnder = 1 To 10
   DiceClear(Dice100())
    Anser = 0
    EndR = 0
    While EndR <> 10^DiceNum
    EndR = 1
    DiceSum = 0
    For Count = 1 To DiceNum
     DiceSum = DiceSum + Dice100(Count)
     EndR = EndR * Dice100(Count)
    Next Count
    If (DiceSum / DiceNum) < mUnder Then
     Anser = Anser + 1
    EndIf
    DiceAdd(Dice100())
   Wend

265:名無しさん@そうだ選挙にいこう
08/11/18 17:13:51
   Set oCell= ThisComponent.Sheets(0).getCellByPosition(mUnder,DiceNum)
   oCell.Value = Anser
  Next mUnder
 Next DiceNum
End Sub

Sub DiceAdd(Dice100())
 DiceAdd2(Dice100,1)
End Sub

Sub DiceAdd2(Dice100(),Num)
 Dice100(Num) = Dice100(Num) + 1
 If Dice100(Num) > 10 Then
  Dice100(Num) = 1
  DiceAdd2(Dice100(),Num+1)
 EndIf
End Sub

Sub DiceClear(Dice100())
 For Num = 1 to 100
  Dice100(Num) = 1
 Next Num
End Sub

266:名無しさん@そうだ選挙にいこう
08/11/18 17:15:49
このマクロだとカード6枚目でメモリ不足で止まってしまいます
何か良い方法がありましたらお願いします

267:名無しさん@そうだ選挙にいこう
08/11/18 17:16:32
>>266
諦める

268:名無しさん@そうだ選挙にいこう
08/11/18 17:49:36
せめてどこでメモリが不足しているのかだけでもお願いします
例えばDice100はどれだけ中身をいじろうともメモリの使用量は変わりませんよね?
なぜ途中からメモリが足りなくなるのでしょうか

269:名無しさん@そうだ選挙にいこう
08/11/18 18:43:42
Excel2003用に少し弄って動かしてみた(6回目までで止めたが)
これじゃものすごく時間かかるジャマイカ

それとメモリの問題を解決したとして
Excel2003と同じ仕様ならだが9回目までが限度だと思う
9回目10未満の組み合わせは 999999999通り
10回目10未満の組み合わせは9999999999通り
10回目のどこかでオーバーフローしないか?

270:名無しさん@そうだ選挙にいこう
08/11/18 18:48:22
EndRは常に1だからループから抜け出せない

  DiceClear (Dice100()) 'Dice100()は全て1
  …
    While EndR <> 10 ^ DiceNum
      EndR = 1
      …
      For Count = 1 To DiceNum
        …
        EndR = EndR * Dice100(Count) '1*1=1
      Next Count
      …
    Wend

271:名無しさん@そうだ選挙にいこう
08/11/18 18:55:14
>>269
オーバーフローっていうのは変数の最大値を超える数を代入しようとして溢れる事ですよね?
10000000000通りの組み合わせのカウントは配列Dice100で行っていて
各要素には最大でも11までしか入らないのでオーバーフローはしない、と思います

で、今になって最終的に
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000通り
の組み合わせになる事に気付きました
生きてる間には終わらなそうです
総当りではなく、計算で求められる部分は計算でやらないとどうしようもなさそうですね
でも計算ができないからExcelで総当りする事にしたのにそれじゃあ本末転倒という…

>>270
DiceNumが6になって少しあたりまでは正常に動いていたので、そこは問題無いと思います
Dice100(Count)の中身はWendの一行前のDiceAdd(Dice100())で増えていきます

272:262
08/11/18 19:03:59
>>269
すみません、オーバーフローの事、理解しました
ひとまずそこだけは直しておきます

273:258
08/11/18 19:19:59
2003っす

274:名無しさん@そうだ選挙にいこう
08/11/18 19:27:38
>>262
統計ソフトのRって知ってます? あれ使えばできそうな気がするのでちょっと考えてみたいんですが、Rのソース貼ったら理解できますか?

275:名無しさん@そうだ選挙にいこう
08/11/18 19:57:29
誰も262さんの
【2 Excelのバージョン   】 OpenOffice←
につっこまないのにワロタ

276:262
08/11/18 19:58:18
>>274
Rというのは初めて知りましたが
もし良ければソース貼って頂けないでしょうか
ソースの理解は自分でなんとかします

277:名無しさん@そうだ選挙にいこう
08/11/18 20:40:40
>>276
失礼、統計ソフトの R じゃなくて、数式処理ソフトの maxima でしたw
そいつを使うと式の展開とかがすばやくできるんですけどね、

1から10まであるサイコロの出目の確率分布に対応する「母関数」を以下のように定めます:
f(x) = (x^10+x^9+x^8+x^7+x^6+x^5+x^4+x^3+x^2+x)/10
サイコロの目がxの指数に、係数が確率に対応していますね。x自体は形式的な変数なので、深く考えないでいいです。

それでですね、たとえば f(x)^2 を展開すると
(x^20+2x^19+3x^18+4x^17+5x^16+6x^15+7x^14+8x^13+9x^12+10x^11+9x^10+8x^9+7x^8+6x^7+5x^6+4x^5+3x^4+2x^3+1x^2)/100
になりますよね。
わかりますか? これはサイコロを2個振ったときの確率分布に対応する母関数なのです!
すなわち「母関数のべき乗」が「反復試行の和の確率分布」に対応するというわけです。

maxima のコード例はたった3行です:
f(x):=(x^10+x^9+x^8+x^7+x^6+x^5+x^4+x^3+x^2+x^1)/10;
expand(f(x)^10);
coeff(%,x,40);

1行目はサイコロの定義です。(:= 関数定義)
2行目は10個振った結果を求めています。(expand 展開)
3行目は2行目の出力に対して、出目の合計が40である確率を求めています。(coeff 係数)
結果は 28980493/2500000000 と、約分された分数形で出てきます。

278:名無しさん@そうだ選挙にいこう
08/11/18 21:05:56
【1 OSの種類         .】 Windows XP SP3
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 with ActiveSheet.Shapes .Top=Range("b2").top

グラフをB2:L30に貼り付けたい。

Sub MoveGpaph()
With ActiveSheet.Shapes("グラフ 1")
.Top = Range("b2").Top
.Left = Range("b2").Left
End With
End Sub

これだと、グラフの左上がB2に固定されるのですが、
右下を大きさを変えてL30に固定したいです。

279:名無しさん@そうだ選挙にいこう
08/11/18 21:13:33
VBAはちょっと学習した程度です。
 A列
1りんご


4バナナ
5みかん

7桃

一列に空白と値が入っていて、上の値を次の値が入っているところまで
自動で入力したい場合、どのような操作がありますか?
上の例だと2、3にりんごを入れ、6にみかん、8に桃を入れたいのです。

280:名無しさん@そうだ選挙にいこう
08/11/18 21:15:01
>>278
こういことかな
Sub MoveGpaph()
With ActiveSheet.Shapes("グラフ 1")
.Top = Range("b2").Top
.Left = Range("b2").Left
.Height = Range("L30").Top - .Top
.Width = Range("L30").Left - .Left
End With
End Sub


281:名無しさん@そうだ選挙にいこう
08/11/18 21:29:24
>>279
作業列を使うなら
B1に=A1
B2に==IF(A2="",B1,A2)を入れて下にコピー
B列をA列に張り付ける

282:262
08/11/18 21:35:36
>>277
関数定義からしてまだよくわかりませんが、これならなんとかなりそうです
これから勉強してきます
本当にありがとうございます


283:278
08/11/18 21:43:15
>>280
そういうことです! THXです!

284:名無しさん@そうだ選挙にいこう
08/11/18 22:11:58
>>279
Sub test()
For a = 1 To 50
If Cells(a + 1, 1) = "" Then
Cells(a + 1, 1) = Cells(a, 1)
End If
Next
End Sub

285:名無しさん@そうだ選挙にいこう
08/11/18 22:20:49
>>273
ツール→オプション→全般

286:名無しさん@そうだ選挙にいこう
08/11/18 22:28:58
>>277
君が何を言っているのかさっぱりわからない。
黙って聞いてるみんなはわかってるの?

287:名無しさん@そうだ選挙にいこう
08/11/18 22:35:51
わからないから黙っているのでは?

288:名無しさん@そうだ選挙にいこう
08/11/18 22:44:47
a b c a d d
というデータに対して
4(a b c dの4種なので)という結果を出す関数を知りたいんです
お願いします

289:279
08/11/18 22:46:52
>>281
値と値の間が10行空いているときもあれば、2行しかあいてない場合もあるので
関数だとうまくできなかったです。
>>284
できました。ありがとうございます。

290:262
08/11/18 22:53:40
>>286>>287
馴染みのある6面体サイコロの場合だと
サイコロ一つ振った場合の出目を表したのが

(x^6 + x^5 + x^4 + x^3 + x^2 + x) / 6

二つ振った場合はそれの二乗で

(x^12 + x^11 + x^10 + x^9 + x^8 + x^7
     x^11 + x^10 + x^9 + x^8 + x^7 + x^6
          x^10 + x^9 + x^8 + x^7 + x^6 + x^5
               x^9 + x^8 + x^7 + x^6 + x^5 + x^4
                    x^8 + x^7 + x^6 + x^5 + x^4 + x^3
                        x^7 + x^6 + x^5 + x^4 + x^3 + x^2)
                                                 /36
---------------------------------------------------------------------
(x^12 + 2x^11 + 3x^10 + 4x^9 + 5x^8 + 6x^7 + 5x^6 + 4x^5 + 3x^4 + 2x^3 + x^2) / 36

○x^△
サイコロを2個振った時の目の合計が△になるのは○通り

という事だと思います。
まだ完全に物にしてないのであまり詳しくはわかっていませんが
こんな方法があったという事に少し感激しました。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch