Excel総合相談所 44

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう
Excelに関する質問は、ここで!

     /)_/)    ( ・分かる人はできるだけ回答して下さいませ。
    < ゚ _・゚> .。oO( ・回答がなくてもキレないで。急いでいても催促は3日以上開けて。
  ノ) /   |     ( ・自己解決したらその解決手段を他の人の参考の為に書いてね。
  \(_,,,_,,,)

▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aも読もう。
★4 質問テンプレは必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
   これを書かなかった場合は、以後まともな回答は付かないと思ってください。

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

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。
  「VBAって何?」って場合はとりあえず「否」に。よくわからないけど使ってみたいってなら
  「可」にして、>>10-15あたりの解説を参考に使ってみよう。

・前スレ http://pc8.2ch.net/test/read.cgi/bsoft/1143177051/
2名無しさん@そうだ選挙にいこう:2006/04/27(木) 08:33:51
2ゲット
3名無しさん@そうだ選挙にいこう:2006/04/27(木) 08:40:30

▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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 テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
  チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
  ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
4名無しさん@そうだ選挙にいこう:2006/04/27(木) 08:42:27
>>1★1〜4に従ってない場合は、回答者が勝手に解釈して答えたり適当な回答されたり無視されたりします。
  情報や条件は最初の質問時にルールに従ってきちんと書きましょう。
  情報条件なんて聞かれてから後出しすればいいなんて思わないように。
  指摘されてから書き直しても、その質問にはまともな回答が付かないと思ってください。

  ここは、きちんとマナーを守ってる質問者には「・分かる人はできるだけ回答して下さいませ。」というスレです。
  明記してある質問マナーすら守らない人に、丁寧な回答を付ける義理なんてありませんから。


▼━回答者の心得━━━━━━━━━━━━━━━━━━━━
★1 質問者が書いたバージョンのExcelを持ってない場合は、確認したバージョンを明記しましょう。
★2 質問条件は良く読みましょう。
★3 『 【3 VBAが使えるか    .】 いいえ/【4 VBAでの回答の可否】 可 』の場合はコピペで動作するコードを書いてあげましょう。
★4 質問ルールを守ってない質問者に、ルール指摘をするかどうかは勝手ですが、
   そういう質問者への回答はしないようにしてください。「教えたがり厨」なら仕方ありませんが・・・。


・関連スレ

 Excel総合相談所・雑談・議論スレ
 http://pc8.2ch.net/test/read.cgi/bsoft/1120184635/

 ★Word/Excel (MS-OFFICE) 初心者スレッド Part26★
 http://pc7.2ch.net/test/read.cgi/pcqa/1138247967/
 
 OpenOffice.orgってどうなの?Part7
 http://pc8.2ch.net/test/read.cgi/bsoft/1135661797/

 VBプログラマ質問スレ(6.0以前) Part47
 http://pc8.2ch.net/test/read.cgi/tech/1141320612/
5名無しさん@そうだ選挙にいこう:2006/04/27(木) 08:43:01
= FAQ: 基本 =
Q1:こんな関数ありませんか?
A1:「関数の挿入」にある検索機能や、ヘルプの検索を利用しましょう。
   また、一つの関数で目的を達成しようと思わずに、いくつかの関数を組み合わせて使うという発想を持ちましょう。

Q2:数式がエラーを返すんですけど
A2:関数をネストせず、数式を分解してみてください。
   どの関数がエラーになっているのか解れば、その関数の参照先や、ヘルプなどを見て大抵は簡単に解決できます。

Q3:計算結果やセルの値によって自動で書式を変更したいんですが
A3:条件付き書式を利用してください。数値比較で文字色のみの指定なら表示形式でもできます。

Q4:計算結果やセルの値によって表示形式を変えたいのですが
A4:表示形式のユーザー設定で複数条件の表示形式を指定できます。
   基本形式は「正の数;負の数;0の場合;文字の場合」です。(;は半角で)
   又は「[>=70]70以上の場合;[>=50]50以上の場合;50未満の場合;文字の場合」というような指定も出来ます。
   書式記号などに関することはヘルプを参照しましょう。

Q5:計算結果が自動で更新されなくなったんですが、どうすれば直せますか
A5:Excel(2002?)の不都合で、計算方法が手動になってしまうことがあるようです。
   ツール > オプション > 計算方法
   で、計算方法を自動にすることで元にもどります。
   参考URL:ttp://support.microsoft.com/default.aspx?scid=kb;ja;817716

Q6:VBAでこんなこと出来ませんか?どうやるんですか?、
A6:まずはマクロの記録を取ってみて、記録されたコードのメソッドやプロパティをヘルプで調べたり、
   ステップ実行やブレークポイントなどを使って動作を確認したりしてみましょう。

Q7:エクセルの勉強をするのにオススメの書籍・サイトは何ですか?
A7:自分で実際に読んで(閲覧して)、自分のレベルに合っていて解りやすいと思うものを利用しましょう。
6名無しさん@そうだ選挙にいこう:2006/04/27(木) 08:43:38
= FAQ: 列の表示について =
Q:列名がA,B,C,D,Eではなく、1,2,3,4,5になってしまいました。
  アルファベットに戻すにはどうしたらいいですか?
A:ツールメニュー:「オプション」 -「全般」タグで
  『R1C1 参照形式を使用する(C)』のチェックを外せば直ります。

Q:列を256個(IV列)よりたくさん広げることはできませんか?
A:エクセルのシートは65536行×256列が仕様上の上限です。
  シートを分けるとか、行と列を入れ替えるとか、データの方をまとめるとか、
  列数を増やさない方向で工夫するしかありません。

Q:ひとつのブックにシートは何枚作成出来ますか?
A:物理メモリ容量やシートの内容に依存します。


= FAQ: 印刷プレビュー =
Q:印刷プレビューではセル内に収まっていた文字が
  実際に印刷してみるとはみ出してしまうのですが、何とかなりませんか?
A:「印刷プレビューと印刷結果が一致しない」のは
  昔からのExcelの弱点で、どうにもなりません。
  セルの幅や高さに余裕を持たせるか、
  書式設定で「縮小して全体を表示する」にチェックを入れましょう。


= FAQ: マクロの"削除" =
Q:マクロを削除したのに、ファイルを開くたびにセキュリティの確認が出ます。
A:モジュールの解放が必要。
  【モジュールの解放方法】Alt+F11→Ctrl+R→Module1を右クリック→解放
  それでもセキュリティの確認が出る場合は、同じくMicrosoft Excel Objects以下の
  Sheet*及びThisWorkbookに何か書かれてないか確認してください。
7名無しさん@そうだ選挙にいこう:2006/04/27(木) 08:44:24
= FAQ: 計算したい。角度とか =
Q:例えば、一つのセルに1803329と入力すると
  180度33分29秒と表示されるようにするには
  どうすればいいのでしょうか?
  ついでに計算もしたいです。
A:「1803329と入力すると180度33分29秒と表示される」
  というのと、計算できるというのを両立させるのは無理。
  書式を
  [h]:mm:ss や [h]"度"mm"分"ss"秒".00
  などにしておき、入力するときには
  180:33:29.99
  などとすれば、表示も計算もできる。

・その他時間とか日付とかの計算について
 勤務時間を計算するには
 ttp://support.microsoft.com/default.aspx?scid=kb%3bja%3b880980
 日数および日付の表示方法と計算方法 - 基本編
 ttp://support.microsoft.com/default.aspx?scid=kb%3bja%3b880979

= FAQ: 合計から元の数を逆算 =
Q:たくさんの数値のリストがあって、
  リスト中のいくつかの数の合計と思われる数値が与えられました。
  リスト中のどれとどれの合計か調べることはできますか?
A:ナップザック問題(knapsack problem)として知られている難問です。
  一般的には総当りで調べるしかありませんが。
  しかし、データに特徴がある場合(桁数が限られているなど)には、
  うまい方法があって、速く解けることもあります。
  下記のページを参照してみてください。
   ナップザック問題をExcelで解く
   ttp://www.geocities.co.jp/SiliconValley-Oakland/8139/
8名無しさん@そうだ選挙にいこう:2006/04/27(木) 08:46:30
= FAQ: 条件によって表示を変更するには? =
Q:セルの内容を判断して、表示を変えたい
A: IF関数を使います。
  =if(条件,条件が成立した場合,成立しなかった場合)

例1:基本
 セルA1が1の場合○、それ以外の場合×を表示
 =IF(A1=1,"○","×")
例2:if文の中にif文
 A1が、1の場合○、2の場合△、それ以外×。
 =IF(A1=1,"○",IF(A1=2,"△","×"))
例3:ANDやOR活用
 A1が、4〜6の場合は、普通と表示
 =IF(AND(A1>3,A1<7),"普通","少ないか多い")
例4:計算も出来る
 A1が10までなら、A1を10倍して表示、それ以外なら2を引く。
 =IF(A1<11,A1*10,A1-2)
例5:対象が空欄なら表示も空欄にする
 A1が空欄なら結果は何も表示しない、それ以外ならA1から2を引く。
 =IF(A1="","",A1-2)
 =IF(ISBLANK(A1),"",A1-2)

詳しくはヘルプを参照しましょう。


= FAQ: セル内での改行 =
Q:セル内で改行したいんですがどうすればいいでしょうか
A:改行したい位置でAltを押しながらEnterを押せばセル内改行できます。
  但し数式で改行コードを入れた場合は、手動でセルの書式設定から
  「折り返して全体を表示する」を有効にしないと改行されません
9名無しさん@そうだ選挙にいこう:2006/04/27(木) 08:48:21
= FAQ: グラフについて =
Q1:データの空白部分があって、そこで折れ線が切れてしまいます。
   繋げたいのですが如何したらいいでしょうか?
A1:グラフを選択>ツール>オプション>グラフ>空白セルのプロット「補間してプロットする」にチェック

Q2:棒グラフに重ねて、折れ線グラフを表示するにはどうしたらいいのでしょうか?
A2:最初、すべてのデータを棒グラフで作成。
  次に、折れ線で表わしたいデータ系列のどこかを、グラフ上で右クリック
  サブメニュー>グラフの種類>折れ線>OK

Q3:ある系列だけ、縦軸を別にしたいです。
A3:その系列のどこかを、グラフ上で右クリック
  データ系列の書式設定>軸>使用する軸「第2軸」にチェック>OK


= FAQ: 入力した値が変わる? =
Q:セルに入力した値が勝手に変わってしまうのですが
  入力したままの形で表示させるにはどうしたらいいですか?
A:数字でよくあるケース(先頭のゼロが消えてしまう、日付として解釈されてしまう)
  入力する時、先頭にアポストロフィ(')をつけるか、
  該当するセルで右クリック−「セルの書式設定」−「表示形式」で「文字列」を選択。
  文字列ではなく数値として扱いたいときは
  「セルの書式設定」−「表示形式」で「ユーザー定義」を選択し、工夫する。
A:文字でよくあるケース(i⇒I、teh⇒the、cna→can など)
  ツール→オートコレクト→入力中にオートコレクト
  の該当する箇所を削除。
10名無しさん@そうだ選挙にいこう:2006/04/27(木) 10:38:33
= FAQ: 行列の入れ替え =
Q:エクセルで作った表が横方向に多くなってきたので
  行と列を入れ替えたいのですが。
A:コピーして、適当なセルで右クリック。
  形式を選択して貼り付け→行列を入れ替える。


= FAQ: 参照するシートやセルをセルの値で指定する =
Q:A1に「5」とか「6」とか指定する値を変えたら
  B1の関数で「C5」とか「C6」とか参照先が変わるようにできませんか?
A:INDIRECT関数を使ってみましょう。
  詳しくはヘルプで「INDIRECT」を検索


= FAQ: 参照先を固定する =
Q:数式が参照するセルを削除すると参照先が「=#REF!」になってしまうますが
  セルを削除しても同じセルを参照するようにするにはどうすればようですか
A:INDIRECT関数を使ってみましょう。
  =A1 => =INDIRECT("A1")


= FAQ: ブラウザの変更 =
Q:Excelでアドレスをクリックした時に開くブラウザをIEからSleipnirなどに変更したい。
A:スレ違いです。
  開きたいブラウザの設定画面でそのブラウザを通常使うブラウザに指定してください。

  ※ブラウザからの設定だけではきちんと設定出来ない場合もあります。
    詳しい情報をお持ちの方はこのスレにてご一報ください。
11名無しさん@そうだ選挙にいこう:2006/04/27(木) 10:41:09
= FAQ: ワイルドカード文字の検索・置換 =
Q:* 、 ? で検索するとワイルドカードとして認識されてしまいますが、
  * 、 ? の文字自体を検索するにはどうすればよいですか?

A: ~* 、 ~? のように、頭に ~ を付けることでエスケープ出来ます。

A:全角で*と入力し「半角と全角を区別する。」のチェックを外して検索する
 (全角なのでワイルドカードとしては使われないが
  全半角を区別しないので文字として"*"にはヒットする。)

= 整数と時間の相互変換 =
Q:1:30を1.5に変換したい、30を0:30に変換したい
A:シリアル値の「1」は1日=24時間=1440分=86400秒です。
  以下のような計算やTIME関数などで変換できます。

  値(A1)  結果   式   
  1:30   1.5    =A1*24
  0:30   30    =A1*1440
  2:30   250    =A1*100*24

  1.75    1:45   =A1/24
  30     0:30   =A1/1440
  25     0:15   =A1/100/24

  30     0:30   =TIME(0,A1,0)
  (変換計算しただけでは表示形式は変わらないので、セルの表示形式は任意で変更しましょう)
12名無しさん@そうだ選挙にいこう:2006/04/27(木) 10:41:41
= FAQ:時刻の入力 =
Q:時刻をテンキーで入力するとき:を入力するのが面倒なのですが、
  なにか良い方法はありませんか?
A:「 ..」や「.」を「:」に置き換える方法をお試しください
  1) オートコレクトで..を:に置き換える
   →自動で置換されるので手間は少ないが..を使う他の入力にも影響する
  2) 「時..分」で入力しておいて、後から「編集 > 置換」で範囲指定で一括置換する
   →置換に一手間掛かるが、他への影響は無い
   (「時.分」だと分の1桁目が0の場合狂ってしまう)
  3) VBAのWorksheet_Changeイベントで置換する
   →置換する範囲を指定すれば他への影響もなく置換も自動、入力も.ひとつでOK
参考コード(入力は「時.分」)
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim buf As Variant
 Application.EnableEvents = False
 buf = Split(Target.Value, ".")
 Target.Value = buf(0) & ":" & Left(buf(1) & "0", 2)
 Application.EnableEvents = True
End Sub

= FAQ:シート名やブック名の書きだし =
Q:シート名(ブック名)をセルに書き出したいのですが、どうすればよいですか?
A:シート名 =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
  ブック名 =MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND("]",CELL("filename",A1))-FIND("[",CELL("filename",A1))-1)

= トラブル =
Q:方向キーやPageUp、PageDownでアクティブセルが移動するのではなくスクロールしてしまいます。
A:Scroll Lockというキーを押してみてください。
13名無しさん@そうだ選挙にいこう:2006/04/27(木) 10:42:26
★VBAでの回答をもらったり、Webからサンプルコードを拾ったけど、
  使い方がわからないって場合はここを参考に。

Step1 VisualBasicEditorの起動
 メニューより、[ツール → マクロ → VisualBasicEditor]と辿ってください。

Step2-a コードを貼る
 マクロはその内容によって、置く場所が決まっています。
 大抵は回答者が指定してくれたり、サンプルの中にコメントとして書いてあったりするのでそれに従いましょう。
 指定がない物は基本的に「Private Sub Worksheet_」で始まる物はシートオブジェクトに、
 「Private Sub Workbook_」で始まる物はブックオブジェクトに、それ以外は基本的に標準モジュールに置いてください。
 (ツリーの該当部分をダブルクリックして、表示されたコードウィンドウにコードを張り付けます)

  ├VBAProject (hoge.xls)   ←括弧内がブック名、以下がひとつのプロジェクトになります
  |├Microsoft Excel Object
  ||├Sheet1 (Sheet1)   ←シートオブジェクト(左側がオブジェクト名で、右側の括弧内がシート名です)
  ||├Sheet2 (Sheet2)
  ||└ThisWorkbook     ←ブックオブジェクト
  |└標準モジュール
  |  └Module1        ←標準モジュール(※)
  └VBAProject (Personal.xls) ←個人用マクロブック
    ├Microsoft Excel Object
    |├Sheet1 (Sheet1)
    |└ThisWorkbook     ←個人用マクロブックのブックオブジェクト
    └標準モジュール
      └Module1        ←個人用マクロブックの標準モジュール

  ※ 標準モジュールを追加するには、追加したいプロジェクトツリー上で右クリックし、
     メニューから[挿入 → 標準モジュール]を選択してください。
14名無しさん@そうだ選挙にいこう:2006/04/27(木) 10:43:07
Step2-b ボタンに登録する。
 通常、イベントで動かすマクロ以外は、マクロの一覧から選択して実行しますが、
 頻繁に使う場合や、他の人が操作する場合はシート上のボタンを押して実行できるようにすると便利です。

 まず、メニューから[表示 → ツールバー → フォーム]と辿ってフォームツールバーを出し、
 ボタンアイコンを押して、適当な場所にボタンを作ります。
 ボタンを作ると自動的に[マクロの登録]というダイアログが立ち上がるので、
 (立ち上がらない場合はボタンを右クリックして[マクロの登録]を選択)
 [新規作成]を押して表示されたコードウィンドウのカーソル位置にコードを張り付けます。
 既存のマクロを登録する場合は、[マクロの登録]で一覧から選択して、[OK]を押してください。

Step3 マクロの実行
 ボタンに登録したものは、ボタンを押せば実行されます。
 イベントで動かすものは、所定操作をした時に自動で実行されます。
 それ以外はメニューから[ツール → マクロ → マクロ]と辿って表示されたマクロの一覧から選択して実行します。

Step4 トラブルが起きたら
 トラブルを自己解決出来ない場合は、
 ・エラーが出る条件 (どうやってもエラーが出る、〜をしたときにエラーが出る、等)
 ・エラーメッセージ (ダイアログ上でCtrl+Cを押せばメッセージをコピー出来ます)
 ・エラーが出る位置 (エラーダイアログ上で[デバッグ]を選択すると、エラー位置がハイライトされます)
 などを報告しましょう。
 また、期待通りの動作をしない場合も、条件や想定上の結果と実際の結果の内容など詳しく書きましょう。
15名無しさん@そうだ選挙にいこう:2006/04/27(木) 10:44:12
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

 ▼操作
  ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成)
  ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA)
  ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA)
  ・ 選択範囲から一部を除く
  ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える)
  ・ 1セルを分割 (分割したいセル以外を結合)
16名無しさん@そうだ選挙にいこう:2006/04/27(木) 10:44:54
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼数式・関数
  ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
  ・ 関数式でセルの選択状態を取得する (VBA)
  ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
  ・ 入力したセルに結果を返す (VBA)
  ・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
  ・ 値の書き換え、値の保持 (VBA)
  ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
  ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA)
  ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数)

 ▼VBA
  ・ ExecuteExcel4Macroの参照で空セルと0値を区別する
  ・ セルの値や変数値で直接変数名を指定する (配列、コレクション)
  ・ VBのコントロール配列と同じような操作をしたい
   (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents)

 ▼ユーザーフォーム
  ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む)

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||
17名無しさん@そうだ選挙にいこう:2006/04/27(木) 10:45:53
ルールに関するQ&A

Q1:自治厨ウザイ
A1:ここより上に書かれていることを指摘されるのは自治厨行為とは違います。
   それは、指摘される側がルールを守ってないことに起因されるものであり、
   ルールを守らない側が自己厨なだけで、指摘する側は当然のことをしているだけです。
   それ以外の指摘をしてくる奴は自治厨なので、雑談スレにでも誘導してください。

Q2:なんで後から質問テンプレ書いても回答してくれないの?
A2:世の中なんでもやり直しが利くと思ったら甘いということです。
   「ルール無視しても、指摘されてからやり直せばいいや」なんて考えの奴が蔓延したら
   ルールなど半分は意味を持たなくなり、スレは荒廃する一方です。
   ここではルール守ってる人にはマクロの丸投げすら許容するほど大甘ですが
   逆にルール守らない人には厳しくなってます。
18名無しさん@そうだ選挙にいこう:2006/04/27(木) 11:14:15
>>15-16
本当に出来ないの?ちゃんと内容を精査したの?
ぼくちゃん!知らないだけじゃないの
>>17
そんなQ&A書いて恥ずかしくないか
ぼくちゃん!ルールと言う壁に囲まれていないと不安なのかい?
19名無しさん@そうだ選挙にいこう:2006/04/27(木) 11:24:38
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル VBA 文字以降 削除

セルの中に"番号*氏名"が記入されていて、"*"を基準に番号と名前を
別々の変数として得るにはどのようにしたらよいでしょうか。
20名無しさん@そうだ選挙にいこう:2006/04/27(木) 11:34:07
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel20003
【3 VBAが使えるか    .】 いいえ(昔、VB2.0でほんの少し遊んだ事があるという程度なら…)
【4 VBAでの回答の可否】 出来れば否

例えば、列Aには、鈴木、佐藤、山田のいづれかの名前がランダムに並んでおり、
列Bには、左の列Aの人物に該当する金額が入力されています。
これらは定期的に鈴木か佐藤か山田で行が追加されて行きます。

行|列A|列B
-------------
1|山田|10,000
2|佐藤|10,000
3|鈴木|30,000
4|佐藤|20,000
5|鈴木|30,000
6|山田|20,000
7|鈴木|20,000
8|山田|10,000
-------------

各個人ごとの合計金額を定期的に出したい為、
現在は、その都度、名前順で並べ替えをしてSUMでそれぞれの合計を出しています。

これを並べ替えをせずに、何らかの関数で、列Aの名前の値を識別させて、
その隣の列Bの合計をそれぞれ自動で出すというような作業は可能でしょうか?
例えば、列Aに"山田"と入っているセルの隣の列Bセルの数値だけを抜き出して、
山田の金額の合計値(山田=30,000)だけを自動で出させるような事がしたいのです。

自分で関数ヘルプ等探した限り、cuntifで選択範囲内の山田の個数だけを抜き出すという
ような事なら出来たのですが、自分の求めるものには程遠く至れませんでした。
何とぞご教授願い致します。
21名無しさん@そうだ選挙にいこう:2006/04/27(木) 11:41:14
>>20
SUMIF
DSUM
22名無しさん@そうだ選挙にいこう:2006/04/27(木) 11:53:29
>>19
>別々の変数として得るには
この部分の意味が分らないが「エクセル技道場」の
http://www2.odn.ne.jp/excel/waza/function.html#SEC34
が参考になるかな
ただデータを*で分離するだけなら(データ/区切り位置)で出来る
23名無しさん@そうだ選挙にいこう:2006/04/27(木) 12:20:48
>>19
「*」を元にsplitで配列にしてからひとつずつ取り出せばいいんじゃないかな。

a = split(Range("A1").value,"*")
番号 = a(0)
名前 = a(1)
24名無しさん@そうだ選挙にいこう:2006/04/27(木) 12:23:07
>>20
集計機能かピボットテーブル使っちゃうのが楽じゃないかな。
25名無しさん@そうだ選挙にいこう:2006/04/27(木) 12:28:28
前スレ995をどなたかお願いします
26名無しさん@そうだ選挙にいこう:2006/04/27(木) 12:38:06
これにレス欲しいのか?

995 名前:名無しさん@そうだ選挙にいこう 投稿日:2006/04/26(水) 15:41:20
うるせーよくたばれ
2719:2006/04/27(木) 12:55:16
>>22さん
結構詳しく書いてあるようなので勉強がてら
解読してみたいと思います。
ありがとうございました。

>>23さん
>a = split(Range("A1").value,"*")
>番号 = a(0)
>名前 = a(1)
上記で実行できることを確認しました。
ありがとうございました。助かりました。
2820:2006/04/27(木) 13:19:28
>>21さん
ありがとうございます

SUMIFの関数ヘルプ読みながらやったところバッチリ出来ました

私が求めていた機能はまさにこれです!!
29前スレ982:2006/04/27(木) 13:40:18
>>前スレ984
そうですね。すみません。自分なりに四苦八苦して解決しました。
お騒がせしました。
30名無しさん@そうだ選挙にいこう:2006/04/27(木) 13:51:41
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel vba ネットワークアドレス 

http://forums.belution.com/ja/vb/000/014/88.shtml

上記のサイトでも質問させていただきましたが、IPアドレスと
サブネットマスクからネットワークアドレスを求めるマクロを
作成したいです。どなたかご教授願えないでしょうか。
31名無しさん@そうだ選挙にいこう:2006/04/27(木) 13:53:03
エクセルでおこづかい帳つけたいです
どれがいいですか?
32J2サポーター:2006/04/27(木) 15:09:20
【OS:WinXP EXCEL:2000 VBA:使えません&回答不可 】です。
┏━┯━━┯━━┯━━┳━━┯━━┯━━┓  ┏━┯━━┯━━┯━━┯━━┯━━┯━━┓
┃表│ホーム│勝敗│得点┃得点│勝敗│アウェイ┃  .┃表│チーム│勝敗│勝点│得失│得点│失点┃
┃@┝━━┿━━┿━━╋━━┿━━┿━━┫  ┃A┝━━┿━━┿━━┿━━┿━━┿━━┫
┃  │札幌│ ● │ 1 ┃ 2 │ ○.│ 柏 ┃  ┃  │札幌│ ● │ 0 │−1.│ 1 │ 2 ┃
┃  ├──┼──┼──╂──┼──┼──┨  ┃  ├──┼──┼──┼──┼──┼──┨
┃  │山形│ ● │ 0 ┃ 3 │ ○.│仙台┃  ┃第│仙台│ ○ │ 3 │ 3 .│ 3 │ 0 ┃
┃第├──┼──┼──╂──┼──┼──┨  ┃  ├──┼──┼──┼──┼──┼──┨
┃  │水戸│ ○ │ 2 ┃ 1 │ ●.│徳島┃→ ┃11│山形│ ● │ 0 │−3.│ 0 │ 3 ┃
┃11├──┼──┼──╂──┼──┼──┨→ ┃  ├──┼──┼──┼──┼──┼──┨
┃  │草津│ △ │ 0 ┃ 0 │ △.│横浜┃→ 〜  〜   〜   〜   〜   〜   〜   〜
┃節├──┼──┼──╂──┼──┼──┨
┃  │愛媛│ ● │ 1 ┃ 2 │ ○.│湘南┃  〜  〜   〜   〜   〜   〜   〜   〜
┃  ├──┼──┼──╂──┼──┼──┨  ┃  ├──┼──┼──┼──┼──┼──┨
┃  │神戸│ ○ │ 3 ┃ 1 │ ●.│東京┃  ┃  │愛媛│ ● │ 0 │−3.│ 2 │ 1 ┃
┃  ├──┴──┼──╂──┼──┼──┨  ┃  ├──┼──┼──┼──┼──┼──┨
┃  │ 対戦なし │ 0 ┃ 0 │ ▲.│鳥栖┃  ┃  │鳥栖│ ▲ │ 0 │ 0 .│ 0 │ 0 ┃
┗━┷━━━━━┷━━┻━━┷━━┷━━┛  ┗━┷━━┷━━┷━━┷━━┷━━┷━━┛
33名無しさん@そうだ選挙にいこう:2006/04/27(木) 15:10:49
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 -
【4 VBAでの回答の可否】 -
【5 検索キーワード     】 エクセル VBA セキュリティ

Excel2003で[ツール]→[マクロ]→[セキュリティ]
[信頼できる発行元]タブの
[Visual Basicプロジェクトへのアクセスを信頼する]の
チェックボックスがグレーになっていて、チェックできません。

他のPCのExcel2003ではチェックできるのですが
何か設定とかあるのでしょうか?
34J2サポーター:2006/04/27(木) 15:11:28
先日はご回答ありがとうございました。お蔭様で、表Aからチーム順位表を作成することができました。
さて今回は、表@(対戦表)から表A(当節成績表)を作成したいと考えております。
表@の入力項目はチーム名・得点で、勝敗記号は得点から自動設定します。
表@のチーム名から表Aのチーム名(北から南の順)を検索し該当チーム欄の得点、失点、勝敗を表@
より転記します。(表Aの勝点、得失欄は得点、失点データを基に自動設定します)

そこで質問です。チーム名の検索とデータの転記ですが、LOOKUP関数ではチーム名が昇順(漢字コード
順?)になっていない為にうまく検索できません。また、表@のアウェイチームの成績がホームチーム成績
の並びと逆になっているのも問題かと思います。この表@から表Aを作るよい方法はないでしょうか。
アドバイスのほど、よろしくお願いいたします。
35名無しさん@そうだ選挙にいこう:2006/04/27(木) 15:41:27
>>26

すみません、996でした。
どなたかよろしくお願いします。
36名無しさん@そうだ選挙にいこう:2006/04/27(木) 16:04:00
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel関数 文字列操作 逆 左右

「abcd」を「dcba」という順序に変換したいです
よろしくお願いします
37名無しさん@そうだ選挙にいこう:2006/04/27(木) 16:26:14
>>35
もうあきらめなよ。
ここでそんな風に頑張ってもレスはつかないよ。

って書くと教えたがり厨が教えるだろうけどね。
38名無しさん@そうだ選挙にいこう:2006/04/27(木) 16:52:04
お初です。
エクセルで、数千もの莫大な行になるデータを扱う実験を行っています。
そこで、質問なのですが、オートフィルタ機能などを使って、【測定時間】という
列の、整数秒のみ、0.1、0.5、1、1.5、2・・・とあるものの整数のみを抽出するには
どのようにしたらいいのでしょうか?
これがわからず、作業が前に進みません・・・
宜しくお願いします。


39名無しさん@そうだ選挙にいこう:2006/04/27(木) 17:06:44
>38何回も登場するこのコピペは
同一人物なのか
それともただの愉快犯か

何日間も膨大なデータ処理が止まっているようだけど
質問が変わらないという事は、全く急いで無いみたいだね
40名無しさん@そうだ選挙にいこう:2006/04/27(木) 17:16:26
エクセルでおこづかい帳つけたいです
どれがいいですか?
41名無しさん@そうだ選挙にいこう:2006/04/27(木) 17:26:05
エクセルは演算ソフトだけど、それ以外のことは超未熟だと割り切った方が良い。
ページ分割した場合の各ページを認識できないから、F5も使えないし
印刷機能が非常に弱い。
42名無しさん@そうだ選挙にいこう:2006/04/27(木) 17:36:39
【1 OSの種類         .】 Windows XP SP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 グラフタイトル セルの内容

セルB1に 私は
セルC1に エクセルが
セルD1に 苦手です
と入れているとします。

グラフタイトルにセルの内容を入れることをしています。
B1とC1とD1の内容を続けて入れる場合には
=Sheet1!$B$1:$D$1
とすれば出来ます。この場合、グラフタイトルは「私はエクセルが苦手です」となります。

これを、セルC1を含めない「私は苦手です」と表示させるにはどうすればよいのでしょうか?
隣接していない複数のセルの内容をくっつけてグラフタイトルにしたいのです。
お願いします。
43名無しさん@そうだ選挙にいこう:2006/04/27(木) 18:14:21
セルB1に 私は
セルC1に エクセルが
セルD1に 得意です。
って入れればできるよ
44名無しさん@そうだ選挙にいこう:2006/04/27(木) 18:40:16
>>42_=(Sheet1!$B$1,Sheet1!$D$1)
4542:2006/04/27(木) 18:49:13
>>44
ありがとうございます。
しかし、「参照が正しくありません。項目、値、サイズに対する参照は、1行または1列でなければなりません。」
というエラーダイアログが表示されてしまいます。
46名無しさん@そうだ選挙にいこう:2006/04/27(木) 19:03:13
>>42
タイトル用の作業セル作ればいいんじゃね?
そこに=B1&D1とか
47名無しさん@そうだ選挙にいこう:2006/04/27(木) 19:07:18
>>36
StrReverse("abcde") ってこと?
48名無しさん@そうだ選挙にいこう:2006/04/27(木) 19:18:02
>>34
左にチーム名があるかどうかをcountif関数とかで判定して、
if関数組み合わせればいけるんじゃね?

=if(countif(左範囲,チーム名)>0,左にあるときの処理,右にあるときの処理)
4942:2006/04/27(木) 19:20:47
>>46
その手がありました!
ありがとうございます。
50名無しさん@そうだ選挙にいこう:2006/04/27(木) 20:01:05
【1 OSの種類         .】 Windowsxp
2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 医療

医療系、リハビリで今回の改正の集計されている方いますか?
患者情報、訓練時間、セラピスト別の集計です。

51名無しさん@そうだ選挙にいこう:2006/04/27(木) 20:02:50
>>35
こんなん?ちょっと自信無し

Dim d, r As Range, rr As String
Set d = CreateObject("Scripting.Dictionary")
For Each r In Selection '範囲固定なら In Range("A1:B10")とか
rr = CStr(r.Value)
If d.Exists(rr) Then
d(rr) = d(rr) + 1
ElseIf rr <> "" Then
d.Add rr, 1
End If
Next
Dim a, b, i, s
a = d.Keys: b = d.Items: i = 0
'a(i)に値、b(i)にその数が入ってるので、それをチェックする
While (i <= UBound(a))
If (b(i)) >= 5 Then s = s + a(i) & ":" & b(i) & vbCrLf
i = i + 1
Wend
MsgBox s
52J2サポーター:2006/04/27(木) 20:06:06
>>48
ありがとうございます。
早速試しましたが、COUNTIFで行けそうです。
問題は「左にあるときの処理,右にあるときの処理」なのですが、
COUNTIFで見つけた時のセル位置(行位置)を取得する関数などがあるのでしょうか。
重ねての教えて君ですみません。
53名無しさん@そうだ選挙にいこう:2006/04/27(木) 23:11:48

背景に色を”1”とカウントする方法はありませんでしょうか・・・
悩みまくって禿げそうです。
54名無しさん@そうだ選挙にいこう:2006/04/27(木) 23:17:43
>>52
前提がおかしい
LOOKUPが使えないって言うけど表@Aの他にチーム名昇順の表を用意すればすむ話

でもあなたは自分に慣れたフォーマットだけで苦労して集計したいんだろうからいいや
教えたがり君が面倒くさい解決方法を考えてくれるでしょう
55名無しさん@そうだ選挙にいこう:2006/04/27(木) 23:22:24
>>53
Excelの関数に背景色へアクセスできるものはないのでVBAを使う
他の教えたがり君が説明してくれるまでもっと禿げてて
56名無しさん@そうだ選挙にいこう:2006/04/27(木) 23:58:46
>>53
日本語でおk
57名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:11:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 テーブル 印刷 タイトル行
一行目がテーブルタイトル。
それ以降がデータ行が並んでいるテーブルがあります。
データ行はVBAで生成され可変長です。
このテーブルは印刷されることが前提です。
データ行がある程度多いと、複数ページに分かれて印刷されてしまいます。
このときテーブルのタイトル行を印刷された各ページ頭に挿入したいんですが、どうしたらいいんでしょうか。
あるセルが何枚目に印刷されるのかって命令が無いんで、どうしようかなぁと考え中
58名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:13:06
>>57
ファイル→ページ設定→シート→印刷タイトル
59前スレの966です。:2006/04/28(金) 00:16:01
前スレの>>986さん
=SUM(IF(YEAR(DATE(YEAR(B1:B3),MONTH(B1:B3)-3,1))=2005,A1:A3))
この数式を使って試してみたんですが、#VALUE!と出てしまいます。
それと、Ctrl+Shift+Enter の意味がよくわからなかったんですが。
60名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:36:50
>>39
えらっそーにしゃべんなボケ!
キモイ
61名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:37:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 テーブル 印刷 タイトル行
一行目がテーブルタイトル。
それ以降がデータ行が並んでいるテーブルがあります。
データ行はVBAで生成され可変長です。
このテーブルは印刷されることが前提です。
データ行がある程度多いと、複数ページに分かれて印刷されてしまいます。
このときテーブルのタイトル行を印刷された各ページ頭に挿入したいんですが、どうしたらいいんでしょうか。
あるセルが何枚目に印刷されるのかって命令が無いんで、どうしようかなぁと考え中
62名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:38:17
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aも読もう。
★4 質問テンプレは必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
   これを書かなかった場合は、以後まともな回答は付かないと思ってください。

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

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。
  「VBAって何?」って場合はとりあえず「否」に。よくわからないけど使ってみたいってなら
  「可」にして、>>10-15あたりの解説を参考に使ってみよう。
63名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:40:45
>>62
>>1に書いてある事をいちいち繰り返すなよ
64名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:41:07
462 名前:449です :2006/04/27(木) 22:44:05
>>454 さん、
>>458 さん、
素晴らしいですね!お陰さまで楽できました(^ - ^)何のお礼も出来ませんが、本当に助かりました。
ありがとうございました!!!


463 名前:名無しさん@そうだ選挙にいこう :2006/04/27(木) 23:48:14
LAN経由で別PC内のEXCELファイルを開いていたのですが、誤ってデータの入ってないファイルを上書き保存してしまいました。
ファイル保存してあるPCでFINALDATAやSuperファイル復活を試してみたのですが、復旧不可能でした。
何か良い方法は無いでしょうか?
65名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:42:10
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aも読もう。
★4 質問テンプレは必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
   これを書かなかった場合は、以後まともな回答は付かないと思ってください。

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

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。
(省略されました・・全てを読むにはここを押してください)


66名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:43:42
  / ̄ ̄ ヽ,   _/\_/\_/\/|_
            /        ',   \            /
            {0}  /¨`ヽ {0}  < ジャンケンポン! >
            l   ヽ._.ノ   ',  /            \  .}゙i                       「i
            ノ   `ー'′  '、  ̄|/⌒\/\/⌒\/ ̄  ノ |               l            | ヽ
          /⌒          ⌒ヽ          ト、    | |           |              l  {    /}
         / /i          /ヽ ヽ        ヽ ヽ  〈、 i、              |           |.ム   / !
         ( 〈.|          |  \ \       .  ヽ ヾ,、_rL |            |          _r}∠>=‐' /
  −−−   .\\         |    \ \/)_    \ : ∵爻、       ヽ |!         j゙ソ゛.: . /
         /  ̄ ̄       ノ     \   三)      ヽ ∵ ヾk         l||!        _}i}∴ ∵ /
        /           ∠_       ̄ ̄        \ ∵{=、,       cr炎ro     _fiヾk: :/
  −−   |    f\      ノ     ̄`丶.                 ヽ∠__ノァt-、  /,仝yハ    ∠rtゝ-‐ '
        |    |  ヽ__ノー─-- 、_   )                 .ゞニヾハ.  }K以ムハ  //> ′
.        |  |            /  /                         .>、ヽ }ニネネ冫:i/∠、
         | |          ,'  /                        ./へ\ `ー八‐‐'_/' へヽ
    /  /  ノ           |   ,'                     .〃   >,才¨^¨弋ヽニニヾk
      /   /             |  /
67名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:44:48
 }゙i                      「i
      ノ |                          | ヽ
 ト、    | |                        l  {    /}
 ヽ ヽ  〈、 i、                        |.ム   / !
  \ : ∵爻、             U       /_r}∠>=‐' /
    \ ∵ ∩ヾk∩       U      / j゙ソ゛.: . /
     ヽ |_:|∵{|_:|    ./ ̄ ̄ ヽ,    _}i}∴ ∵ /
      ヽ| /^/^, .|,    /        ',  _fiヾk: :/  _/\_/\_/\/|_
      ⊂、し'し' つt-、 {0}  /¨`ヽ {0} ∠rtゝ-‐ '   \             /
        ヽ  ノゞニヾハ   ヽ._.ノ   //> ′    <    UNO!!   >
        .|  |  >、リ   `ー'′  ヽ        /             \
        (   ̄ ̄⌒          ⌒ヽ       ̄|/⌒\/\/⌒\/ ̄
         ` ̄ ̄`ヽ           /ヽ ヽ
              |            |  \ \
     −−− ‐   ノ           /     \ \/)
             /            ノ       \ ξ)
            /           ∠_        ̄
     −−   |    f\      ノ     ̄`丶.
           |    |  ヽ__ノー─-- 、_   )    − _
.           |  |            /  /
            | |          ,'  /
       /  /  ノ           |   ,'    \
         /   /             |  /      \
      /_ノ /              ,ノ 〈           \
       (  〈              ヽ.__ \        \
        ヽ._>              \__)
68名無しさん@そうだ選挙にいこう:2006/04/28(金) 00:50:32
__
    i<´   }\   , - 、
   ヽ.._\./  .ンく r-兮、 __
    ∠`ヽ.! /   ヾニEヲぐ ,ゝ->
   /_`シ'K-───‐-、l∠ イ     アッガイ最強だぜ!
   l´__,/l\、_ ̄0¨0)゙@Yヘ, -┤
.    l'___|⌒ヾ''ー==、ーr='イ i二|
   / .」   i   /./7r‐く  lー!
.   f.  ヽ‐i人.∠'<   _i. l,.-ゝ.
    トiヘヘ「ト〈      `X  トレi7__|
   〉ト:トハj`! i.    /  トー┤lルj,リ
  /‐+----+‐l    iー--i---ヾ'〃
.  l_i____i__|   |___i,__i_|
69名無しさん@そうだ選挙にいこう:2006/04/28(金) 02:46:21
fdsadfsafds
70名無しさん@そうだ選挙にいこう:2006/04/28(金) 02:46:57
VW11.5でそのやり方で読み込むと、データ崩れまくり。
A&AもJWCの操作方法を取り込むなんて路線は、
口だけだったんじゃないの。


951 名前:1 :2006/04/23(日) 18:43:31
>>950
え、そうなの?
なんか適当なこと言ってごめんなさい>>947

でも以前、手が足りなくなったときにVWを使ってる事務所に外注出したことがあったんだけど、
その人は、設定次第で結構いけるよって言ってたから。。
実際、送られてきた図面は問題なくjwwで読めたし。
レイヤと線色も、こちらが指定したとおりにおおむねなってた。

まぁ確かに、こちらから向こうに送った図面はベースになる簡単なものだけだったけど。

で、データはどういう風に崩れたの?
71名無しさん@そうだ選挙にいこう:2006/04/28(金) 07:15:31
>>61
ファイル 〜 ページ設定... 〜 シート 〜 印刷タイトル 〜 行のタイトル
72名無しさん@そうだ選挙にいこう:2006/04/28(金) 08:32:56
>>53
EXCEL4.0マクロのGET.CELLとか使えば取得できるけどめんどい
googleとかで調べてみれ
VBA使ってもいいならVBAで調べるのがいいじゃないかな
73名無しさん@そうだ選挙にいこう:2006/04/28(金) 08:38:02
>>52
match関数でチーム名が出てくる順番しらべて、
それを元にindex関数で表から拾う場所を指定すればいいんじゃないかな

表の範囲がA1:C5として、A1:A5にチーム名があるような場合は
=INDEX(A1:C5,MATCH("水戸",A1:A5,0),2)
みたいな感じ

関数の使い方はヘルプみれ
74名無しさん@そうだ選挙にいこう:2006/04/28(金) 09:36:57
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートフィルタ 表 比較 など・・・


二つの名簿A、Bがあって、Aに含まれているがBには無い人、
つまりA−Bの名簿を作りたいのですが、これを自動でやる方法を探しています。

別スレでオートフィルタを活用せよとのヒントを貰いましたが、
どうも目的を果たす機能がそのなかに見つかりません。
二つの表を比較するような機能はオートフィルタの範疇にあるのでしょうか?

ご存知の方いらっしゃいましたらご教授ください。
75名無しさん@そうだ選挙にいこう:2006/04/28(金) 10:07:09
>>74
そのヒントはオートフィルタではなく

ABのデータを1列に並べてから
[フィルタ]-[フィルタオプションの設定]で
重複データを除いたデータの抽出

これじゃないかな
76名無しさん@そうだ選挙にいこう:2006/04/28(金) 10:30:40
>>38,60
無視されたあげく
ついにキレちゃいました・・・・・・・・・・おだいじに!
7736:2006/04/28(金) 12:08:57
>>47
できました。ありがとうございました
78名無しさん@そうだ選挙にいこう:2006/04/28(金) 13:19:57
>>38
検索置換で.(ピリオド)*を検索
空白を置換にして、小数点以下部分を削除すればよいのでは?
一行コピーして別に設ければデータはそのままだし
7974:2006/04/28(金) 13:48:25
表を縦に並べて合成してみました。
データ>フィルタ>フィルタオプションの設定 で、
設定ボックスが開くのですが、どの辺に
「重複データを除いたデータの抽出」と入力すればいいのでしょうか。
あと、これだとA+Bして重複データを一つにまとめる、という意味になるような気もします。

手元のエクセル指南本(初級)にはフィルタオプションの項がそもそもありません・・。
エクセルは卒論のグラフを書くときにちょこっと使った程度で関数やその他の機能は
全く使ったことがないので、正直かなり訳が分からない状態です・・。

もっかい本屋行ってきます。
よろしければもう少しアドバイスお願いします。
80前スレの966です。:2006/04/28(金) 14:07:51
前スレの966
http://pc8.2ch.net/test/read.cgi/bsoft/1143177051/966

色々試してみたんですがやっぱり無理でした。

もっと簡単にするべく次の例でチャレンジしてるんですが何かいい関数はないでしょうか?
例えばA列に上から1,2,3,4,5と入力
B列に上から6,7,8,9,10と入力します。
それで、A列の中から2から4までの数字のB列の合計(7+8+9=24)
を返す関数を考えてるんですが何かないでしょうか?
81名無しさん@そうだ選挙にいこう:2006/04/28(金) 15:09:54
>>79
単純にCOUNTIFで2になったものでいいじゃん
82名無しさん@そうだ選挙にいこう:2006/04/28(金) 15:21:43
>>81
一方にしか無いのもを得たいのだから「1」では?
83名無しさん@そうだ選挙にいこう:2006/04/28(金) 15:39:26
おっ、そだね。
>Aに含まれているがBには無い人 、だね。
84名無しさん@そうだ選挙にいこう:2006/04/28(金) 16:36:40
>>80
=DSUM
85J2サポーター:2006/04/28(金) 18:31:32
>>73 さま。

ありがとうございます。
おかげさまで >>32 の表Aが希望通りに完成しました。
感謝です!。本当にありがとうございました。
86前スレの966です。:2006/04/28(金) 19:25:50
>>84
それはSUMIFと同じではないでしょうか?
"3から5まで"の範囲の合計を求めたいんですが
○から○という条件指定って関数では出来ないんでしょうか
87名無しさん@そうだ選挙にいこう:2006/04/28(金) 19:30:15
「3から5までかどうか」を調べる作業用の列を設ければいいんじゃね?
IFとANDで出来るでしょ。
88名無しさん@そうだ選挙にいこう:2006/04/28(金) 19:54:27
=SUM(B1:B5)-SUMIF(A1:A5,"<2",B1:B5)-SUMIF(A1:A5,">4",B1:B5)
89前スレの966です。:2006/04/28(金) 20:27:23
年度別の集計、出来ました!
>>88さんのをヒントに色々と試したら出来ました。ありがとう!!!

数式内でもH17.5.5という表記が使用出来る事も分かりました。(皆さんにとっては常識でしょうけど・・・)
これまでシリアル値に置き換えないとダメかと思ってました。(汗)
ということで、年度別の集計を作成してみます。(機会があれば参考にして下さい!)
A列に上からH17.3.3、H17.5.5、H17.6.6、H18.4.5とします。
B列に上から1,2,3,4とします。
平成17年度の集計ですが、答えは(2+3=)5となります。
その関数ですが、=SUMIF(A1:A4,"<H18.4.1",B1:B4)-SUMIF(A1:A4,"<H17.4.1",B1:B4)
となります。

回答下さった方々ありがとう!!
90名無しさん@そうだ選挙にいこう:2006/04/28(金) 20:35:30
VBAで統計関数のpoissonを使いたいのですが
下のように書いても、認識してくれません

Sub test()
Cells(1, 5) = poisson(1, 2, True)
End Sub

どうしてでしょうか
9174:2006/04/28(金) 20:39:44
できました。
countif で1になるものをオートフィルタすることで目的のデータが得られました。
ありがとうございました!
92名無しさん@そうだ選挙にいこう:2006/04/28(金) 20:52:13
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

グラフをJPEGか何かの画像データにすることはできませんでしょうか?
キャプチャーソフトを使えば可能は可能ですが、何か遠回りしているような気がします…。
93名無しさん@そうだ選挙にいこう:2006/04/28(金) 21:06:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
Application.CommandBars("Cell"). Controls.Addとして、マクロをショートカットメニューに追加したんですが、
ショートカットメニューの一つにマウスポインターを合わせると、さらに右にサブメニューが表示されるようなかたちにしたいのですが、方法がわかりません。どなたかお教え願えますでしょうか。
94名無しさん@そうだ選挙にいこう:2006/04/28(金) 21:08:21
Excelに関する質問は、ここで!

     /)_/)    ( ・分かる人はできるだけ回答して下さいませ。
    < ゚ _・゚> .。oO( ・回答がなくてもキレないで。急いでいても催促は3日以上開けて。
  ノ) /   |     ( ・自己解決したらその解決手段を他の人の参考の為に書いてね。
  \(_,,,_,,,)

▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aも読もう。
★4 質問テンプレは必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
   これを書かなかった場合は、以後まともな回答は付かないと思ってください。

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

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。
  「VBAって何?」って場合はとりあえず「否」に。よくわからないけど使ってみたいってなら
  「可」にして、>>10-15あたりの解説を参考に使ってみよう。

・前スレ http://pc8.2ch.net/test/read.cgi/bsoft/1143177051/

95名無しさん@そうだ選挙にいこう:2006/04/28(金) 21:08:54
dhffiodjfsdklafgjsdkl;j;jdkfghjkdfs;ajkdsalf;jdsklfjdksl;fjkdslsfjakldfjdkslafjkdl;safjkdls;ajfkdls;ajfkdl;sajfkdls;ajfkld;sa
96名無しさん@そうだ選挙にいこう:2006/04/28(金) 21:17:52
連休突入でションベン厨ドモが湧いてきたようだな
97名無しさん@そうだ選挙にいこう:2006/04/28(金) 23:08:17
>>94
だから繰り返し書くなよ馬鹿
98まりも:2006/04/29(土) 00:16:33
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 シートの合体
http://2lbox.org/s/uploader/uploader.cgi/DOTS1.xls   ・・・(1)
http://2lbox.org/s/uploader/uploader.cgi/GTOTAL.xls   ・・・(2)

(1)のようなBOOKがあります、その中にはシートが多数あり
その1つ1つが表になっています。
BOOK はDOTS1.XLSだけではなく、DOTS2 , DOTD5と多数あります。
BOOKの数は28ファイルです。(これは1ヶ月分で、何年分もあります)
その1つ1つが(1)のBOOKのようなデータです。

その28のBOOKの中のシートを(2)のようなTOTAL.XLSというBOOKの中の1つのシートに
まとめたいです。
(BOOK)TOTAL の列Aは各BOOKの各SHEETの所属するブック名を取得して、そのシートのアイテムの
所属するBOOK名

(BOOK)TOTAL の列Bは各BOOKの各SHEETの$D$3を取得して、そのシートのデータに
属するもののコード。

(BOOK)TOTAL の列Cは各BOOKの各SHEETの$B$3を取得して、そのシートのデータに
属するもののコード。

(BOOK)TOTAL の列Dは各BOOKの各SHEETの$C$4を取得して、そのシートのデータに
属するもののコード。

これらを自動で実現出来るような事を出来る方がいらっしゃいましたら協力していただきたい
と思って相談に来ました。よろしくお願いいたします。
99名無しさん@そうだ選挙にいこう:2006/04/29(土) 01:53:02
使用しているのはエクセル2003です。

質問なのですが、VBAでワークブックを開くとすぐに
vbModalでUserFormが表示されるようにしております。

そこで、後ろにあるワークシートやメニューなど全てが
全くの未使用で邪魔なので完全非表示にしたいのですが
どのようなコードを書けば実現できるでしょうか?

よろしくお願いします。
10099:2006/04/29(土) 01:54:40
追伸ですが、要するにUserForm以外全て非表示の状態で起動させたいのです。
よろしくお願いします。
101名無しさん@そうだ選挙にいこう:2006/04/29(土) 02:32:51
Excelが要らないならVBで作ってください
10299:2006/04/29(土) 02:57:42
>>101
それはごもっともですが、そこをなんとかお願いします。
10399:2006/04/29(土) 03:04:59
自己解決しました。
104名無しさん@そうだ選挙にいこう:2006/04/29(土) 05:58:46
前スレ980で、Excelのハイパーリンクで画像を呼び出すとき
関連付けしてる「Windows 画像とFAXビューワー」で呼び出したい(どうしても
閲覧には向かない「Photo Editor」で開いちゃうので困る)という、質問をしたものです。
(環境: OS XP Pro、Excel2002)

親切な方に


Public Declare Function ShellExecute Lib "SHELL32" Alias "ShellExecuteA" (ByVal hWnd&, ByVal lpOperation$, ByVal lpFile$, ByVal lpParameters$, ByVal lpDirectory$, ByVal nShowCmd&) As Long

Sub JPG画像を開くテスト()
  Dim hWnd As Long
  Call ShellExecute(hWnd, "Open", ThisWorkbook.Path & "\" & "○○○.jpg(開きたいファイル名)", "", "", SW_SHOW)
End Sub

というマクロを教えてもらい、 「ThisWorkbook.Path & "\" & "○○○.jpg(開きたいファイル名)」のところを、写真のファイルパス文字列が
生成されているセルを指定する形にアレンジしてやってみました。お、大成功。いい感じで開きました。

しかし、翌日会社のPCでやってみて気づいたのですが、自分のPC内のフォルダーにある写真は問題なく開けるのですが
LAN上の他のPCに繋がっている共有フォルダ(外付けHDDに入ってる)のそれはどうしても開けません。
パクリパクリばかりでVBAの知識は殆どない私。上記のマクロのどこをどうイジッたら、うまくいくのでしょうか?誰か助けてください。
105名無しさん@そうだ選挙にいこう:2006/04/29(土) 07:33:51
Excelに限った話ではないんですが,Officeプログラム全般で,いろいろな設定がありますよね(ツール->オプションで選ぶやつ).
あれってスコープはどれくらいなんですか.
何をいってるのかというと,設定を変更してOKしたとき,その設定はどういう範囲で有効になるかということです.
セッション?
ドキュメント?
ユーザー?
プログラムのインスタレーション?
おそらく設定項目ごとに違うと思うんですが,そういうのがまとめてあるサイトってないですかねえ.
106名無しさん@そうだ選挙にいこう:2006/04/29(土) 12:25:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 ?
【5 検索キーワード     】セル、カーソル

今までシート内でのセル移動に、カーソルキーを使っていたのですが、
いつからか、カーソルキーを使うと、ターゲットのセルは動かず、
シート全体が右や上など、カーソルの方向に動くようになっていました。

オプションのプルダウンメニューも見てみましたが、それらしきものはなく、困っています。
知らぬうちに、ショートカットキーのようなものをさわってしまったのでしょうか?

MX610というチルト付きのマウスを使っています。
この左右チルトでは、画面が左右に動きますので、カーソルキーはセルの移動に使いたいのです。

このスレ内をセル、カーソルで検索してみましたが、
こんな簡単なことについてはありませんでした。orz
どなたか教えてください。
お願いします。
107名無しさん@そうだ選挙にいこう:2006/04/29(土) 13:25:12
>>106
キーボードのScrolLockキーを押しちゃってるとか
108名無しさん@そうだ選挙にいこう:2006/04/29(土) 13:34:25
レスどうもです。
ScrolLockは、ディスプレイ切り替えのため、
キーバインドしているので使っていません。

念のため押してみたら、ディスプレイが切り替わるだけでした。ozr
109名無しさん@そうだ選挙にいこう:2006/04/29(土) 14:55:32
>104
ThisWorkbook.Path以下を直接指定汁。
"\\共有HDDの名前\フォルダ\フォルダ\○○○.jpg"
>108
107の云うとおりScrooLockがonの状態みたいだから
キーアクセを外してoffにして再設定かな。
110104:2006/04/29(土) 15:32:46
レスどうもです。
キーボードの問題ですか。
設定し直してみます。
どうもでした。
111名無しさん@そうだ選挙にいこう:2006/04/29(土) 16:26:26
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 色情報 参照
エクセルで参照元セルの色情報をもってくることはできますか?
セルA1が黄色いセルだとしてセルB1に“=A1”でA1を参照
させたいのですが、この時、色情報(書式)も参照してB1が
黄色くなるようにしたいのですが
112名無しさん@そうだ選挙にいこう:2006/04/29(土) 16:42:07
【1 OSの種類         .】 WindowsXPhome
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル グラフが表示されない ユーザー関数 など

ものすごく簡単なことかもしれませんが。。。
ユーザー関数で求めた値で簡単なグラフを作成したのです。作成時は表示されていたのですが、保存し、再起動させると
グラフ内のデータ部分のみが表示されません。軸やタイトル凡例は表示されています。

ちなみにユーザー関数は(関係ないと思いますが)
Public Function テーラーの寿命方程式V(C, T, N)
テーラーの寿命方程式V = T ^ N / C ’ CとNは定数です
End Function
と切削工具の寿命を求めるものでそれをVとTの対数グラフにしただけです。
ほかのグラフ、ユーザー関数でも同じような現象がおきます。
ユーザー関数を普通の関数の組み合わせで置き換えると表示されるので、ユーザー関数を使っていることが原因だと思われます。
113名無しさん@そうだ選挙にいこう:2006/04/29(土) 16:59:59
すいません自己解決しました
単純に式が間違ったままファイルを保存して 修正後ユーザ関数登録アドインを保存せずファイルのみを保存していたみたいです
114名無しさん@そうだ選挙にいこう:2006/04/29(土) 17:11:34
【1 OSの種類         .】 WindowsXPhome
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 書式設定

書式設定を標準に設定していても
「平成18年9月15日」と打つと勝手に日付用に変更されてしまいます。
書式設定を固定することって出来ないのでしょうか?
115名無しさん@そうだ選挙にいこう:2006/04/29(土) 17:21:10
>>114
文字列
116名無しさん@そうだ選挙にいこう:2006/04/29(土) 17:38:12
あるいは、日付の中からそれ様のを選ぶ。

書式の標準てのは、入力された値について
数か文字列か日付か時間かというように、
EXCELがその分類を判断して
それぞれに見合った初期設定された形式で
勝手に表示しますということ。
117名無しさん@そうだ選挙にいこう:2006/04/29(土) 18:07:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 関数

Excelの文字列操作の関数で、文字列を特定の文字列を抽出・置換することはできますが、
抽出した文字列を「置換」するのではなく、「削除」することはできますでしょうか?
「置換」の欄に、スペースを入力して、文字が見えないようにすることはできるけど、
スペースが挿入されるので、文字の位置がずれて、見栄えがよくないですよね?
文字列を検索して「削除」する方法があったら教えて下さい。
118名無しさん@そうだ選挙にいこう:2006/04/29(土) 18:09:47
関数でやりたいならSUBSTITUTE(だったかな・・?)
置換でしたいなら置換後の文字は何も入力しなければその文字が消せる
119117:2006/04/29(土) 18:13:13
>>118
早速のレスありがとうございます。
置換後に何も入れなければよかっただけなんですね。
何か入れないといけないのかと思っていました。

SUBSTITUTE関数ははじめて聞きました。
調べてみます。

どうもありがとうございました。
120117:2006/04/29(土) 18:23:33
実は、さっきの質問の意図なのですが、

行3 :日本2004年度1月 日本2004年度2月 日本2005年度3月 アメリカ2005年度1月 アメリカ2005年度10月 ロシア2004年度8月 ロシア2006年度12月

と上記のように行方向に入っている表があり、今文字列が入力されている行より上に、
国名と年を移動?させたいと思って、置換や関数を使ってうまくできないものかなと思って質問しました。

こんな感じにしたいと思っています。

行1 ;         日本          アメリカ        ロシア
行2 :    2004年度  2005年度    2005年度   2004年度 2006年度
行3 :    1月 2月     3月    1月   10月   8月     12月


検索・置換・関数を使って、うまく簡単にする方法はありますか?
よろしくお願いします。
121名無しさん@そうだ選挙にいこう:2006/04/29(土) 18:51:53
文字列操作関数でそれそれ切り出して、セルの結合は手動かな。
RIGHT関数とかMIDとかLENとかね
122名無しさん@そうだ選挙にいこう:2006/04/29(土) 18:57:32
ああ、あとFIND関数もね
123名無しさん@そうだ選挙にいこう:2006/04/29(土) 21:32:44
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】  Excel2000
【3 VBAが使えるか    . 】   いいえ
【4 VBAでの回答の可否】    可
【5 検索キーワード     】 DATE、WEEKDAY

株式指標の傾向を分析したく毎日記録してます。

日付と曜日の項目をオートフィルで一年分作りたいのですが、土日が空行となり操作性の面からも不要です。
土日を飛ばしてオートフィルは可能でしょうか?
(現時点では、土日が入ると、前日差を出す時に金曜の値を土・日にも書き込まないといけないので)
また、他に良い方法があれば教えてください。

フォームはこんな感じのフォームにしたいのですが(ズレが心配ですが・・・)  
  A   B    C      D      E     F・・・・   K
  日付 曜日  日経平均  NYダウ  NYナス              日経前日差
1 4/3   月  17383.31                              
2 4/4   火  17292.91                                -90.40
3 4/5   水  17243.88                                -49.03
4 4/6   木  17489.33                                245.45
5 4/7   金  17563.37                                74.04    
6 4/8   月  17456.58                               -106.79
   ・   ・
   ・   ・
   ・   ・

よろしくお願いします。
124名無しさん@そうだ選挙にいこう:2006/04/29(土) 21:36:48
>>123
土日込みで作った後に土日削除
125123:2006/04/29(土) 21:38:13
>>124
ありがとうございます。
効率よく削除する方法はありますか?
126名無しさん@そうだ選挙にいこう:2006/04/29(土) 21:41:24
書き込み途中だった
で、2週間分ほど作って手作業で土日を消してその2週間分からオートフィルすればOK
127123:2006/04/29(土) 21:44:39
わかりました!やってみます。出来なかったらまた来ますけど・・・
ありがとうございました!
128名無しさん@そうだ選挙にいこう:2006/04/29(土) 21:45:17
月〜金を2回繰り返してオートフィル
129d:2006/04/29(土) 21:50:56
>>123
>土日込みで作った後に土日削除
>効率よく削除する方法はありますか?
オートフィルタで「土」を選んで行削除、「日」も同様でいかがでしょうか。^^
130名無しさん@そうだ選挙にいこう:2006/04/29(土) 22:09:26
日付をオートフィルするなら一日目の日付を入力して
A2に =IF(WEEKDAY(A1)=6,A1+3,A1+1) としてオートフィル
131123:2006/04/29(土) 22:37:14
>>128
>>126さんの提案である、準備段階の書き込みに、やらなければいけない書き方あるようですが、読み取ることができず・・・。
(同じ日付の繰り返しになったり、「コピーサイズが合わない」等のエラーメッセージが出てしまいます)
初心者過ぎてすみません。

>>129
なるほど!だったんですが・・・土曜日を消した途端、#REFが・・・。
128さん同様のレスです。すみません。

>>130
できました!日付・曜日とも完璧です。
これから式の意味を紐解いてみます。

皆様、ありがとうございました!
132名無しさん@そうだ選挙にいこう:2006/04/29(土) 23:26:42
【1 OSの種類         .】 Windows 2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 -
【4 VBAでの回答の可否】 -
【5 検索キーワード     】 エクセル フィルター 抽出

日付で、まとめて1年分抽出して削除という事はできますでしょうか?
(2004年度分だけ残し、2005年度分は削除)

オートフィルターで抽出はできたのですが
まとめて1年分の抽出ができず
2005/1/1 分を表示 → 削除
2005/1/3 分を表示 → 削除
2005/1/5 分を表示 → 削除
と手間がかかって仕方がありません。
よろしくお願いします。
133名無しさん@そうだ選挙にいこう:2006/04/29(土) 23:54:06
>>132
?
質問の意味が良く分かりませんが
オートフィルオプションで
2005/1/1以上 AND 2005/12/31以下
を指定すればいいのでは?
134132:2006/04/30(日) 00:18:39
>>133
できました。ありがとうございます。
135名無しさん@そうだ選挙にいこう:2006/04/30(日) 12:57:36
誤って雑談スレの方に書き込んでしまったので、コピペになりますが宜しくお願いします。

グラフを作成したいのですが、うまくいきません・・・
3列のデータ項目があって、20行程度のサンプルが入力されている表があって、その表の隣に積み上げ横棒を配置したいと思っています。
3つのデータの合計数を比較出来るグラフにしたいのですが、何故か表の一番したのデータをあらわすグラフが一番上に、表の一番上のデータを表すグラフが一番下にという風に上下が全く逆のグラフが作成されてしまうのです。
普通に系列毎に列全部を指定しているのですが、やり方がおかしいのでしょうか?
136名無しさん@そうだ選挙にいこう:2006/04/30(日) 13:07:54
やり方がおかしいのです
137d:2006/04/30(日) 13:41:03
>>93
メニューを階層化するには追加するコントロールをType:=msoControlPopupと
する必要があります。
以下、シートモジュールに書く例です。^^

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
  Const myMenu As String = "myMenu"
  Dim Pop As CommandBarPopup
  Cancel = True
  With Application.CommandBars("Cell")
    .Controls(1).BeginGroup = True
    Set Pop = .Controls.Add(Type:=msoControlPopup, before:=1, temporary:=True)
    With Pop
      .Caption = myMenu
      With .Controls.Add(Type:=msoControlButton)
        .Caption = "Menu-1"
        .OnAction = "Menu-1"
      End With
      With .Controls.Add(Type:=msoControlButton)
        .Caption = "Menu-2"
        .OnAction = "Menu-2"
      End With
    End With
    .ShowPopup
    .Controls(myMenu).Delete
  End With
End Sub
138名無しさん@そうだ選挙にいこう:2006/04/30(日) 15:49:50

Dim Pop As CommandBarPopup
Set Pop = .Controls.Add(Type:=msoControlPopup, before:=1, temporary:=True)
With Pop

↓ 3行分を1行に

With .Controls.Add(Type:=msoControlPopup, before:=1, temporary:=True)
139名無しさん@そうだ選挙にいこう:2006/04/30(日) 17:41:58
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 -

こんにちは
今回新しいPCに変えたのですが
エクセルの内容はUSBメモリに保存したのですが
新しいPCに読み込ませて上書き保存しようとすると 保存できません と
でます前のPCはバージョンは覚えていませんがエクセル2003より前なのは確かです
保存できるようにしたいのですがどうにかなりますか?
よろしくお願いします
長文失礼しました

140名無しさん@そうだ選挙にいこう:2006/04/30(日) 17:46:27
>>139
単に読み取り専用属性が付いてるだけと違う?
141名無しさん@そうだ選挙にいこう:2006/04/30(日) 17:55:29
レスありがとです
プロパティから見ると読み取り専用のところにはチェック入ってないです
それに属性自体もかすれた?ような色でチェックがつけれないようになってます
142名無しさん@そうだ選挙にいこう:2006/04/30(日) 18:05:26
>>141
一度「名前を付けて保存」で別名として保存をしてみたら?
143名無しさん@そうだ選挙にいこう:2006/04/30(日) 18:08:19
>>142
できませんでした。。
144名無しさん@そうだ選挙にいこう:2006/04/30(日) 18:34:29
新しいブック作ってそこにシートを全部コピーしてみた?
あとは、USBメモリ上のファイルから実行してるなら一旦HDにそのファイルを移動させて
みたり・・
145名無しさん@そうだ選挙にいこう:2006/04/30(日) 18:38:38
>>139
そのUSBメモリ、ひょっとして書き込み禁止スイッチとか付いてない?
146名無しさん@そうだ選挙にいこう:2006/04/30(日) 19:06:46
>>144
おとなしく新しいブックに全部コピーします。。結構データあるので時間かかりそうですが、がんばってみます

>>145
USBメモリには上書き防止のスイッチ等はついてないです

お騒がせしました
レスしてくれた方々有難うございました
147名無しさん@そうだ選挙にいこう:2006/04/30(日) 23:08:17
>>137
正直レス諦めてました。ありがとうございました!助かりました。
148名無しさん@そうだ選挙にいこう:2006/05/01(月) 01:29:19
【1 OSの種類         .】95
【2 Excelのバージョン   】97
【3 VBAが使えるか    .】かも
【4 VBAでの回答の可否】可
【5 検索キーワード     】

マクロで文字として"="&"SUM"をいれたのに、入らないときがあります。標準書式で。なぜ?
149名無しさん@そうだ選挙にいこう:2006/05/01(月) 01:59:38
>>148
式入力するならFormulaを使う


ActiveCell.Formula = "=SUM(" & "A" & ActiveCell.Row & ":B" & ActiveCell.Row & ")"
150名無しさん@そうだ選挙にいこう:2006/05/01(月) 03:16:54
お初です。
エクセルで、数千もの莫大な行になるデータを扱う実験を行っています。
そこで、質問なのですが、オートフィルタ機能などを使って、【測定時間】という
列の、整数秒のみ、0.1、0.5、1、1.5、2・・・とあるものの整数のみを抽出するには
どのようにしたらいいのでしょうか?
これがわからず、作業が前に進みません・・・
宜しくお願いします。

151名無しさん@そうだ選挙にいこう:2006/05/01(月) 03:38:13
>>150
モタ
白々しく出てくんな!
152名無しさん@そうだ選挙にいこう:2006/05/01(月) 10:55:39
そんな痛い子>>150ちゃんにもお返事来てるから
レス読みなおしてごらんって言っても無駄だろうな。
そういえば・・・・
確か>>60で切れてたね、もお大丈夫?痛い子ちゃん
153名無しさん@そうだ選挙にいこう:2006/05/01(月) 11:00:03
VBAのコードを教えてください。

【1 OSの種類         .】XP HE
【2 Excelのバージョン   】 2000
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

「一つ前にもどる」というコードがあったと記憶してますが、そのコードを教えてください。

例)
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Range("c5") Is Nothing Then Exit Sub
Application.EnableEvents = False

If Day(Range("c5")) <> 21 Then
MsgBox "日付は21日で入力"
    'ここに日付が21じゃなかったら、前の状態にもどすというのを入れたい。
End If

Application.EnableEvents = True
End Sub
154名無しさん@そうだ選挙にいこう:2006/05/01(月) 11:41:16
>>153
Undo
155名無しさん@そうだ選挙にいこう:2006/05/01(月) 11:50:30
VBAの質問です。

【1 OSの種類         .】 XP Pro(SP2)
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 DisplayAlert テンプレート

ExcelテンプレートでVBAを動作させています。
保存せずにExcelを閉じる際に、DisplayAlert = Falseで保存確認メッセージを表示させないよう設定して
いるのですが、[×]ボタンで終了させる時にDisplayAlertがFalseにかかわらず、メッセージが表示されてしまいます。

[×]ボタンとは別途に終了ボタンを作成し、そちら側では Application.Quit で終了しています。
DisplayAlertをFalseにする処理はWorkbook_BeforeCloseで行っているため、どちらも通ると思うのですが・・・
テンプレートのまま閉じると、必ず保存確認メッセージが表示されるのでしょうか?

'閉じる前の処理
Private Sub Workbook_BeforeClose(Cancel As Boolean)

  If ThisWorkbook.Saved = True Then

    'アプリケーションのメッセージを表示しない
    Excel.Application.DisplayAlerts = False

  '保存されてないが、特定のセルに値が入っている場合
  ElseIf Len(ThisWorkbook.Worksheets("sheet1").Cells(22, 2).Value) > 0 Then

    'アプリケーションのメッセージを表示しない
    Excel.Application.DisplayAlerts = False
  End If
End Sub
156名無しさん@そうだ選挙にいこう:2006/05/01(月) 11:54:21
>>151-152
確かにうざいコピペかもしんないけど、そんなこと言わずに教えてやろうよ

>>150
そういう場合はね
(省略されました・・全てを読むにはここを押してください)
157155:2006/05/01(月) 11:55:40
わかりづらかったので追記を・・・。

作成した終了ボタンではメッセージが表示されずに終了します。
条件を満たしている時でもメッセージが表示されるのは、[×]ボタンで終了した時のみです。
158名無しさん@そうだ選挙にいこう:2006/05/01(月) 12:10:41
質問なのですが、Windows XP、Excel2002を使用しております。
単純に1ミリ秒単位のWaitを置く方法はありますでしょうか?
159158:2006/05/01(月) 12:12:21
すみません。テンプレに則ります。

VBAの質問です。

【1 OSの種類         .】 XP Pro
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 vba wait

単純に1ミリ秒単位のWaitを置く方法はありますでしょうか?
160153:2006/05/01(月) 12:28:40
>154
おお!そうだ。
サンクスデス
161名無しさん@そうだ選挙にいこう:2006/05/01(月) 12:30:28
>>155
保存しないで閉じるという事なら
ActiveWindow.Close Savechanges:=False
162名無しさん@そうだ選挙にいこう:2006/05/01(月) 12:57:17
>>158-159
寸法は画面の解像度で相対的なものだし・・・・
SI単位で言われてもオイラ困っちゃう
163158:2006/05/01(月) 13:10:10
レスありがとうございます。
自己解決しました。
164名無しさん@そうだ選挙にいこう:2006/05/01(月) 13:47:04
>>162
え?何言ってるの?
寸法のことなど言ってないだろ?

>>158はウェイトタイムのことを言ってるんだろ。
まあいろいろ方法はあるし自己解決したらしいからいいけど。
165名無しさん@そうだ選挙にいこう:2006/05/01(月) 15:19:07
>>161
早速のレスありがとうございます。

確かにその方法でもメッセージを表示させずに閉じられるのですが、
Excelのアプリケーション自身が残ってしまうんですよね・・・。

保存メッセージを出さずに、かつアプリケーションも終了させる方法として
Application.Quit と Application.DisplayAlerts = False の処理で
自作の終了ボタンを作ったのですが・・・。


今デバッグしてみたのですが、
どうも[×]ボタン押した時に Application.DisplayAlerts = False を通っても
Falseに変更されずにTrueのまま処理されてしまっているみたいです・・・何故だorz

[×]ボタンを押せないようにするような処理にした方がよさそうですね・・・
ありがとうございました。
166名無しさん@そうだ選挙にいこう:2006/05/01(月) 15:52:11
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 vba userform gettickcount

サイの目が1〜6までループしていて、Shiftキーを押すと停止し、
1なら大当たり、6なら当たりで恒常ループを抜け、
それ以外ならはずれでループを抜けないという処理がしたいのですが、

セルを使ったものは成功しますが、
ユーザフォームを使ったものがどうしても出来ません。

画面に何も表示されなくなりフリーズのような状態になります。
Shiftキーを押すと判定のみ表示されるのですが・・・
167166:2006/05/01(月) 15:54:07
コードは以下のようになります。

Option Explicit

Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Declare Function GetTickCount Lib "kernel32" () As Long

Public myGameFlag As Boolean

Private Sub start()
UserForm1.Show
Dim i As Integer
Dim myStartTime As Long
Dim myWaitTime As Integer
myWaitTime = 500
myGameFlag = True
168166:2006/05/01(月) 15:54:38
Do While myGameFlag = True
myStartTime = GetTickCount
Select Case UserForm1.TextBox1.Text
Case 1
UserForm1.TextBox1.Text = 2
Case 2
UserForm1.TextBox1.Text = 3
Case 3
UserForm1.TextBox1.Text = 4
Case 4
UserForm1.TextBox1.Text = 5
Case 5
UserForm1.TextBox1.Text = 6
Case 6
UserForm1.TextBox1.Text = 1
End Select
pressKey
Do While GetTickCount - myStartTime < myWaitTime
pressKey
Loop
Loop
End Sub
169166:2006/05/01(月) 15:55:09
Private Sub pressKey()
If GetAsyncKeyState(16) <> 0 Then
If UserForm1.TextBox1.Text = 1 Then
MsgBox "大当たり!"
myGameFlag = False
ElseIf UserForm1.TextBox1.Text = 6 Then
MsgBox "当たり!"
myGameFlag = False
Else
MsgBox "はずれ!"
End If
End If
End Sub
170名無しさん@そうだ選挙にいこう:2006/05/01(月) 15:55:51
エクセルファイルのプロパティ-概要-作成日を変更する方法ってありますか?
ちなみにoffice2000です。
171166:2006/05/01(月) 15:57:13
UserForm1.TextBox1.Textの部分がユーザフォームなのですが、
この部分をRange("A1").Valueなどのセルにした場合は正常動作します。

良い方法はないでしょうか?
172名無しさん@そうだ選挙にいこう:2006/05/01(月) 16:26:59
試してないけど DoEvents とか
173166:2006/05/01(月) 16:44:36
>>172
ありがとうございます。
DoEventsは試してみましたが、フォームは表示されますが、
数字が回転していない状態になり、
Shiftキーも受け付けないというような状態になってしまいます。
174名無しさん@そうだ選挙にいこう:2006/05/01(月) 16:45:53
170はマルチ
175名無しさん@そうだ選挙にいこう:2006/05/01(月) 17:04:39
質問です
例えばセルA1に数値を入力すると
セルB1でIF文を使い範囲内であれば○
ネストして違う範囲では△ 偽は×という風に作ります
A1の数値がB1の○の範囲からどれだけ離れていて
△の範囲からはどれだけ離れているというのを出すような式は作れますか?
(数値10で○範囲3〜5 △範囲2〜6なら答え○=+5 △=+4みたいな)
176名無しさん@そうだ選挙にいこう:2006/05/01(月) 17:16:07
【1 OSの種類         .】 WindowsXP Professional
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

=MAX(L16:N17,C29:N30,C42:N43)
=MIN(L16:N17,C42:N43,C29:N30)
で、最大値・最小値を出しているのですが。
このL16:N17,C42:N43,C29:N30の間に#DIV/0!が入ると、#DIV/O!が最大・最小になり検出?されてしまいます。
#DIV/0!を無視させることはできますでしょうか?

#DIV/0!が出る原因は、#DIV/0!が参照しているセルが未入力の為です。
177名無しさん@そうだ選挙にいこう:2006/05/01(月) 17:35:23
>>175
○=10-5,△=10-4:貴方が書いてる通りで出来てるのでは?
>>176
IF関数で#DIV/0!を出ないようにする
178166:2006/05/01(月) 17:57:30
問題点を簡素化するため、コードを書き換えました。
問題点は「ループ実行中、ユーザフォームが表示されない」だと思います。

ユーザフォーム内には、CommandButton1があります。
そのボタンをクリックするまで、
「そのボタンのCaptionが、1秒毎に1ずつ増える」というのをループします。
そのボタンをクリックすると、ループから抜け、プログラムは終了します。

【ThisWorkbook】

Option Explicit

Sub Workbook_Open()
  UserForm1.Show vbModal
End Sub


【Module1】

Option Explicit

Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Declare Function GetTickCount Lib "kernel32" () As Long

Public myRunFlag As Boolean
179166:2006/05/01(月) 17:58:02
【UserForm1】

Option Explicit

Sub UserForm_Initialize()
  Dim i As Long
  Dim myStartTime As Long
  Dim myWaitTime As Long
  myWaitTime = 1000
  myRunFlag = True
  Do While myRunFlag = True
    myStartTime = GetTickCount
    CommandButton1.Caption = CommandButton1.Caption + 1
    Do While GetTickCount - myStartTime < myWaitTime
    Loop
  Loop
End Sub

Private Sub CommandButton1_Click()
  myRunFlag = False
End Sub
180166:2006/05/01(月) 18:02:22
ユーザフォームを表示する、または常に表示させる命令があれば
解決するような気がしないでもありません。
181166:2006/05/01(月) 18:03:17
でもループ中にUserForm1.showを書くと、
その時点でループが終了してしまうようです。
182名無しさん@そうだ選挙にいこう:2006/05/01(月) 18:13:04
OnTimeで書き換えるかrepaintでいいんじゃね?
183176:2006/05/01(月) 18:16:57
>>177
#DIV/0!が返ってくるセルに
=IF(C4:C34="","",AVERAGE(C4:C34))
にするとVALUEが返ってきてしまうので、参照範囲を狭めて
=IF(C4="","",AVERAGE(C4:C34))
にしたら、空白が返ってくるようになりました。

ありがとうございました。
184166:2006/05/01(月) 18:22:31
>>182
レスありがとうございます。
repaintは初耳でして、ループ内にUserForm1.Repaintを入れてみましたが、
やはりユーザフォームは表示されませんでした。

また、DoEventsを入れても制御不能になるのは防げるものの、表示はされません。

GetTickCountをOnTimeで書き直すというのを今からやってみます。
185166:2006/05/01(月) 18:34:22
OnTimeやSleepなど試してみましたが、どれも同じでした。
リアルタイムでユーザフォーム内のCaptionやTextなどを、
書き換えるのが、こんなにも難しいこととは思いませんでした。

こういったことをさらっとやってのけるユーザフォームゲームはすごいです。
ソースを見ても、どの部分がこの問題を解決させてるのか判断できません。
186名無しさん@そうだ選挙にいこう:2006/05/01(月) 18:39:45
ExcelからWordへコピー貼り付けをしたんですが枠線がワードに表示されません
どうすれば枠線と一緒にコピーできますか?
187166:2006/05/01(月) 18:52:49
なんとか解決しました!

Sub UserForm_Initialize()をSub UserForm_Activate()に書き換えて、
ループ内にUserForm1.RepaintとDoEventsを書くことで、
なんとかユーザフォームを表示させたまま、
リアルタイムで1ずつ増えていくことに成功しました。

ありがとうございました。
188名無しさん@そうだ選挙にいこう:2006/05/01(月) 18:58:59
>>186
Excelに枠線をつける
189名無しさん@そうだ選挙にいこう:2006/05/01(月) 19:01:14
>186 罫線じゃなくて「枠線」?
190166:2006/05/01(月) 19:06:10
あれ?Repaint無しでもいけました。
どうやらSub UserForm_Initialize()
              ~~~~~~~~
                ↑
        これが問題だったようですね。
191名無しさん@そうだ選挙にいこう:2006/05/01(月) 19:24:32
>>189,188
解決しました
罫線→表のグリッド線表示ONでいけました
192名無しさん@そうだ選挙にいこう:2006/05/01(月) 20:35:53
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 -いいえ
【4 VBAでの回答の可否】 -いいえ
【5 検索キーワード     】 集計

出席簿を作っているのですが名前と日数をLOOKUPで参照させるとして、

項目  A B
1日  1 
2日  2 
3日  1 


31日
と任意の数字が入ります。Aの数字が10に達した時点でB列へ表示させる方法
です。


193名無しさん@そうだ選挙にいこう:2006/05/01(月) 21:15:31
>>192
口調からして質問じゃ無いよね。
単なる報告?
そんなことせずに勝手に進めていいよ。
194名無しさん@そうだ選挙にいこう:2006/05/01(月) 21:17:26
コピー&ペーストで移動する

または

Sub 出席簿()
Dim i As Integer
Cells(2, 2).Activate
For i = 2 To 4   'ここは行数によって変わります
If Cells(i, 2).Value >= 10 Then
Cells(i, 2).Cut Destination:=Cells(i, 3)
End If
Next i
End Sub
195名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:03:00
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 -いいえ
【4 VBAでの回答の可否】 -いいえ
【5 検索キーワード     】 集計

表現方法と内容に間違いがありましたので再投稿します。
出席簿を作っているのですが名前と数値をVLOOKUPで参照しようと思います。

項目  A B
1日  1 
2日  2 
3日  1 


31日
と任意の数字が入ります。Aの数字が10に達した時点でB列へ表示させる方法
です。 なにか問い方法はありませんか?


196名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:05:27
>>194
マクロ駄目だってさ
197名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:14:20
なんだ。
だったら手動でいいじゃん。

両方とも同じ参照にして
A列を10以下なら表示する
B列を10以上なら表示する
とすればいいのでは?

無視されたな…orz
198名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:19:52
>>195
この書き方でわかったね。ネタだったってことが。
これ以上踊らされないように今後この質問は徹底無視で。
199名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:34:30
数字じゃなく式だけを表示させる方法を忘れてしまいました
どなたか教えてください
200名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:38:22
>>199
シングルクォーテーションをつける?
201名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:41:08
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 -いいえ
【4 VBAでの回答の可否】 -いいえ

A1:A100の範囲に、数値がランダムに入力されています。
この範囲から、最も右側に入力されている数値を関数で取り出したいのですが、
何か良い方法はありませんでしょうか。
202名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:47:49
右ってどこよ?
203名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:50:30
>>201
「エクセル技道場」と言うサイトにわかりやすい例が有ります
204名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:51:22
>>201
=INT(RIGHT(…,…))
205名無しさん@そうだ選挙にいこう:2006/05/01(月) 22:56:33
>>195
Aは入力値ですか、それとも式ですか?
>名前と数値をVLOOKUPで参照
この文と下表の関連性も判らない
もう少し細かい説明を所望
206名無しさん@そうだ選挙にいこう:2006/05/01(月) 23:02:42
ネタではないです。
>197様、助言ありがとうございます。
207201:2006/05/02(火) 00:05:58
説明不足ですみません。

例えば、「A1」に100、「A40」に650、「A70」に300、「A95」に700、
と入力されていたとします。
すると、一番右側のセルは「A95」なので、700を取り出したいのです。
その他の、例えば「A2」のセル等は値が全く入力されていません。

A1:A100は時系列のような扱いになっていて、最新の値を取り出すような
イメージです。
208名無しさん@そうだ選挙にいこう:2006/05/02(火) 00:11:19
>>192=195=201=207
なんでもかんでも思い立ったらすぐ聞けばいいってものじゃない。
少しは自分で考えなさい。

まぁどうせ考えてもわからなかったとか言い出すんだろうけど
君の「考えた」は考えたうちに入らない。
209名無しさん@そうだ選挙にいこう:2006/05/02(火) 00:12:56
やはり説明が分かりませぬ
私のエクセルとは違うんでしょうね
210名無しさん@そうだ選挙にいこう:2006/05/02(火) 00:16:05
>>207
「A1」も「A40」も「A70」も「A95」も同じA列なので右のセルも左のセルも
ありませんよ?
説明が上手く出来ないならキャプチャとってupするとかせめてそれぐらい
努力しよう。
211名無しさん@そうだ選挙にいこう:2006/05/02(火) 10:47:29
EXCELに保存した来賓400人分の名刺を作りたいのですが、ご教示お願いいたします。

1.現在はA列に会社名B列に役職名C列に名前で500人分あります

2.市販の名刺用マルチカード(A4サイズに10枚)に連続して印刷したいです。

3.フリーのラベルソフト等もいくつか見てみましたが、
  EXCELシートからダイレクトに挿入できませんでした。


仕上がりは1つの名刺サイズに以下のように印刷できればいいです。

  (株)○○会社
  ○○ 取締役
  ○○ 太 郎

212名無しさん@そうだ選挙にいこう:2006/05/02(火) 10:55:13
>>211
エクセルは印字位置の微調整が面倒だから
市販のソフトの方がいいよ

>フリーのラベルソフト等もいくつか見てみましたが、
>EXCELシートからダイレクトに挿入できませんでした。
CSV形式で保存すれば、たいていのソフトで読めるよ
説明書を見ればエクセルデータからのインポートは
載っているはずです。
213名無しさん@そうだ選挙にいこう:2006/05/02(火) 11:45:07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

1.あるセルに日付が入ってるのですが、違うセルにその月の最後の日付を表示したい
のです。簡単な方法はないでしょうか。

2.そのシートから曜日および別シート参照で祝日を表示させたいのですがうまくいかない、、orz

=IF(ISNA(VLOOKUP(B8,祝日リスト!$A$1:$D$59,4,FALSE)),CHOOSE((WEEKDAY(((DATE(YEAR(B1),MONTH(B1),B8))))),"日","月","火","水","木","金","土"),VLOOKUP(B8,祝日リスト!$A$1:$D$59,4,FALSE))

間違ってるところを教えてください。お願いします。
214名無しさん@そうだ選挙にいこう:2006/05/02(火) 11:53:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

VBスレで荒れた空気を読まずに誤って質問してしまいましたので
こちらで再度質問させていただいてもよろしいでしょうか?

条件によって変数そのものを変えたいんですが、出来ますでしょうか?

例えば

a = a + 10とあった場合、

c = falseならaのままでいいんですが、
c = trueならaの部分をbに変えたいんです。

ただし、こういう状況が多いので二重には書きたくありません。

if c = false then
 a = a + 10
else
 b = b + 10
end if

のような書き方は効率が悪いので、もっと簡単な書き方がしたいのです。
どうかご教授お願いします。
215名無しさん@そうだ選挙にいこう:2006/05/02(火) 11:56:08
>>213
1は
=DATE(YEAR(A1),MONTH(A1)+1,0)
翌月の0日目つまり今月の最終日
216213:2006/05/02(火) 12:03:49
>>215
ありがとうございます。考え方か、、、、単純なことなのに、、、

2番目も簡単にできるのだろうか??
217名無しさん@そうだ選挙にいこう:2006/05/02(火) 12:12:40
>>214
 >>3・7

Excelの操作に関係ないことは、例えExcelのVBAとして実行するとしてもスレ違い
218名無しさん@そうだ選挙にいこう:2006/05/02(火) 12:21:40
>>217
そこをなんとかお願いします。
該当スレは荒れていて何も期待できない状態です。
ヒントだけでもいただければ非常に助かります。
219名無しさん@そうだ選挙にいこう:2006/05/02(火) 12:23:12
VBAって何ですか?マクロのことですか?
220名無しさん@そうだ選挙にいこう:2006/05/02(火) 12:23:32
221名無しさん@そうだ選挙にいこう:2006/05/02(火) 12:27:43
>>220
そちらのスレで答えていただければ幸いです。
222名無しさん@そうだ選挙にいこう:2006/05/02(火) 13:19:57
>>219
Yes, I do.
223名無しさん@そうだ選挙にいこう:2006/05/02(火) 13:27:30
Yes,it is.
じゃねえか?
224名無しさん@そうだ選挙にいこう:2006/05/02(火) 13:29:22
Yes, It's.
じゃねえか?
225名無しさん@そうだ選挙にいこう:2006/05/02(火) 13:49:31
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード

=A1*B1、=A1*B2、=A1*B3、=A1*B4とA列だけ固定で、B列だけひとつづつ
ずらすにはどうしたらよいですか?
226名無しさん@そうだ選挙にいこう:2006/05/02(火) 13:53:43
>>225
列方向入力なら絶対参照と相対参照を使い分ければ良い。
そうでないなら具体的に。
227名無しさん@そうだ選挙にいこう:2006/05/02(火) 14:04:06
こんにちは、パソコン初心者でデータ処理をしたいのですが。
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

データを違うファイルからリンクするときは、
'[File名.xld]Sheet名'!セル
でリンクできるのですが、
このFile名自体をリンクすることってできますか?
うまく表現できませんが、File名とセルの値が一緒にしているので
できたらすごく効率があがるのですが。

可能ですか?
よろしくお願いします。
228名無しさん@そうだ選挙にいこう:2006/05/02(火) 14:33:04
説明が意味不明で可能かどうかすらわからん。

つーか
> 【2 Excelのバージョン   】 Excel
って何よw
そりゃExcelの何かなのはわかってるってばw
229227:2006/05/02(火) 14:50:52
>226
書き忘れです。すみません。Excel2003です。

File名のところを、入力するんじゃなくて、リンクしてもってきたいんです。
たとえば
'[Name.xls]Sheet1'!$B$4
ってやるとNameってFileのSheet1のB4のセルへリンクしますよね?
これを
'[(Fileの名前の入ったセル).xls]Sheet1'!$B$4
みたいな参照がしたいんです。

説明下手ですみません・・・

230名無しさん@そうだ選挙にいこう:2006/05/02(火) 15:07:36
>>229
それならテンプレに書いてある。
231213:2006/05/02(火) 15:50:26
自己解決しました。参照セルが日付になってなかった、、、、
232名無しさん@そうだ選挙にいこう:2006/05/02(火) 16:29:17
【1 OSの種類         .】 Windows 2000
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
2つのエクセルファイル(A,B)を作成。
Aは、月別の得意先別、部門別ファイル
Bは、Aを参照して作成する、部門別の得意先、月別のファイル。
Bのみ閲覧できるように、ファイルを移動する。
すると、Bをひらくたびに参照先を探すのですが、
これを参照しなくなるようにはできますか?
保護では無理でした。
233名無しさん@そうだ選挙にいこう:2006/05/02(火) 17:26:23
>>232  
例1)オプション/計算方法/手動で擬似的に
例2)ファイルB全体をコピー/値貼り付けで参照式をなくす
例3)ファイルAのシートを非表示にしてファイルBを移動しない
例4)etc.
234名無しさん@そうだ選挙にいこう:2006/05/02(火) 17:45:36
コメントをよく使うのですが、行を挿入するといつの間にかコメントのボードが
ペシャンコに潰れています。行を挿入してもつぶれないように設定できますでしょうか?
あと、コメントの文字はデフォルトでサイズ9の太字になってますけど、設定で変える事はできますか?
宜しく指南お願いします。
235名無しさん@そうだ選挙にいこう:2006/05/02(火) 19:51:40
>205
Aの値は別の式から得られた答えです。
VLOOKUPで名前を参照して値を導こうと思っていました。
説明へたくそですが、1日から31日まで1回出席すれば10はすぐに来ますが、
どの日にちでも10回超えればB欄へ値を出力できればと。

こんな説明ですがよろしいでしょうか?

236名無しさん@そうだ選挙にいこう:2006/05/02(火) 19:59:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 if 関数

A1が#N/Aでない場合、A1の内容をC1に入力する。
A1が#N/Aの場合、B1の内容をC1に入力する。
このような作業をしたいのです。よろしくお願いします。
237名無しさん@そうだ選挙にいこう:2006/05/02(火) 20:25:56
C1に=IF(ISNA(A1),B1,A1)とすれば?
238名無しさん@そうだ選挙にいこう:2006/05/02(火) 20:52:29
>>234

>行を挿入してもつぶれないように設定できますでしょうか?
コメントの外枠で右クリック→コメントの書式設定→プロパティ→「セルに〜サイズ変更しない」を選択

>コメントの文字はデフォルトでサイズ9の太字になってますけど、設定で変える事はできますか?
コメントの外枠で右クリック→コメントの書式設定→プロパティ→フォント
239名無しさん@そうだ選挙にいこう:2006/05/02(火) 22:58:56
ここで質問するより、他のところの方が大人な対応&的確ですよ・・・
ここは人のあげあしを取るのが好きな人間ばっかりみたい。
所詮2ちゃんねるか。
240名無しさん@そうだ選挙にいこう:2006/05/02(火) 23:03:19
↑脈絡の分からないコメント
241名無しさん@そうだ選挙にいこう:2006/05/02(火) 23:30:00
>>239
あなたがそう思うなら、他の人のために、その他のところに案内してあげてもいいのでは?
ここに来てる人は、他のところを知らないから来てるのかもしれないし。

所詮2ちゃんねるはその通りだけど、あなたの何も実のない捨て台詞は、他の人以上に
2ちゃんねるに染まってるように思えますよ。
242名無しさん@そうだ選挙にいこう:2006/05/02(火) 23:32:00
             /ヽ       /ヽ
            /  ヽ      /  ヽ
  ______ /     ヽ__/     ヽ
  | ____ /           ::u:u::::::::::\
  | |       //       \  :u:::::::::::::|
  | |       |  ●      ●    u::::u::::::::| なにこれ・・・・
  | |      .|           u ::::u::u:::::::|
  | |       |   (__人__丿  ..u..:::::::u:::::::::::/
  | |____ ヽ      .....:::u:::::u:::::::::::::<
  └___/ ̄ ̄       :::::::::::::::::::::::::|
  |\    |            :::::::::::::::::::::::|
  \ \  \___       ::::::::::::::::::::::::|
243名無しさん@そうだ選挙にいこう:2006/05/02(火) 23:55:57
>>237
ありがとうございました
連休が明けたら試してみます。
244名無しさん@そうだ選挙にいこう:2006/05/03(水) 00:16:54
別に、年が明けてから試してもらってもいいんだけどね。
245名無しさん@そうだ選挙にいこう:2006/05/03(水) 00:49:52
>>244
つまらなすぎる
246名無しさん@そうだ選挙にいこう:2006/05/03(水) 06:28:12
。質問しづらいけど、一つお願いします。

範囲 A1:D10 のセルの数値が全て100なら、という条件式の書き方を教えてください。

= IF ( A1:D10 = 100 , ←これだとダメみたいなので
247名無しさん@そうだ選挙にいこう:2006/05/03(水) 07:06:42
>>246
ヒント:配列数式か論理和かユーザー定義関数

>>1★1〜4に反してるので、>>4━回答者の心得━に従い
ヒントのみで回答は伏せる
248名無しさん@そうだ選挙にいこう:2006/05/03(水) 07:54:34
>>246
=IF(COUNTIF(A1:D10,"=100")=COUNT(A1:D10),
意味:100だけの個数と全部の個数が同じなら

ルールに縛られていないと安心できない人が意地悪するけど、
無視しとけばいいよ
でもテンプレがあった方が答えやすいのも確かな事なのでヨロシク
249名無しさん@そうだ選挙にいこう:2006/05/03(水) 08:32:45
教えたがり厨の言い訳?
250名無しさん@そうだ選挙にいこう:2006/05/03(水) 08:33:15
論理積使わずに論理和でやるんだ。すげーなwwwwww
251名無しさん@そうだ選挙にいこう:2006/05/03(水) 08:49:16
抽象的な質問で申し訳ないが、良いコードってどういうコード?
悪いコードの例でもいいです。
252名無しさん@そうだ選挙にいこう:2006/05/03(水) 09:17:53
そりゃ漏電してるコードだろ
253名無しさん@そうだ選挙にいこう:2006/05/03(水) 09:22:46
>249こいつ、おもしれ
答えたくなけりゃ傍観しとけばいいのに
254名無しさん@そうだ選挙にいこう:2006/05/03(水) 09:30:48
良いコード
・人間の目で見た可読性(読解性)と可視性(視認性)に優れている
・仕様変更や機能追加などがしやすい
・PCが高速で処理出来る
・人為的バグが皆無
・例外処理が完璧

つまり人が読みやすく解りやすく、事後改変が楽で、処理が高速で、不都合が起きない物。
その為に具体的に何をすればいいのかはスレ違いなので自分で調べよう。

当然悪いコードはこの逆だが可読性と可視性は相反することが多いので
バランスの良いところを自分で見つけるしかない。
255名無しさん@そうだ選挙にいこう:2006/05/03(水) 10:04:48
>>251
悪いコード: やたらコメントの多いコード
良いコードはコメントなしでも読める。
256名無しさん@そうだ選挙にいこう:2006/05/03(水) 10:18:44
>>254
可読性なんて人によってちがうんじゃない?
素人の可読性と玄人の可読性は大違いだと思う。



257名無しさん@そうだ選挙にいこう:2006/05/03(水) 10:29:50
>>250
質問者ではないのですが、後学のため論理積でのやり方を教えてください
(論理積=AND,論理和=ORとの使い分けを覚えたいので)
258名無しさん@そうだ選挙にいこう:2006/05/03(水) 11:09:46
>>257
250ではないがこういうこと?
=IF(AND(A1=100,A2=100,A3=100,A4=100,A5=100,A6=100,A7=100,A8=100,A9=100,A10=100),"オール100","オール100でない")
259名無しさん@そうだ選挙にいこう:2006/05/03(水) 11:12:42
AND(A1=100,A2=100, ... ,D10=100)

別に>>248は論理和じゃないと思うけど。
260258:2006/05/03(水) 11:14:10
A10:D10だった…orz
30個までしか指定できないね
この方法ではムリポ
261名無しさん@そうだ選挙にいこう:2006/05/03(水) 11:18:20
入れ子できなかった?
262257:2006/05/03(水) 11:27:33
>>258-260さん、ありがと
現在のイメージとしては、論理積は直接的で論理和は間接的かな
今から勉強します

追伸>>246さん、割り込んですみません
263258:2006/05/03(水) 11:30:06
>>260
な〜る
264名無しさん@そうだ選挙にいこう:2006/05/03(水) 12:00:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

『Activecell.NumberFormatLocal = String型変数 & "@"』
として、セルに書式を設定するマクロを使用しています。
この時に、上のString型変数に"h"や"m"や"g"などといった書式設定上意味を持つ文字列が入ることもあるのですが、この時にエラーが出てしまいます。
このような文字が変数に格納された場合に、文字列として扱わせる方法はありますでしょうか。
265名無しさん@そうだ選挙にいこう:2006/05/03(水) 12:01:19
>>248
ありがとう〜
266名無しさん@そうだ選挙にいこう:2006/05/03(水) 12:43:23
>>264
String型変数 = "m"
String型変数 = """" & String型変数 & """"
Range("a:a").NumberFormatLocal = String型変数 & "@"

1文字ならmやgの前に「!」を付けてもいいよ。
NumberFormatやFormat関数なら「!」じゃなくて「\」
267264:2006/05/03(水) 12:51:15
>>266
教えていただいた方法でできました。どうもありがとうございました!
268名無しさん@そうだ選挙にいこう:2006/05/03(水) 18:14:17
すみません質問です
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

セルに <10 と入力した場合
セルの表示は <10 のままで 0 と認識して欲しいのですが
どうしたらいいでしょうか? 
269名無しさん@そうだ選挙にいこう:2006/05/03(水) 18:24:29
>>268
表示と値を別に持つことは出来るが、
それは表示形式として表示させたい値を入力する方法
セルに何かを入力しちゃったら、それが認識される値だ。

とりあえず <10 という表示で 0 と認識させたければ
セルに0と入力し、表示形式のユーザー定義を "<10" にすれば良い
それ以上のことは表計算ソフトであるExcelの範疇ではないのでよろしく
270名無しさん@そうだ選挙にいこう:2006/05/03(水) 18:36:59
268です

ありがとうございました
271246:2006/05/03(水) 20:32:09
全て100なら、という条件式 IF(COUNTIF(範囲, "=100")=COUNT(範囲) は、
100以外が一つでもあれば、IF(COUNTIF(範囲,"<>100") と書いて
真偽を逆にしたほうが、式が簡単になるということに気づいた。orz
272246:2006/05/03(水) 20:47:19
つまりこれが論理和より論理積という意味だったのか! orz orz
273名無しさん@そうだ選挙にいこう:2006/05/03(水) 22:46:41
微妙に違う
274名無しさん@そうだ選挙にいこう:2006/05/04(木) 00:03:50
まあ>>250の納得の仕方が何かヘンだったということで
275名無しさん@そうだ選挙にいこう :2006/05/04(木) 01:14:53
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 単位、通貨とうとう
セルの単位を円にできません。書式でないんですがどうすればいいんでしょう。
276名無しさん@そうだ選挙にいこう:2006/05/04(木) 01:58:07
>>275
#,##0円;-#,##0円
277名無しさん@そうだ選挙にいこう:2006/05/04(木) 14:02:59
初心者ですみません教えて下さい
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Mac.OS-X
【2 Excelのバージョン   】 Excel2001
【3 VBAが使えるか    .】 ??
【4 VBAでの回答の可否】
【5 検索キーワード     】
セルの高さ、幅の単位の設定はどうしたら良いのですか?
現在幅10.00、高さ16.00と 表示をされていますが、
この表示ならば縦長にならないとおかしいと思うのですが、
見た目は普通と同じ様にセルは横長になっています。
書式→行(もしくは列)で設定を試みましたが、
単純に設定高さ(幅)を変更出来るだけなので根本的解決に
なりません。
セルの高さ、幅の表示数値の変更並びに設定方法を
どなたか分かる方、教えてください。
宜しくお願いします。
278名無しさん@そうだ選挙にいこう:2006/05/04(木) 14:21:06
>▼行の高さ・列の幅の単位について
>行の高さ:ポイント
>列の幅:文字数
だそうな。
279名無しさん@そうだ選挙にいこう:2006/05/04(木) 14:25:47
>>278
ありがとうございます。
でも少々??です。
もう少し具体的に教えて頂けたら、、、、助かります。
280名無しさん@そうだ選挙にいこう:2006/05/04(木) 14:38:32
>>279
Excel2002だけど大体おなじだとおもう
http://support.microsoft.com/default.aspx?scid=kb;ja;401638
281名無しさん@そうだ選挙にいこう:2006/05/04(木) 14:53:16
>>280
有り難うございました。
つまり2002以前では縦横の数値の単位を同一にするって事自体不可能
って事なんですね。事務所で使ってるXPに入っている2003では
センチ、ミリ他の単位が何であるか不明では有りますが同じ単位が
表示されていたのでセルを当然に正四角形にする事が出来ましたが
以前は無理だったんですね。こんな簡単な事が出来ないはず無いと
思ってムキになっていました(笑)
ありがとうございました。
282名無しさん@そうだ選挙にいこう:2006/05/04(木) 14:55:14
簡単な方程式にあてはめれば出来ますよ。
283名無しさん@そうだ選挙にいこう:2006/05/04(木) 14:56:49
オートシェーブで正方形作ってそれに合わせるとかね〜
284名無しさん@そうだ選挙にいこう:2006/05/04(木) 15:00:30
幅1=8.714ピクセル
高1=1.333ピクセル
285名無しさん@そうだ選挙にいこう:2006/05/04(木) 15:05:07
284は間違い
そもそもピクセルは長さの単位じゃないから意味無いし
286名無しさん@そうだ選挙にいこう:2006/05/04(木) 15:17:19
幅1=高6.573   は?
287281:2006/05/04(木) 17:46:14
結局正方形をスケールにして>>283さんに近い方法でやりました。
2003が使いやすかったので苦労しましたぁ。
みなさんありがとうございます。
288名無しさん@そうだ選挙にいこう:2006/05/04(木) 20:06:19
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

Excel2003以前で作成したファイルを開いた状態でExcel2003で作成したファイルを開こうとすると
やたら重くなり、開くまで1分ぐらいかかってしまいます。
しかし、Excel2003以前で作成したファイルを開いたまま、もうひとつExcelを起動させそちらのフォームで
Excel2003で作成したファイルを開くと瞬時に開きます。

これってバグですか?
289名無しさん@そうだ選挙にいこう:2006/05/04(木) 23:30:40
【1 OSの種類         .】 Windows 2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル 塗りつぶし 色 などなど・・・

セルの塗りつぶしはデフォルトで黄色になっていますが、
これを別の色に変えることはできるのでしょうか?

ツール → オプション → 色 にはそのような機能は見つかりませんでした。

よろしくおねがいします。
290sage:2006/05/05(金) 03:57:41
>>289
こちらこそよろしく。
291名無しさん@そうだ選挙にいこう:2006/05/05(金) 10:55:10
>288
もっともっと、いろんなパターンでファイルを開いてから
それでも分らなかったら質問しな。
>289
もっともっと、いろんな操作を試してから
それでも分らなかったら質問しな、
292名無しさん@そうだ選挙にいこう:2006/05/05(金) 11:05:59
>>289

セルを選択し
書式>セル>パターン
で変えられますよ。

>>291
おいクソ暇人、質問に答えるよりも長い煽りしてんじゃねえよ。
とっとと失せろ住人気取りのバカ粘着!
293名無しさん@そうだ選挙にいこう:2006/05/05(金) 11:15:05
今日も今日とて家の中
連休ずっと家の中
一人ぼっちで家の中
ルール厨>>292 ツライだろうけどガンバって

遅くなっちゃたけど、じゃあ行って来ます(^^♪
294名無しさん@そうだ選挙にいこう:2006/05/05(金) 12:08:09
当方Mac
買おうと思ったらExcel 2004
古いですね。近々新しいジージョンがでるってお話はないんでしょうか
295名無しさん@そうだ選挙にいこう:2006/05/05(金) 13:34:26
>>292
デフォルトカラーの変更と思われ。
296名無しさん@そうだ選挙にいこう:2006/05/05(金) 16:12:12
エクセルCSVフアイルのカンマを一括して全てのセルから外す方法を教えてください。
宜しくお願いします
297名無しさん@そうだ選挙にいこう:2006/05/05(金) 16:17:40
>>296
何をしたいのか良くわからん
298名無しさん@そうだ選挙にいこう:2006/05/05(金) 16:28:50
>>296
編集/置換え
299名無しさん@そうだ選挙にいこう:2006/05/05(金) 16:52:11
> エクセルCSVフアイル
そんなものはありません。Excelではcsvファイルも扱えますが、
csvファイルExcelのファイルではなく、単なる区切りテキストの一種でtsvやprnの仲間。

Excelでインポート出来るってだけで、関係ないファイルをExcelファイル扱いしないように。
300296:2006/05/05(金) 17:02:18
>>298
解決しました。ありがとうございました。
301名無しさん@そうだ選挙にいこう:2006/05/05(金) 17:46:14
>>299
ボ、ボク、テンプレ通りに書いてくれないとわかんないんでつ

あらあら、お顔が真っ赤ですよ
302名無しさん@そうだ選挙にいこう:2006/05/05(金) 18:03:53
>>301
なにか嫌なことでもあったの?
303名無しさん@そうだ選挙にいこう:2006/05/05(金) 20:24:26
>>301
きめぇ
304名無しさん@そうだ選挙にいこう:2006/05/06(土) 01:00:40
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
会社のタイムシートで出勤時間と退社時間を入力すると
例えば 出10:00 退20:30 とするとなぜか拘束時間が10.50ってなってしまいます
ちなみに式はこうなってました↓
=IF(OR(D10="",E10=""),"",(E10-D10)*24)

どうすれば10.30ってでるようになりますか?
305名無しさん@そうだ選挙にいこう:2006/05/06(土) 01:10:27
>>304
式から*24を削除、表示形式を[h]:mmに
306名無しさん@そうだ選挙にいこう:2006/05/06(土) 01:44:38
>>304
本当にありがとうございました。
307名無しさん@そうだ選挙にいこう:2006/05/06(土) 02:15:17
小数点がある場合には表示して、無い場合には表示しないユーザー書式設定が知りたいです。
308名無しさん@そうだ選挙にいこう:2006/05/06(土) 03:29:02
>>307
少数点以下のことだろうか?
標準ではダメなのかな。
#.#…
と表示させたい小数点以下第何位までかを指定するのはどーだろ?
309名無しさん@そうだ選挙にいこう:2006/05/06(土) 04:52:51
>>308
ありがとうございます。
とすると式の答えに小数点以下が無い場合

 20.

等と余計なコンマが入ってしまうのですが、これはしょうがないのですか?

>標準ではダメなのかな。
はい、"cm"や "端から"等と文章を付加したいもので。
310名無しさん@そうだ選挙にいこう:2006/05/06(土) 04:56:56
>>308
申し訳ありません、説明が可笑しかったです。
標準では、小数点以下第2位まで表示してしまうのですが、
小数点以下は一桁にしたいので色々試行錯誤しています。
311名無しさん@そうだ選挙にいこう:2006/05/06(土) 07:20:14
>>307-310
まずは「書式」をヘルプで検索しろ
いろんな表示方法があるから好きなのを使え
312名無しさん@そうだ選挙にいこう:2006/05/06(土) 07:33:48
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aも読もう。
★4 質問テンプレは必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
   これを書かなかった場合は、以後まともな回答は付かないと思ってください。

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

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。
  「VBAって何?」って場合はとりあえず「否」に。よくわからないけど使ってみたいってなら
  「可」にして、>>10-15あたりの解説を参考に使ってみよう。



313名無しさん@そうだ選挙にいこう:2006/05/06(土) 09:06:52
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 折れ線グラフ,空白セル,プロット

折れ線グラフについて質問です。
グラフの元データのセルがIF関数の場合、
特定の条件を満たす要素をプロットしないことは可能でしょうか。
※テンプレ>>9の逆で、折れ線を切る

例えば、グラフの元データのセルの一つに
=IF(A1 > 0, A1, "")
のようなIF関数が入力されており、且つA1セル値が0以下の場合、
グラフに該当する要素をプロットしない方法です。
上の式の""の部分を、未入力セルへの参照にしたり、
駄目もとでFALSEを入れてみるなど試しましたが、
どうしてもグラフからは0として認識されてしまいます。
『未入力』を返す関数や定数が有ればと探してみましたが、
それも見つけられませんでした。

お分かりになる方、ご回答宜しくお願いいたします。
314名無しさん@そうだ選挙にいこう:2006/05/06(土) 11:34:56
>>313
散布図は試しましたか?
315313:2006/05/06(土) 12:05:55
>>314
レス有難うございます。

散布図も試しましたが、どうやら同じようです・・。
316名無しさん@そうだ選挙にいこう:2006/05/06(土) 13:37:37
【1 OSの種類         .】 Windows 2000
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 はい 
【4 VBAでの回答の可否】 はい

状況:VBAを使って、ガントチャート(作業工程表)を作っています。各行に配置された
「作業開始」と「作業終了」セルを読み取り、カレンダー部分(画面の右半分)に図形
を描画します(長方形です)。各Shapeの名前は、作業の名前にしてあり、日付セルが変化すると
イベントが発生し、該当部分のグラフが再描画される仕組みです。

質問:逆に、カレンダー内のこの図形を動かすことで、セルの値を変更したいのですが、
図形の大きさ(または配置)が変更されたときにイベントを発生させる方法は
あるのでしょうか?想像するにWorksheets.Shapes.Changeのようなイベントです。

お分かりになる方、ご回答宜しくお願いいたします。
図形でなくても、他にもっと良い方法がある場合は、教えてください。
317名無しさん@そうだ選挙にいこう:2006/05/06(土) 14:24:57
>>316
シェイプにイベントは無い。
図形関係でイベントがあるのはコントロールの方なので
これのイメージコントロールを使えば、お望みのことが出来るよ。
やり方はVBでのコントロールのサイズ変更と一緒。
あとはWeb上にサンプルもあるし、>>3・7ってことなのでよろしく。
318名無しさん@そうだ選挙にいこう:2006/05/06(土) 16:06:19
>>317
ありがとうございます。動かせました。
319307:2006/05/06(土) 16:45:44
【1 OSの種類         .】 Windows 2000
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
数式の結果に、小数点以下が出る場合には表示し、無い場合には表示しない書式設定が知りたい。
#.#
0.0
の書式設定だと小数点以下が無い場合にもコンマだけ出てしまう。
なぜ標準を使わないかは、小数点第2位は要らないからです。

>>311の方は勘違いされたみたいですが、文字列を加える書式などは知っています。
勿論HELPは見ましたし、ググってもみました。
こんな簡単なことが出来ないはずはなく、
私が大きな勘違いをしているを思うのですが、つっこんで下されば幸いです。
320名無しさん@そうだ選挙にいこう:2006/05/06(土) 17:02:51
>>319
書式では[.]を消す事は出来ない
代替案として
・ROUND関数で四捨五入し書式を標準にする
  (入力値でない場合)
・書式を[0.0]としあきらめる
  (数値の誤認を防ぐためにもこの方法が良いと思う)
321名無しさん@そうだ選挙にいこう:2006/05/06(土) 17:06:23
>>319
VBAでは出来るけど、表示形式設定では出来ない。
何度か同じ質問来てるので、これも>>15-16に加えた方がいいかもね。
322名無しさん@そうだ選挙にいこう:2006/05/06(土) 17:40:41
>>233
ありがとうございます。
シートが30近くあるので、ちょっと大変そうです。
323しろうと:2006/05/06(土) 23:45:58
【1 OSの種類         .】 Windows2000Pro
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか  .】 はい(少しだけ)
【4 VBAでの回答の可否】 どうしても無理なら可

セル結合した場合、その値を参照するには左上のセルを参照しなければならないようですが
既に大量のセル結合したデータがありしかもその結合されてるセルの数が固定でないのですが
指定したセルを含む結合の左上を参照する方法があるでしょうか?

わかりにくいので例.A1からA5をセル結合していてC列にA列+B列の値を入れたいのですが
C1の場合=(A1+B1)でOK、C2で=(A2+B2)とするとA2の値が0しかとれません。
このC2に=(*+B2)の*のところに自分を含む結合セルの値という意味の関数をいれたいのですが
そのようなことができる関数はあるでしょうか?
324名無しさん@そうだ選挙にいこう:2006/05/07(日) 00:14:37
>>323
意味が分からん
なぜC2には=$A$1+B2ではだめなのか?
わざわざ=A2+B2にする理由がないのではないか。
325しろうと:2006/05/07(日) 00:21:14
>324さん
説明不足ですみません
$で対応するとなると結合したセルの数だけ手打ちが生じますが
データが先にできてしまっていてその結合したセルの数は膨大なのです。
だから関数で1個うまくつくってそれを下に引っ張ってコピーしたいのです。
326名無しさん@そうだ選挙にいこう:2006/05/07(日) 00:24:12
>>323
Function TraceMerge(arg1 As Range)
TraceMerge = arg1.MergeArea(1)
End Function
して
=TraceMerge(A1)+B1
のような感じで、あとは必要な処理を追加して
327名無しさん@そうだ選挙にいこう:2006/05/07(日) 00:29:50
>>323
>結合されてるセルの数が固定でないのですが
一定でないなら無理
なにか規則性を見つけ多いパターンで式を作って残りを修正するか
セル結合を解除してデータを整理する:後の事考えるとこれがいいんじゃね
328234:2006/05/07(日) 15:36:06
>>238
返事が遅くなってすみません。
ありがとうございました。
329しろうと:2006/05/07(日) 16:04:35
>323です
>326さんの言われるようにやってみたのですが、マクロ関数?を貼り付けた後に
参照している値を変えても計算結果が反映されないようです
計算方法を手動にしたら先頭のセルだけに値が反映されました
再計算実行してみても同じのようです
自動計算か、せめて手動計算でも再計算操作「F9」で値が反映されるやりかたないでしょうか?
質問ばかりですみません

>327さんの言われるように規則性があればなんとかなるんですけどね・・
330名無しさん@そうだ選挙にいこう:2006/05/07(日) 16:14:39
>>323
表計算と関係ないレイアウトに凝りすぎて、後の手間を面倒くさくしてる例だねぇ。
俺が担当者だったら、後のことも考えて改修するところだけど。
関係者が無知だと、見かけにこだわってばかりで話にならないこともあるし。
がんばってくだされ。
331名無しさん@そうだ選挙にいこう:2006/05/07(日) 16:52:55
シート0、1、2、3・・・とあり、
シート1のA1のセルにシート0のB1
シート2のA1のセルにシート0のC1
シート3のA1のセルにシート0のD1といったように入力をしていきたいのですが、
自動入力の方法はありますでしょうか?
332名無しさん@そうだ選挙にいこう:2006/05/07(日) 17:09:49
>>331
> 自動入力の方法はありますでしょうか?
うん、あるよ。
VBAでシートのインデックスと参照カラムを関連付けて
ループで一発。

あとは>>4
333名無しさん@そうだ選挙にいこう:2006/05/07(日) 19:55:02
Excel 2004 を買おうかと思ってるんですが
下記の様のものをつくれるのか知りたいてす。作れるんでしょうか?

【枠内に配置されてる不規則な三つに数字の奇数偶数を判別して並び通りに表す】
A[1,5,2]
B[12.3.21]
   ↓
A[奇数-奇数-偶数]
B[偶数-奇数-奇数]


【1〜9はAとして、10から19はB、20〜29はCとして表す】
A[1,5,2] 
B[12.3.21] 
  ↓
A[A-A-A]
B[B-A-C]


【AB数字の出現回数と回数毎の色づけ】
A[1,5,2]
B[2.4.5]
  ↓
現時点での出現回数(一回は黒、二回は赤、三回は青と色彩で回数を表示)
1→1回
2→2回
3→0回
4→1回
5→2回
334名無しさん@そうだ選挙にいこう:2006/05/07(日) 20:31:25
>>333
2004はMac版で、俺はMac持ってないので
とりあえずExcel97、2000、2002、2003の話だが全て可能だ。
335名無しさん@そうだ選挙にいこう:2006/05/07(日) 22:37:37
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 出来れば否

シート1に社員の住所、氏名などの(10項目ほど)データが作ってあって、
一人づつに違う番号が振ってあり、全員で50前後データがあります。
シート2にシート1の項目に合った名簿のテンプレがあり、
10人分表示できるようになっていて、番号を入力すると
シート1で同じ番号が振ってある社員のデータが
表示されるようになっているのですが、シート1で辞めた社員のデータを
新入社員のデータに上書き保存したのに、シート2では既に無い
辞めた社員のデータが表示されてしまいます。
何でこんな事になってしまったのか分からないのですが、とても困ってます。
何か解決方法はないでしょうか?よろしくお願いします。
336名無しさん@そうだ選挙にいこう:2006/05/07(日) 22:51:31
>>335
ドコからリンク貼ってるのか見れば良いじゃん
違うとこからとってるんだろ
337名無しさん@そうだ選挙にいこう:2006/05/07(日) 22:51:56
別のブックを参照してるならありそうだけどな。
同じ番号に別人のデータを上書きしたのに、ってことですか?
番号も変えたってことですか?
本当に辞めた社員のデータが表示されていますか?
その場合、そのセルの式はどうなってますか?
338335:2006/05/07(日) 23:11:44
レスありがとうございます。
>>336
社員のデータがあるシートは、データベースという名前になっていて
それを参照するようにテンプレでは関数を組んであります。
>>337
>同じ番号に別人のデータを上書きしたのに、ってことですか?
番号は変更無しで、社員データだけ変わったという感じです。
辞めた社員というのは事故で亡くなってしまった人なので間違いありません。
住所とか、健康診断の日付とか、結構頻繁に変える事が多いのですが、
たぶん2年くらいちゃんと表示されてました。
セルの式は事務所のPCなんで、今分かりませんorz
明日事務所に行ったら、何処をよく調べると良いですか?
339名無しさん@そうだ選挙にいこう:2006/05/07(日) 23:27:13
再計算してなかったりして
340名無しさん@そうだ選挙にいこう:2006/05/08(月) 00:30:17
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aも読もう。
★4 質問テンプレは必須じゃないけど、
   OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
   これを書かなかった場合は、以後まともな回答は付かないと思ってください。

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

※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
  VBAを使うのは避けたいって場合は「否」にしましょう。
  「VBAって何?」って場合はとりあえず「否」に。よくわからないけど使ってみたいってなら
  「可」にして、>>10-15あたりの解説を参考に使ってみよう。



341名無しさん@そうだ選挙にいこう:2006/05/08(月) 00:33:26
自動計算がとめてあるシートをもらったのですが戻すのがわかりません。
これを元の自動計算ができるようにするのと、
自動計算を切る方法を詳しい方教えていただけますでしょうか。

よろしくお願いします。
342名無しさん@そうだ選挙にいこう:2006/05/08(月) 00:35:12
>341ですが

windowsXP
excel2000
VBA使えません。
VBA 否
検索キーワード 自動計算

よろしくです。
343名無しさん@そうだ選挙にいこう:2006/05/08(月) 00:56:25
>>334
ご回答ありがとうございます。
344名無しさん@そうだ選挙にいこう:2006/05/08(月) 01:22:34
>>341
[ツール]→[オプション]→[計算方法]タブ
345名無しさん@そうだ選挙にいこう:2006/05/08(月) 01:43:52
>>344
自動計算の件、わかりました。
助かります、ありがとうございました。
346名無しさん@そうだ選挙にいこう:2006/05/08(月) 02:48:03
この質問に答えられる方いらっしゃいますか?

今、手元に約100万行挿入されているテキストがあるのですが
これを外部データの取り込み→データーの取り込みでワークシート上に読み込もうとしています。

読み込めたのですが、100万行は読み込めませんでした。最大で6万5千行くらいでした。
100万行を全てワークシート上へ読み込むためにはどうすればよいでしょうか?

外部データ取り込みを15回程度すれば約100万行読み込むことは可能なのですが
最初の行は0から6万5千行まで、次のシートは6万5千行から13万行、次のシートは13万行から19万5千行

みたいな感じで読み込むことはできますか?テキストウィザードで何行目から読み込むかを設定できるのですが
最大3万5千行までからしか読み込むことができません。

良い方法無いでしょうか?
347名無しさん@そうだ選挙にいこう:2006/05/08(月) 06:38:06
>>346
全部自動化したいんだったらVBAで小分けにして取り込むしかないかなあ。
348名無しさん@そうだ選挙にいこう:2006/05/08(月) 09:19:43
つーか、その作業が頻繁にあるならまだしも、1回ならテキストエディタからコピペすればいいじゃん。

テキストエディタで
1) 行ジャンプ→65001行
2) Shift + Ctrl + Home
3) 切り取り(Ctrl + X)
Excelで
1) シート移動(Ctrl + PgDw)
2) 張り付け(Ctrl + V)

1回の作業が、キー操作に慣れてる人なら5秒、そうでなければ10秒としても
16回やって2〜3分。毎日何度もこの作業をやるんじゃ、煩わしいことこの上ないが
1度だけなら掲示板に質問して回答を待つより遙かに早く目的を達成できる。
もしテキストが1列データではなく列区切りのあるものならテキストエディタではなくCSVエディタでも使えばいい。
349名無しさん@そうだ選挙にいこう:2006/05/08(月) 10:35:36
>>320-321
ゴールデン・ウィークでPCを起動する暇がありませんで、お礼が遅くなりました。
ありがとうございました、疑問が解決しました。
出来ないと言うことが分かったので他の方法を探してみます。
350名無しさん@そうだ選挙にいこう:2006/05/08(月) 11:13:56
>>346
ネタだよね。
エクセルをバックエンドとして使う気じゃないよね。
351名無しさん@そうだ選挙にいこう:2006/05/08(月) 12:32:33
まあExcelで扱うべきデータじゃないわな
352名無しさん@そうだ選挙にいこう:2006/05/08(月) 12:33:13
時間を計算したいのですが、48時間表記。
なぜか[h]:mmとしても1900/1/1 2:00などと裏で変わっているようで、計算が出来ない、、
どうすればよろしいでしょうか?

excel2003
WINXPです。
353名無しさん@そうだ選挙にいこう:2006/05/08(月) 12:57:17
>>352
> 裏で変わっているよう
裏で変わるも何も、Excelの日時データはシリアル値という値で管理されてる。
整数部が年月日、小数部が時分秒。
時刻だけ入力しても、そこには日付概念も付いてくるし、逆に日付だけ入力した場合も然り。
そのことを踏まえて計算すればよろし。
354名無しさん@そうだ選挙にいこう:2006/05/08(月) 14:31:56
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 できれば否

単純にSUM関数で足し算をしたいだけなのですが、
なんだかおかしいんです。

例えばA1のセルに「=SUM(A2:A5)」と入れると、
A1のセルにはそのまま「=SUM(A2:A5)」と表示され、
A2からA5のセルに何を入れても反応しません。

どのような原因が考えられますでしょうか。
355名無しさん@そうだ選挙にいこう:2006/05/08(月) 14:38:39
オプションの表示の数式にチェックが入っている
356名無しさん@そうだ選挙にいこう:2006/05/08(月) 14:39:51
>>354
[ツール]-[「オプション]の「表示」の「数式」にチェックが入ってたら外すと治るよ
357354:2006/05/08(月) 14:57:31
「ツール」→「オプション」→「表示」→「ウィンドウオプション」の
「数式」ですよね?
チェックは入ってないです・・・。
358名無しさん@そうだ選挙にいこう:2006/05/08(月) 15:22:48
じゃ[セルの書式][表示形式]が文字列になってんじゃね?
359354:2006/05/08(月) 16:19:17
それでした・・・ありがとうございます!
360346:2006/05/08(月) 16:40:57
皆さんありがとうございます。
私が行いたいことはサーバーからその100万行内のデーター1行1行を
アクセスがある度、読み込みphpファイルに書き込みしようとしていたのですがレスポンスアウトに
なってしまったので分割してやろうと思っていたのです。

特にタブなどは入っていないので>>348さんのやり方でやらせていただきます。
私はWindowsのコマンドを勉強した方が良さそうですね。。
私はドラッグで囲んで切り取りシート貼り付けみたいな感じで
やってたので結構時間かかったんですよね。

この作業は何度も行いますので
>>348さんの作業をUWSCで自動化してみます。
ありがとうございました。
361名無しさん@そうだ選挙にいこう:2006/05/08(月) 16:46:14
1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

初歩的な事なのですが、いつも悩んでいるので、、、、

IF関数でたとえば条件が複数ある場合

例 B5セルが1または5または23またはABDの時C5セルは問題なしと表示

わからないんです。

,で区切ったり、and、+いろいろやったけど、最後は同じ関数でつなげてしまう、、、、それだと長い、、、、

教えてください。
362名無しさん@そうだ選挙にいこう:2006/05/08(月) 17:37:18
>>361
ヘルプで論理関数を調べよう
又は:OR
363名無しさん@そうだ選挙にいこう:2006/05/08(月) 18:22:32
>>361
C5セルに
=IF(OR(B5=1,B5=5,B5=23,B5="ABD"),"問題なし","条件に当てはまらなかった時の処理")
364名無しさん@そうだ選挙にいこう:2006/05/08(月) 18:58:25
1 OSの種類         .】 Windows 98
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

計算機で200を12で割って6を掛ければ答えは99.999999…
となるはずですがエクセル上で =(200/12)*6 という式を入れれば
四捨五入されて"100"という答えになってしまいます。
ROUNDDOWNを使いたいので非常に困っています。
どのような式ならば四捨五入を回避できるのでしょうか。
365名無しさん@そうだ選挙にいこう:2006/05/08(月) 19:45:34
>>364
>ROUNDDOWNを使いたいので非常に困っています
質問する前にROUNDDOWNを使かってみろ
ところでその計算には有効桁は存在しないのか?
366名無しさん@そうだ選挙にいこう:2006/05/08(月) 20:06:27
なんのためにAccessがあるのか…
367名無しさん@そうだ選挙にいこう:2006/05/08(月) 20:13:02
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

セルを選択したときに、その列と行に薄い色をつけることはできますか?
たとえば、F15を選択しているときは、F列と15行が全部薄く色が付くような・・・
大きい表を作っていると正しいセルに入力しているか不安になるので。。
方法があれば教えてください
368名無しさん@そうだ選挙にいこう:2006/05/08(月) 20:17:03
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 バブルチャート

バブルチャートを作成したのですが
データラベルを表示することができません。
どうしたらいいのでしょうか?

A列   B列   C列   D列

さる  5000   0.8   24  
いぬ  6000   1.2   13
きじ  2000   5.4   34

X軸がB列、Y軸がC列、バブルサイズがD列のとき、
各バブルにA列のラベルを付けたいのです。
369名無しさん@そうだ選挙にいこう:2006/05/08(月) 20:45:14
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可


 すみません教えてください。

ある列があり、その範囲の中に当てはまる文字がいくつあるかというのはどうすればいいのでしょうか?

=COUNTIF(C8:C38,OR("佐藤","大島","伊藤","木島","金田"))

これではうまくいかない、、、、

頼みます。
370check:2006/05/08(月) 21:03:17
Excelのバージョン:[2000] 
OS Windows2000

エクセルの日付の表示形式をH15.03.06にするように
ユーザー定義にてgee.mm.ddで作成入力しました。

そのセルをダブルクリックすると2003/3/6となります。
もしくは、そのセルを選択すると、数式バーには同様に
2003/3/6と表示されます。
これは、、仕方のない現象なのでしょうか?
それとも、、そのままの表示形式にはならないのでしょうか?

いろいろと検索いたしましたが、ヒットしませんでした。
371名無しさん@そうだ選挙にいこう:2006/05/08(月) 21:11:24
>>369
=COUNTIF(C8:C38,"佐藤")+COUNTIF(C8:C38,"伊藤")+COUNTIF(C8:C38,"木島")+COUNTIF(C8:C38,"金田")
372369:2006/05/08(月) 21:14:02
>>371

やっぱそのめんどうな方法しかないのでしょうか、、、
選択肢が多いと、、、、、
373名無しさん@そうだ選挙にいこう:2006/05/08(月) 21:19:10
>>372
DCOUNT
374名無しさん@そうだ選挙にいこう:2006/05/08(月) 21:25:16
11:30を11.5hourのように表示したいのですけど、無理でしょうか?
375名無しさん@そうだ選挙にいこう:2006/05/08(月) 21:36:50
>>374
A1に11:30とあったとすると
=HOUR(A1)+MINUTE(A1)/60 & "hour"
と別セルに入れて表示するのは?
376名無しさん@そうだ選挙にいこう:2006/05/08(月) 21:54:07
>>370
文字列にすれば?
377374:2006/05/08(月) 21:54:55
375>>
それだと24:00以上だとできないないような?
37:30を37.5hにしたいのです。
378名無しさん@そうだ選挙にいこう:2006/05/08(月) 22:09:20
=A1*24 だな
379374:2006/05/08(月) 22:15:08
378
繰り上がってしまう、、、
380名無しさん@そうだ選挙にいこう:2006/05/08(月) 22:16:39
>それだと24:00以上だとできないないような?

374にはそんなことは書いてないが?
381374:2006/05/08(月) 22:18:23
ごめんなさい書式設定し忘れてた、、、
できました。ありがとう。
382名無しさん@そうだ選挙にいこう:2006/05/08(月) 22:34:36
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

日付が今までは2006/5/15みたく表示されていたのに、なぜか
2006 5 15みたいにしか表示されません。
セルの書式設定の日付の選択肢の中も、スラッシュが抜けています。

一体全体どうしたことでしょうか?
383名無しさん@そうだ選挙にいこう:2006/05/08(月) 22:52:08
>>382
なんと言う事でしょう!
それは匠の業が、こんな所にも発揮されていました
384check:2006/05/08(月) 22:52:21
370さんへ
文字列はやってみました。
編集するときに西暦に直すとわかりづらいのです。
385名無しさん@そうだ選挙にいこう:2006/05/08(月) 23:07:11
>>384
では諦めてください
386名無しさん@そうだ選挙にいこう:2006/05/08(月) 23:34:58
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 エクセル 保存

ブックを開き、何も変更せず閉じようとすると、保存のダイアログが出てくるのですが、
いったい何が原因なんでしょうか?
387名無しさん@そうだ選挙にいこう:2006/05/08(月) 23:44:16
ファイルが97形式であるなどの理由で再計算が生じている
388名無しさん@そうだ選挙にいこう:2006/05/09(火) 01:40:22
>>386
フナでも釣りたいの?
389(-_-)さん :2006/05/09(火) 02:51:26
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ

=IF(I17="1",(IF(OR(E18<=M17,E19<=M17,E21<=M17,E22<=M17,E23<=M17),-H17*$M$10,"")),"")

の、

OR(E18<=M17,E19<=M17,E21<=M17,E22<=M17,E23<=M17)

の部分を
もっと簡潔に記述する方法はないでしょうか?
よろしくお願いいたします.

自分、VBAはわかんないです ><
390名無しさん@そうだ選挙にいこう:2006/05/09(火) 06:35:17
>>389
MIN(E18,E19,E21,E22,E23)<=M17
391名無しさん@そうだ選挙にいこう:2006/05/09(火) 08:30:52
>>382
フォントが壊れてるとか?違うフォントでも駄目?
392名無しさん@そうだ選挙にいこう:2006/05/09(火) 08:32:43
>>386
そのブック内になんか再計算する関数式とかあるんじゃないの?
=today()とかそれ系。
393389:2006/05/09(火) 08:47:13
>>390
> >>389
> MIN(E18,E19,E21,E22,E23)<=M17

レスありがとうございます。
でも、それだと、
[時系列に順番に比較して条件合致したら返す]
ということにならないんです。 ><

つまり、
E(n)には順番に毎日のデータが入ってきて、
それが E(n)<=M17 の条件を満たしたら
その日 に-H17*$M$10を表示する。
というようにしなければならないんです。

しかし、
> MIN(E18,E19,E21,E22,E23)<=M17
だと、一番小さいE(n)との比較になってしまいます。

例えば、E19がE23より大きい値であっても、
E18からひとつずつ順番に参照して、 E19<=M17 を満たしたら-H17*$M$10を表示する。

というようにしなければならないんです。
すみません、まだよろしくお願いいたします。
394名無しさん@そうだ選挙にいこう:2006/05/09(火) 10:04:49
>>393
言ってることわかりません。
「時系列に順番に比較」を言うなら、元のOR()は、与えられた条件を全部評価して、
「一つでも真になるものがあれば真を返してる」だけ。順番は関係しません。
あなたの説明不足でなければ、何か誤解してるんじゃないかと思う。整理してみてください。
395389:2006/05/09(火) 10:19:36
>>394
わかりにくくてすみません。

やりたいことは、
あるモノの購入価格と、その後毎日変動する価格とを比較して、
その後の価格(n)<=購入価格 
 E(n)<=M17 
になったらその場で売って精算、
ということなのです。
これでわかりますでしょうか・・・
396名無しさん@そうだ選挙にいこう:2006/05/09(火) 10:22:38
ORじゃだめだろそれ?
397389:2006/05/09(火) 10:27:47
>>396
そ、そうですね・・・ 

未熟なんで、思いつくやり方がそれしかなかったんで
そもそもORを使うのは正しくないとは思っていたんですが
他に思いつかなくて・・・ ><;
398名無しさん@そうだ選挙にいこう:2006/05/09(火) 10:42:42
しかし、時系列に比較しても売るのは今以降しかないわけで
時系列に比較する意味自体が無いのかもしれない。
399名無しさん@そうだ選挙にいこう:2006/05/09(火) 10:47:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(初心者)
【4 VBAでの回答の可否】 可

日付の入ったセル(例えば2006/5/1)からその月の最終日(例の場合31)を取得する方法を教えて下さい。
くだらない質問で申し訳ありません。
400名無しさん@そうだ選挙にいこう:2006/05/09(火) 10:54:25
>>399
ワークシート関数か VBA 関数かわからないんで、考え方だけ。
「翌月の1日(例えば2006/6/1)」を求めて、そこから1日引く。
401名無しさん@そうだ選挙にいこう:2006/05/09(火) 11:36:45
>>400
なるほど、できました。ありがとうございます!
402名無しさん@そうだ選挙にいこう:2006/05/09(火) 12:54:06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

イメージなんですが、A(1+x)みたいに参照先を変える事は出来ないでしょうか?

403名無しさん@そうだ選挙にいこう:2006/05/09(火) 13:10:29
>>402
できます
404389:2006/05/09(火) 13:23:10
お世話になります。
結局、IF関数のネストというやつで対応しました。

=IF(I19="1",
(IF(E20<=F19-H19,-H19*$M$10,
IF(E21<=F19-H19,-H19*$M$10,
IF(E22<=F19-H19,-H19*$M$10,
IF(E23<=F19-H19,-H19*$M$10,
IF(E24<=F19-H19,-H19*$M$10,
"未売却")
)
)
)
)
),"")

しかし、今は、E20〜E25 までが参照対象なので
いいのですが、
今後、E20〜E300とか参照する必要がある場合、
どんどんIF文をだらだら追加しなければなりません。
今後そうなりそうなので困っております。

お知恵を頂けると幸いです。 m(_ _)m
405名無しさん@そうだ選挙にいこう:2006/05/09(火) 13:29:52
>>404
IFはそんなにたくさんネストできないからね
406名無しさん@そうだ選挙にいこう:2006/05/09(火) 14:14:43
VBA覚えたほうが早いと思う
407389:2006/05/09(火) 14:23:09
>>405
ヽ(ヽ´Д`)ヒイィィィ!! マジッすかぁ
>>406
でしょうか・・・ orz
408名無しさん@そうだ選挙にいこう:2006/05/09(火) 14:28:06
>>398
VBAを使わないのであれば、一発で出そうとせず
別の列に=Fn-Hnを計算し、それを判別する。
409名無しさん@そうだ選挙にいこう:2006/05/09(火) 16:43:52
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか   】いいえ
【4 VBAでの回答の可否】 いいえ

あああ
いいい
いいい
ううう
ううう
ううう
えええ

上記のようなデータがあるとして、
数値が変わる境目で罫線を引いて見やすくしたいのですが
どうすればよいのでしょう。
(上記のデータならば1.3.6.7行目に)
宜しくお願いいたします。

410名無しさん@そうだ選挙にいこう:2006/05/09(火) 16:45:32
>>404
というか、「どこ」に「なに」を表示したいの?
「あるセル」(固定)に「売るべき日」を表示したいのか
「売るべき日のセル」(可変)に「ここで売れ」と表示したいのか
とかさっぱりわからん
411名無しさん@そうだ選挙にいこう:2006/05/09(火) 16:50:46
>>409
列全体を選択して条件付き書式
数式で=NOT(A1=A2)
書式で下罫線を選択
412名無しさん@そうだ選挙にいこう:2006/05/09(火) 16:51:20
>>409
本スレでおなじみの「条件付書式」でどうぞ
413409:2006/05/09(火) 17:02:35
ありがとうございました!
解決致しました!
414389:2006/05/09(火) 18:24:07

>>408
別の列を使ってみます
>>410
設計を見直してみます ><;
415名無しさん@そうだ選挙にいこう:2006/05/09(火) 20:21:43
設計w
416名無しさん@そうだ選挙にいこう:2006/05/09(火) 20:48:29
Excelでグラフの書式ってコピー&ペーストすることはできないのでしょうか?
複数のグラフを作成するときに、一番最初に作ったグラフに設定した書式をコピーして
使いまわせたらなと思うのですが。

Excelのバージョンは2003です。
VBAでの回答は不可でお願いします。
417名無しさん@そうだ選挙にいこう:2006/05/09(火) 20:59:24
Excelで行が700行ぐらいある表があります。
1行にひとつの商品についての品番コードや単価などが入力されています。
その表が2つあり、一つは旧リストで、もうひとつは新リストです。
旧リストと新リストとで、品番を基準に、どの項目(列)が内容が変更になっているか調べたりするのには
どの関数を使って、どうやって調べるのがいいでしょうか?
アドバイスお願いします。

例)

    品番   品名    区分  ラベル  単価   量   重さ
1  675498  ○○○  AB8976  001  45.67   300  1300
2
3

700

といった感じです。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 関数 照合
418名無しさん@そうだ選挙にいこう:2006/05/09(火) 21:04:47
ちょっと前に同じ質問があったね
なにかの問題なの?
419名無しさん@そうだ選挙にいこう:2006/05/09(火) 21:05:31
>387 >392
再計算が必要な関数は使ってないんですけどねぇ....
一度ワークシート内を全部検索してみます。
ありがとうございました。
420名無しさん@そうだ選挙にいこう:2006/05/09(火) 21:11:54
>>416
グラフのユーザー定義のあたりを調べてごらん。
書式(?)を登録できるよ。
421416:2006/05/09(火) 21:16:21
>>420
ありがとうございます(・∀・) !!確認してみます。
422416:2006/05/09(火) 22:05:02
>>420
すみません・・・
やっぱりユーザ定義では、書式は登録できませんでした。
わたしのいうところの書式とは、グラフの種類だけでなく、円錐を使った場合は、その角度や
グラブの棒やプロットエリアに設定した色やグラデーションもすべて含めてもしくは
エリアごとに分けてでも、書式のコピー&ペーストができないものかというつもりでした。
423名無しさん@そうだ選挙にいこう:2006/05/09(火) 23:39:22
コピー、ペーストは知らんが
そのグラフをデフォルトにしてグラフを作り続ければ良いんでないの?
424名無しさん@そうだ選挙にいこう:2006/05/09(火) 23:47:56
>>416
確かグラフをコピーして、貼り付け先のグラフを選択して、
編集-形式を選択して貼り付けだかで、「形式」(だったかな?)とか選ぶとコピーできなかったっけな?
425名無しさん@そうだ選挙にいこう:2006/05/10(水) 00:08:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 文字列操作 日付/時刻


 月│日│時│分│秒│月/日 時:分:秒│
 4 │13│.1..│.0.│.0..│ 4/13 1:00:00 │
 5 │ 3│13│33│45│ 5/3 13:33:45 │

月 日 時 分 秒 の数値をそれぞれセルに入力して、最後のセルで
「月/日 時:分:秒」と表示させる方法があったら教えて下さい。
426名無しさん@そうだ選挙にいこう:2006/05/10(水) 00:22:25
>>425
DATE+TIME
427416:2006/05/10(水) 01:13:05
何度もすみません・・・

ユーザー定義のところで書式も(色やグラデーションも)一緒に登録できました・・・。
>>423
きっとユーザー定義のところことを仰ってるんですよね。
>>424
わたしのやり方が間違っていたのかもしれませんが、試してみたら、形式を選択して貼り付け
みたいな感じのは出ませんでした。

どうもご迷惑おかけしました。
428名無しさん@そうだ選挙にいこう:2006/05/10(水) 07:20:22
>>417
VLOOKUPあたりで出来る。
調べた結果をどう表示したいのか書いてないが、
関数でってことは別シートにでも出すつもりなんだろうから。
429名無しさん@そうだ選挙にいこう:2006/05/10(水) 11:24:38
>>425
最後のセルのデータ形式はどうするの?文字orシリアル値(連続番号)
文字なら =A&"/"&B&" "&C&":"&D&":"&E
シリアル値なら>>426

430名無しさん@そうだ選挙にいこう:2006/05/10(水) 13:49:22
「折り返して全体を表示する」
を設定すると、入力画面上ではセル内の文字が全て表示される。
ところがプレビュー画面では確認できても、これを印刷すると切れてしまう。

プレビュー画面で表示されたのに印刷すると切れてしまう文字を
正しく印刷させるためには、
・セルの高さ、幅を変更するときの「←|→」の「|」の上でクリック
すると正しく印刷するようにセルの高さ(あるいは幅)を自動調整してくれる。

しかしこれだとセルのサイズがフルに大きくされてしまい、レイアウト的に
希望と違うものとなってしまう。

セル内で改行したいときは
・改行したい行の最後の文字の後で「alt-Enter」する
ってのは知っているんだけど、これだといちいち改行設定しなければならず
また微妙に数文字分サイズを変更したいときには、再び全行で設定
しなおさなければならず、きわめて非効率である。

そこで質問ですが、セル内に自由に文章を記入し、セルサイズをユーザーの
希望で設定し、そしてセル内の文章を自動で折り返し表示させ、切れることなく
印刷するにはどうすればよいでしょうか?

またセル内で行間を開けて(行間サイズを設定して)表示する方法は無いですか?
(「alt-Enter space」では無くて)
431名無しさん@そうだ選挙にいこう:2006/05/10(水) 13:57:20
>>430
無いよ。wordとかでやってね。Excelは印刷駄目なんだよ。
432名無しさん@そうだ選挙にいこう:2006/05/10(水) 14:09:52
>>431
どうもです。
やっぱり無いですか?原稿がEXCELで入るので、コピペミスを出さないように
そのままEXCELで使いたかったんですが・・・
433名無しさん@そうだ選挙にいこう:2006/05/10(水) 15:50:54
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 テキスト text 出力 ファイル 1行

エクセルのセル内のデータを1行ごとに結合してテキスト形式に出力を行いたいのですがうまくいきません。
上記のキーワードで検索をかけて作成した構文を以下のように作成したのですが実際にはファイル保存の
ダイアログを出すことなく自動で上書き保存をかけたいのです。どのようにすればよいでしょうか?

Dim xlAPP As Application   ' Applicationオブジェクト
Dim intFF As Integer     ' FreeFile値

ChDir "A:\"
' Applicationオブジェクト取得
Set xlAPP = Application
' 「名前を付けて保存」のフォームでファイル名の指定を受ける
xlAPP.StatusBar = "出力するファイル名を指定して下さい。"
ファイル名 = xlAPP.GetSaveAsFilename(InitialFileName:="A:\フロッピーに保存する名前", _
FileFilter:=””, Title:=テキストファイル処理)

' FreeFile値の取得(以降この値で入出力する)
intFF = FreeFile

Open ファイル名 For Output As #intFF

Print #intFF, ”結合された文字列”

Close #intFF
434名無しさん@そうだ選挙にいこう:2006/05/10(水) 16:23:14
>>433

Sub Test()
Set fs = CreateObject("scripting.filesystemobject")
Set f1 = fs.createtextfile("A:\ファイル名.txt")

f1.writeline "結合したデータ"

f1.Close
End Sub

でいいんでない?
435名無しさん@そうだ選挙にいこう:2006/05/10(水) 17:43:28
現在エクセル2003を使用しているのですが「OR倫理演算子」の使用方法がわかりません。
ワークシート関数では使い方がわかるのですが、VBAのモジュール内での使用方法が不明です。
グーグルなどで調べてみたのですが使用例なども載っているところがなく困っております。
どなたかわかるかたおられますでしょうか?
436名無しさん@そうだ選挙にいこう:2006/05/10(水) 17:52:32
>>435
ヘルプは見ましたか?

たとえばこんな感じ

If A = A' Or B = B' Then
C = C'
End If
437名無しさん@そうだ選挙にいこう:2006/05/10(水) 17:52:39
>>435
わかるけど>>3・7ね。

OR演算子の仕様はVB準規だから。
というか、ExcelVBAではなくVBの解説探せば腐るほど見つかるわけだが。
438名無しさん@そうだ選挙にいこう:2006/05/10(水) 18:11:08
倫理だお
439名無しさん@そうだ選挙にいこう:2006/05/10(水) 18:42:00
【1 OSの種類     .】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか  .】 いいえ
【4 VBAでの回答の可否】 否

4点q0=(8,0,0),q1=(0,5,0),q2=(10,10,0),q3=(6,0,0)
を制御点とする3次のベジェ曲線、Bスプライン曲線を
それぞれ作図したいのですが、どのようにすれば正しく作図できるでしょうか?
エクセルを使って2次(zが0なので)のグラフを作成したのですが。
それと、パラメータtを少なくとも0.1刻みで変化させて曲線をプロットする、
という条件もあるのですが…。
440名無しさん@そうだ選挙にいこう:2006/05/10(水) 20:46:20
【1 OSの種類     .】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか  .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 \  表示形式 金額 条件付き書式

計算後の合計金額を各桁ごとに振り分けて表示しているのですが、
わからなくなってしまいました。

桁は各セルに百万、拾万、万、千、百、十、一とあり、
セルJ20に出た合計金額から、
以下のような式を入れて、
それぞれの桁のセルに該当数値を入れています。

(これは万の位です)
=ROUNDDOWN(RIGHT(J20,5)/10000,0)

ここまではうまくいったのですが、
金額の合計額が2万円ならば、
拾万のセルに¥マークを、
3千円ならば万のセルに¥マークを付ける事は可能でしょうか?

if文を使うような気もしますが、
どう指定していいかがわかりません・・・

それから、同じく該当桁に数値が入らない場合、0を表示させたくないのですが、
これも可能でしょうか?
(現在は一番上の百万の位のみ、
表示形式をユーザー指定#で表示しないようにしてますが、
他の桁は0と表示する場合もありますので、手動で0を消しています。)

長くなりましたが、よろしくお願いします。
441名無しさん@そうだ選挙にいこう:2006/05/10(水) 21:32:42
>>440
lenで文字数をカウントしてそれ以下なら\を入力でいいんじゃないの
=if(len(j20)>5,MID(RIGHT(j20,5),1,1),"\")

442名無しさん@そうだ選挙にいこう:2006/05/10(水) 23:02:44
>>440
最大で¥記号を含めて8文字として
=MID(REPT(" ",7-LEN($J$20))&"¥"&$J$20,ほげ,1)
「ほげ」の部分は何文字目かを指定する
443名無しさん@そうだ選挙にいこう:2006/05/11(木) 10:05:32
【1 OSの種類     .】 Windows2000
【2 Excelのバージョン】 Excel2002
【3 VBAが使えるか  .】 いいえ
【4 VBAでの回答の可否】 否

○○○*2
○は任意の式だと理解して下さい、絶対参照にしてあります。
この式の"×2"の数字の"2"を増分2ずつ横にコピーしたいのですが
何か良い方法がありますか?

縦にもコピーしたいのですが
縦の場合には"×2"を任意のセル記号に変えて( 例えばGG2 ) コピーし
置換処理でセル記号を"×"に戻してやればいいかなと思っています。

444名無しさん@そうだ選挙にいこう:2006/05/11(木) 10:19:29
>>443
理解するのメンドウ、完成形の例題書いて!
それとセル記号って何?
445名無しさん@そうだ選挙にいこう:2006/05/11(木) 10:32:18
現在文字列置き換えの関数「Replace」を使用して置き換えをしているのですが、どうやらこの関数は
VB6基準では使えるのですがVB5では使用できないみたいなのです。

そこで過去のエクセルのVBAのバージョンの一覧の様なものが載っているサイトなど知っていれば
お教えください。「VBA バージョン エクセル 」等で検索はしたものの該当のサイトは検索できませんでした。
検索方法がだめなのかもなのですが・・・。
446443:2006/05/11(木) 11:08:15
>>444
失礼しました。

( ○○*2 )*( ○○*2 )
↑この式を横方向に

( ○○*2 )*( ○○*2 ) ( ○○*4 )*( ○○*4 ) ( ○○*6 )*( ○○*6 ) ( ○○*8 )*( ○○*8 )
↑こうなるように増分2でコピーしたいのですが

通常はオートフィルでは"*2"等は数値が増えてくれませんよね。
これをどうにか出来ないかな?と思いまして
447名無しさん@そうだ選挙にいこう:2006/05/11(木) 11:14:58
>>443
増分1の別のセルを参照*2するのはどう?
448名無しさん@そうだ選挙にいこう:2006/05/11(木) 11:31:46
>>443
COLUMN関数
ROW関数
449名無しさん@そうだ選挙にいこう:2006/05/11(木) 11:42:07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 できれば否

セルA1には数式が入っており,他のセルの値によって
数値(例:1,0.85など)又は,エラー値(#NUM!)が返ってきます.

で,エラー値が返ってきたときにはセルA1の値を"0"にしたいのですが,
if文を使って,
=if("数式"=#NUM!,0,"数式")

とやってみたのですが,うまくいきません.
どのようにしたらよいのでしょうか.
450名無しさん@そうだ選挙にいこう:2006/05/11(木) 11:45:08
>>449
ISERROR
451名無しさん@そうだ選挙にいこう:2006/05/11(木) 12:00:56
>>449
ISNUMBER
452名無しさん@そうだ選挙にいこう:2006/05/11(木) 12:39:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

lotus1-2-3のファイルをエクセルで開きたいのですが、
状況としては、拡張子が
「.123」→エクセルで開けない
「.wk4]→エクセルで開ける

拡張子が「.123」のファイルをエクセルで開く方法はありますか?
453名無しさん@そうだ選挙にいこう:2006/05/11(木) 12:46:46
>>452
OpenOfficeで開けるみたいだからOpenOfficeで開いてExcelで開ける形式で保存し直すとか
454名無しさん@そうだ選挙にいこう:2006/05/11(木) 13:46:06
>>453
できました!!
ありがとうございます!!
455名無しさん@そうだ選挙にいこう:2006/05/11(木) 14:14:21
例えばA1のセルに開始時間として18:00、A2のセルに終了時間として19:30
この開始から終了までのの時間数を計算して
A3のセルに表示したいんですが、1:30ではなく1.5と表示したいんです。
つまり6分=0.1、30分=0.5、1時間なら1という感じで表示されるように
計算したいんですがどうすればいいでしょうか?
ウィンドウズXPホームエディション
マイクロソフトエクセル?よくわからないんですが2年くらい前のだと思います
すいませんVBAというのがよくわからないので
もしわかるかたがいたら
456預言者:2006/05/11(木) 14:19:31
時待たずしてルール信者がやってくるであろう
457名無しさん@そうだ選挙にいこう:2006/05/11(木) 14:22:50
455ですルールがよくわからないので質問おかしかったらすいません、
VBAはよくわからないので否でお願いします。
458448:2006/05/11(木) 14:24:22
>>450
>>451
いけました.ありがとうございます.
459名無しさん@そうだ選挙にいこう:2006/05/11(木) 14:25:33
>>455
A3=(A2-A1)*24
表示形式を標準に
460名無しさん@そうだ選挙にいこう:2006/05/11(木) 14:27:14
>>455
A3の表示形式を数値とかにして
=(A2-A1)/"1:00"
でいいんじゃね?
461名無しさん@そうだ選挙にいこう:2006/05/11(木) 14:29:48
>>455
=HOUR(A2-A1)+MINUTE(A2-A1)/60
でもいける
462名無しさん@そうだ選挙にいこう:2006/05/11(木) 14:34:46
459さんありがとうございます
試してみたんですが0:00になってしまいます・・・
463名無しさん@そうだ選挙にいこう:2006/05/11(木) 14:36:36
459さんありがとうございました。
表示形式標準にしたらできました
459,460,461さんどうもありがとうございました。
464名無しさん@そうだ選挙にいこう:2006/05/11(木) 14:49:13
455です、度々すいません
例えば21:00から翌日6:00でその間を同じように計算すると
9とでてほしいところが-15とでてしまいます。
0:00をまたいでしまうからでしょうか?
これもうまくできるようだったら教えて下さい。
よろしくお願いします。
465名無しさん@そうだ選挙にいこう:2006/05/11(木) 14:59:43
24時間以上を扱わないなら
=MOD(1+A2-A1,1)*24
466名無しさん@そうだ選挙にいこう:2006/05/11(木) 15:13:39
465さんありがとうございます。
今職場のみんなで感激してます。
ありがとうございました!!
467おっかしいなー:2006/05/11(木) 15:27:53
「Do Until〜Loop」のなかにもうひとつ「Do Until〜Loop」を入れても動くと思ったんですが、
Do Until
Do Until

Loop
Loop

Do-LoopのなかにDo-Loopがあると内側のDo-Loopがスルーされるなんてことないですか?

Excel2000です。
468名無しさん@そうだ選挙にいこう:2006/05/11(木) 15:31:02
コード示せ
469名無しさん@そうだ選挙にいこう:2006/05/11(木) 16:01:31
Untilの条件式が最初からTrueなら当然無視される。
これは内側(2つ目)も外側(1つ目)も関係ない当然の動作。
そうでなければ無視されない。
470467:2006/05/11(木) 16:07:41
>>468-469
ありがとん。
コード膨大なのでいくつからわけても数十回書き込みしないといけないみたい。
印刷してにらめっこしてみます。
解決しなかったらコート゛縮めてもいちど質問します。
471名無しさん@そうだ選挙にいこう:2006/05/11(木) 17:06:03
マクロ解除、シート保護解除で
sheet("基本")のRange("E51")に

おまけ:base64->txt 2回
YTJWcGMybHVlbUZwYlhWemFYTmhiZz09====
これを漢字で
−−−−−−−−−−−−−−−−−−−−−−−−−−

知人が書いていたモノですが、
全く意味が解りません。
解説おながいします
472名無しさん@そうだ選挙にいこう:2006/05/11(木) 17:15:03
ここ最近PC不良で先ほどやっと復活しました。いろいろとご指導ありがとうございました。
>>マクロ解除、シート保護解除でsheet("基本")のRange("E51")に
EXCELのメニューが非表示となっておりマクロ解除の項目が出てきませんでした。
>>おまけ:base64->txt 2回YTJWcGMybHVlbUZwYlhWemFYTmhiZz09====これを漢字で
もう少し解りやすくお願いいたします。m(_ _)m
473けじらみ:2006/05/11(木) 17:16:03
koko de kiku?
474名無しさん@そうだ選挙にいこう:2006/05/11(木) 17:20:44
>>471-472
知人に解説して貰ってください。
連絡取れないとか教えてくれないとか後付けの苦しい言い訳はしないように。

他の人も簡単な質問だからといって、嬉々として答えないように。
聞くべき相手と場というのはわきまえてもらわにゃならんからな。
475440:2006/05/11(木) 17:43:22
返事遅くなってすみません。
早速回答していただいた
>>441さん、>>442さんありがとうございました。

いろいろ試してみた結果、>>442さんの式を使わせていただきました。

最初合計金額の消費税の切り捨てをしてなくて、
変な数値になってしまいましたが、
それを直したら、綺麗に完成できました!

今回はありがとうございました。
476名無しさん@そうだ選挙にいこう:2006/05/11(木) 18:52:48
>>474
勝手に仕切るなよ馬鹿。
答えたい人間が答えるのは勝手だろ。
477名無しさん@そうだ選挙にいこう:2006/05/11(木) 19:06:14
>>476=471-472
自己防衛のつもりか

>知人が書いていたモノですが
他人のデータパクってんじゃないの
478名無しさん@そうだ選挙にいこう:2006/05/11(木) 19:11:12
>476,477
雑談スレからのコピペに熱くなるなよ
ただのマルチか、それを装ったモノマネ厨だよ
479名無しさん@そうだ選挙にいこう:2006/05/11(木) 22:15:54
>>471
base64二回って答えだよ
480名無しさん@そうだ選挙にいこう:2006/05/11(木) 23:30:47
入力規則のリストを使ったセルにリスト以外の文字を打つ方法ってありますか?
481名無しさん@そうだ選挙にいこう:2006/05/11(木) 23:38:40
>>480
エラーメッセージのチェックをはずす
482名無しさん@そうだ選挙にいこう:2006/05/11(木) 23:47:25
>481
ありがとうー
483425:2006/05/12(金) 00:44:00
>>426
>>429

どもども。
実用にはちょっと改良(?)が必要なんですが、参考になりました。
ありがとうございました。
484名無しさん@そうだ選挙にいこう:2006/05/12(金) 11:34:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

単純な質問なのですが、たとえば複数の関数を使って値を表示させたいのですが
どうすればよいのでしょうか?
&を使うと値が2個つながって出てしまうし、+だと#valueと出ます。
単純に式を2つつなげたいだけです。よろしくお願いします。
485名無しさん@そうだ選挙にいこう:2006/05/12(金) 11:36:24
&" "&
ではだめなのか?
486名無しさん@そうだ選挙にいこう:2006/05/12(金) 11:38:24
>>484
式を2つつなげたいの意味が分からん。
足し算がしたいのか?
487名無しさん@そうだ選挙にいこう:2006/05/12(金) 11:38:46
>>484
具体的に
488名無しさん@そうだ選挙にいこう:2006/05/12(金) 11:40:23
>>484
ネストするとか
489名無しさん@そうだ選挙にいこう:2006/05/12(金) 11:54:58
>>484
文字列表示する
490484:2006/05/12(金) 12:26:12
ごめんなさい。自己解決。
if関数で条件分岐させました。

よろしければもう一つ。

データの入力規則で新規に値が入力された場合、自動的にリストに追加させることは
出来ないでしょうか?
491名無しさん@そうだ選挙にいこう:2006/05/12(金) 13:37:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

すみません何もないとき何もしないは
IF("",""でわかるのですが
ある場合は
IF(d10=not(""),
でしょうか?
条件付き書式に入力したいのですがうまく動かない。
492名無しさん@そうだ選挙にいこう:2006/05/12(金) 13:47:51
>>491
何をしたいのか意味がわからん、日本語で質問してくれ
493名無しさん@そうだ選挙にいこう:2006/05/12(金) 13:57:06
>>491
=IF(D10<>"","正","誤")
494名無しさん@そうだ選挙にいこう:2006/05/12(金) 13:59:58
変数のデータ型定義で教えてください。自然数のおっきい数字なんですが、
Integerでも足りず、Longでもまだまだ足りません。
国家予算よりも大きい数百兆円のような桁の数字なんですが、どう定義したら
オーバーフローしないでしょうか?
小数点以下はありません。負の数字もありません。正の整数のおっきい数字です。
よろしくお願いします。
495494:2006/05/12(金) 14:11:48
自己解決しました。Variantっていうのにしたらエラーなくなりました。
496491:2006/05/12(金) 17:13:58
すみません。わかりずらくて。

こういう事をしたいのですが頭がこんがらがって、、、、

条件付き書式でセルの色を変えます。

1.条件はC列に何も入力されていない場合は何もしない

2.C列に入力されていたらここのセルに値が入力されていない場合色をつけるというのです。

ただし、条件付き書式はすでに2つ使ってありますので1つだけしか使えない。

よろしくお願いします。
497491:2006/05/12(金) 17:27:47
今までは2個使って動かしていたのですが、
他の条件が増え1つしか使えなくなったのです、、、
498名無しさん@そうだ選挙にいこう:2006/05/12(金) 17:36:13
>>496
その条件を普通に条件式にしましょう。
条件付き書式1つで充分ですから。
499名無しさん@そうだ選挙にいこう:2006/05/12(金) 17:43:08
>>496
わかりずらいと言って行間を空けるのはチョットね!

ISBLANK,NOT等の関数を調べてみてはどうですか
500名無しさん@そうだ選挙にいこう:2006/05/12(金) 18:16:17
>>496
「C列に入力されていたら」と「ここのセルに値が入力されていない場合」で
ANDを使えばいい
501484:2006/05/12(金) 21:23:35
やはり追加では回答がないですか。

データの入力規則で新規に値が入力された場合、自動的にリストに追加させることは
出来ないでしょうか?

という質問でしたがvbaしかないのかなぁ??
502491:2006/05/12(金) 21:25:03
500さん
ありがとうです!!
できました。でも、論理的にさっぱり・・・・orz
503名無しさん@そうだ選挙にいこう:2006/05/12(金) 21:59:32
>>501
VBAしか無いけど、VBAなら過去ログに回答あるので必要なら自分で漁れ
504501:2006/05/12(金) 22:51:34
漁ってみたが、見つからない。
ヒントだけでもお願いします。
このスレッドにないのであれば探せませんが、、、
505名無しさん@そうだ選挙にいこう:2006/05/12(金) 23:36:51
過去ログなんだからこのスレじゃないでしょ。
このスレ内だったら「スレ内検索しろ」で終わるし。
ちなみにhtml化されてない過去ログは、●もってないなら
にくちゃんねるとかで見れるから。

つまり
 ヒント:にくちゃんねる
ってとこか。

専ブラのログ検索やWebブラのページ検索使えば全て1〜1000まで
全て読み返す必要なんて無いんだからあとは自分で探そうね。
506ありんこ:2006/05/12(金) 23:59:56
ピボットテーブルでマイナス数値とプラス数値のデータ集計ってどうやったらできるか誰かご存じないですか?
507名無しさん@そうだ選挙にいこう:2006/05/13(土) 02:31:34
>>490
範囲を大きめに取っておけば?
データが重複の場合はリストに含めないとかならややこしいけれど。
VBAならこんな感じか?

Private Sub Worksheet_Change(ByVal Target As Range)
Range("A1:A25").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"c30:c55 "), Unique:=True
End Sub

A1:A25が入力エリア
C30:C55が入力規則のリストの参照エリア
508名無しさん@そうだ選挙にいこう:2006/05/13(土) 11:26:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可

 ファイル名をあるセルが変更されたらダイアログを出して保存させたいのですが
うまくいかないのです。

A7セルの値が変更されたらファイル名をA7&(O3)とし
ダイアログを表示させたいのですが、できない
お願いします。
509名無しさん@そうだ選挙にいこう:2006/05/13(土) 11:57:55
>>508
自分では何もせずあわよくばVBAコードを書いてもらい楽しよう
って考え、オレ好きだよ。でわどうぞ、、、

Sub ExcelDialogSaveAs(FirstPath As String, SaveType As Integer)
Application.Dialogs(xlDialogSaveAs).Show(FirstPath, SaveType)
If ActiveWorkbook.Saved = False Then
ActiveWorkbook.Save
End If
ActiveWorkbook.Close
End Sub

Showメソッドの構文は「Show(arg1, arg2, ..., arg30)で、
引数arg(n)に値を設定して初期表示される内容を変更して。
510508:2006/05/13(土) 12:30:57
>>509
ごめんなさい。せっかく書いてもらったのですが良くわからない。。。

私は
If Target.Address(0, 0) = "A7" And Target.Text <> ""
Then ActiveWorkbook.SaveAs Filename:=Target.Text & "()"



Dim fname As Variant
If Target.Address(0, 0) = "A7" And Target.Text <> "" Then
fname = Target.Text & "( )"
Application.Dialogs(xlDialogSaveAs).Show

とか変えてみたのですが、だめみたい、、、
変更お願いします。
511名無しさん@そうだ選挙にいこう:2006/05/13(土) 12:49:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ(vbaでないと無理?)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 罫線 format cells


 |A |B│/|/│赤│ |    ←/は斜め罫線
 |A │B│/ |/│赤| │
 |A │B│/│/│赤│ │    ←赤はセルの色
 | |     ←結合化セル
| A  |B|/|/|赤 | |


という表の入力値を
|A |B│/|/│赤│ |

という見出しを作り差分が合ったところを知りたいのですが
関数では値のみしかチェックできない?
斜め罫線やセルの色もチェックしたいのです。また途中に何も入力されてない結合化セルがあります。
ほぼ、上記セルと一緒なのでコピーで出来るはずなのですが、先日おかしい値があったと、、、、
3人でチェックしたのですが見つからない??
嫌がらせ?それなので完璧マクロで発見しようと思ったわけです。

長文、および愚痴すみません。
よろしくお願いします。
512511:2006/05/13(土) 12:51:12
|A |B│/|/│赤│ |    ←/は斜め罫線
 |A │B│/ |/│赤| │
 |A │B│/│/│赤│ │    ←赤はセルの色
 |              |     ←結合化セル
| A  |B|/|/|赤 | |


こうです。へたくそすみません。
513名無しさん@そうだ選挙にいこう:2006/05/13(土) 13:05:31
>>511 
意味不明

>関数では値のみしかチェックできない?
そんなことはない
514名無しさん@そうだ選挙にいこう:2006/05/13(土) 13:50:25
>>511
きちんと質問の形になった日本語で書かないと意味が分からんよ。
差分て何と何の差分?差分が合うって?
「結合化セル」じゃなくて「結合セル」と言った方がいいね。
「先日おかしい値があったと、、、、」省略せずに最後まで書いて下さい。
「嫌がらせ?」ってどういう意味?誰かに嫌がらせされたって事?
「完璧マクロ」って、自分で意味分かってる?
515511:2006/05/13(土) 18:38:51
わかりずらくすみません。

単純に

先のような表があり
たとえば10の行を切り取ります。

その切り取った列を参考に11行〜下の列を較べていくのです。
それで違っているところをどうにか表示したいのです。
内容はセルの値、罫線、セルの色です。フォントの色、種類は問いません。
ただし空白セルは飛ばします。

以上です。
516508:2006/05/13(土) 19:03:55
If Target.Address(0, 0) = "A7" And Target.Text <> ""
Then ActiveWorkbook.SaveAs Filename:=Target.Text & "()"

にくっつけて

Dim fname As Variant
If Target.Address(0, 0) = "A7" And Target.Text <> "" Then
fname = Target.Text & "( )"
Application.Dialogs(xlDialogSaveAs).Show

ファイル保存のダイアログいまだに悩んでおります。
だれかうまく動かしてください。

下の方に変えると保存名は()だけになってしまう。
どうすれば??
517名無しさん@そうだ選挙にいこう:2006/05/13(土) 19:27:40
fname = Range("A7").Text & "( )"
Application.Dialogs(xlDialogSaveAs).Show fname
518508:2006/05/13(土) 19:43:11
 ありがとうございます。
ただ寸前の差で出来てしまった。少し違うけど。

ありがとうございました。
519名無しさん@そうだ選挙にいこう:2006/05/13(土) 20:39:20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可

A列である値があったらその行のR列の値を足していって

トータールの値を出したいのですがどうすれば?

vlookup?find?countif?
520名無しさん@そうだ選挙にいこう:2006/05/13(土) 20:40:33
>>519
if
521名無しさん@そうだ選挙にいこう:2006/05/13(土) 21:01:47
>>515
以下のマクロを入力して
=GetXXX(知りたいセル)
とすればそのセルの斜め罫線と色の情報が文字列で読み出せる
その文字列を比較すればOK

続く
522名無しさん@そうだ選挙にいこう:2006/05/13(土) 21:02:32
Function GetXXX(a As Range)
Dim s As String
Dim c As Range
Dim i As Variant
Dim r(1) As Integer
r(0) = xlDiagonalDown
r(1) = xlDiagonalUp
s = ""
For Each c In a
s = s & "*"
For Each i In r
s = s & "("
With c.Borders(i)
s = s & Hex$(.Color)
s = s & "," & .Weight
s = s & "," & .LineStyle
End With
s = s & ")"
Next
s = s & "("
With c.Interior
s = s & Hex$(.Color)
s = s & "," & .Pattern
End With
s = s & ")"
Next
GetXXX = s
End Function
523名無しさん@そうだ選挙にいこう:2006/05/13(土) 21:52:00
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 マクロの記録程度なら・・・
【4 VBAでの回答の可否】 複雑なものは不可

同じ内容のシートが32有ります。
シート名が、
マスター、1日、2日、3日・・・・31日となっております。

何とかして、年度は、2006。月は5のように指定する事で、
1日〜31日シートのA1セルに2006/5/1〜2006/5/31を入れたい。

年度と月の指定は別のシートを使用しても、ユーザーフォームでも良いと思いますが、
ユーザーフォームに入力した値をVBAで取得する方法も難しいです。

知恵をかしてください!
524名無しさん@そうだ選挙にいこう:2006/05/13(土) 22:05:22
>>523
別のシートに書いた年月を参照していいなら、ワークシート関数のDATEだけで済みます
525523:2006/05/13(土) 22:24:31
早速の回答、有難うございます!
今日明日位で努力してみます。
分からなかったら再質問します。
ヨロシクお願い致します!
526名無しさん@そうだ選挙にいこう:2006/05/13(土) 22:30:26
セルに一日しか入れさせたくないのですがどうすればいいのでしょう。
dayを他の日にちにするとエラー表示させたいのですが。
入力規則でしたいのですが文がどうすればいいのかさっぱりです。
not(day(1))とかやってみたのですがよく仕組みがわかりません。

よろしくです。
527名無しさん@そうだ選挙にいこう:2006/05/13(土) 22:47:17
Excel以前に表計算というものを理解してない悪寒
528名無しさん@そうだ選挙にいこう:2006/05/13(土) 22:47:45
>>526
入力規則をリストにしたら?
529名無しさん@そうだ選挙にいこう:2006/05/14(日) 05:17:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ブックの中に張り巡らせた数式を、一発で数字(値)に直すやり方はありませんか?
ブックはたくさんあり、しかもページも多く、一ページごとに無効化するのは結構大変です。
リンク貼ったまま提出すると不都合なんです。
530名無しさん@そうだ選挙にいこう:2006/05/14(日) 05:23:48
VBA否なら、「コピー→張り付け(値)」が一番速い方法。
操作を自動化する手段があるのに、それを自ら拒否してるんだから大変なのは仕方ないな。
531名無しさん@そうだ選挙にいこう:2006/05/14(日) 05:52:10
>>530
THX

VBA以外に方法はなしか。敷居高いなぁ。
エクセルはなんとなく使えてここまで来たけど、VBAは、どこらへんから手をつけていいか分からない。
ちゃんと習ういい機会かもしれん
532名無しさん@そうだ選挙にいこう:2006/05/14(日) 08:50:18
>529
シート全体を選んで値張り付けがそんなに大変なのかな
仕事の段取りしだいだと思うが、
533名無しさん@そうだ選挙にいこう:2006/05/14(日) 11:45:54
コントロールボタンでつまづいています。

For i = 1 To 6
With Controls("CommandButton" & i)
.Caption = KoumokuMeishou
End With
Next i

「subまたはfunctionが定義されていません」でControlsのところが黄色くなります。
機能させるにはどうしたらよいのでしょうか?
よろしくお願いします。
534名無しさん@そうだ選挙にいこう:2006/05/14(日) 12:58:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

ヘッダーに書いてある内容を同じファイル内の全てのシートにリンクさせる事はできますか?
何処か一箇所を変えると他も一緒に変わってくれると大変助かるのですが・・・
セル内でのやり方はわかるのですがヘッダーで同じ事もできるのでは?と思いまして。
よろしくお願いします。
535名無しさん@そうだ選挙にいこう:2006/05/14(日) 13:05:32
>>529
Ctrl+A,Ctrl+C,Alt+E,S,Vをブック×シート数だけ繰り返せばいいだけだから
大変といっても高がしれてるような気がするけど。
この部分だけでも「マクロの記録」で登録してもいいしね。
536d:2006/05/14(日) 13:22:20
>>533
>With Controls("CommandButton" & i)
With Me.Controls("CommandButton" & i)
でいかがでしょうか。^^
537名無しさん@そうだ選挙にいこう:2006/05/14(日) 13:55:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

15日経過する事に荷物一つにつき200円プラスして
荷物の出し入れも考えれるコインロッカーみたいな計算式を作りたいんですがうまくできません
IF関数とか使えばいいんですかね?
よろしくお願いします。
538名無しさん@そうだ選挙にいこう:2006/05/14(日) 14:01:04
>>537
割り算と掛け算と切り捨てだとおもう
539名無しさん@そうだ選挙にいこう:2006/05/14(日) 14:07:49
>>538
えっと。。。具体的にお願いできますか?
無知ですみません・・
540名無しさん@そうだ選挙にいこう:2006/05/14(日) 14:12:54
?? 経過日数を15で割って小数点以下切捨てして200かけるだけじゃ駄目なのか?
541名無しさん@そうだ選挙にいこう:2006/05/14(日) 14:16:00
>>540
最初の14日無料ならいいと思う。
542名無しさん@そうだ選挙にいこう:2006/05/14(日) 14:34:55
>>540
そうゆうことですか!
ありがとうございます 無事解決しました。
543名無しさん@そうだ選挙にいこう:2006/05/14(日) 14:36:10
>>530
>>532
>>535

どうもです、いつか 必ずやってくるであろうと思っていた、「VBAを勉強する日」は、実は今日だったようです。
ちょっといじってみるか・・・のつもりが、意外に面白く、特に急ぎでもない仕事を遠回りしながら徹夜しました。
「初めてで、参考書も何もなしで、ここまでやるとは、自分の才能が怖(ry」などとは微塵も思ってないけど、
マクロをほんの少し触れたのが嬉しかったです。
仕事自体のペースはサッパリですが。

で、そのページって全部で130ページもあるんですよ。コレを毎月繰り返すくらいなら、リンク貼った意味が無い・・と。
その作業はVBAでも単純作業の繰り返しだから、全然別なマクロ作ってましたけどね。なんか面白くなってきたから。
もう、ど素人なもんで、マクロ名のリネームの仕方が分からなかったり、エラーが出ても原因など分からずまた作り直したりと、
もう無茶苦茶です。
オートSAMとか使えない(基本中の基本なんだろうけど、使わなくてもあまり困らない気がする)
くせにVBA使おうとしてるのが滑稽で・・・

徹夜のヘンなテンションで長々と書きましたが、読まれないなら、最後に一言だけ読んでもらえたら幸いです。


VBAをやるキッカケ作ってもらって、ありがとうございました。寝よう。
544名無しさん@そうだ選挙にいこう:2006/05/14(日) 16:56:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少しだけ
【4 VBAでの回答の可否】 出来れば否
【5 検索キーワード     】 参照 抽出 挿入

契約書、請求書、内訳書等をそれぞれ別のシートに分け、入力用のシート(仮に「入力」シートとします)のデータが、それぞれのシートに反映されるようにしています。
データは三ヶ月ごとに、変更のあった箇所に追加されます。
こちらのFAQにあった通り、INDIRECT関数を使って、行を削除・挿入しても参照するセルが変わらないようには出来ました。
しかしさらに、セルが空白の時は何も表示させないようにすることになり、IF関数を使って見たのですが、今度は参照するセルがずれるようになってしまいました。
作った式は下記の通り。
IF(入力!A1="","",INDIRECT("A1")

どこをいじれば、参照するセルをずらさないように出来るでしょうか。
どなたかご教授ください。
545名無しさん@そうだ選挙にいこう:2006/05/14(日) 17:04:30
常に A1 を参照させたいのだったら、$A$1 にすればよい。
意味はヘルプで「絶対参照」を検索。
546名無しさん@そうだ選挙にいこう:2006/05/14(日) 17:05:45
>>544
はじめのA1と後のA1が同じものを指してほしいなら両方ともINDIRECTにするかしないか統一すれ
547544:2006/05/14(日) 17:15:25
>>545
>>546

レスありがとうございました。
絶対参照は挑戦していたので、546さんの方法で試したら、解決しました。
本当にありがとうございました!
548533:2006/05/14(日) 18:09:04
>>536
ありがとうございます。
しかし今度はメソッド、データメンバが見当たりませんとでてしまいました。
549名無しさん@そうだ選挙にいこう:2006/05/14(日) 20:32:51
そのコントロールボタンは何に属してるの?
550名無しさん@そうだ選挙にいこう:2006/05/14(日) 20:48:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

単純なことなのかもしれませんが教えてください。

例)A1からA100までに数字が並んでいる。
その中から100以上の数値だけ抜き出して
その合計をA101に出したい。

この場合はどんな関数を使ったらいいのでしょうか?
551名無しさん@そうだ選挙にいこう:2006/05/14(日) 20:54:32
>>550
1) B列に論理式で100以上の値を出し、B列範囲の合計をA101に出す
2) 配列数式で論理式の返した値をSUM

配列数式使えないなら1、作業列使いたくないなら2
配列数式使えないけど作業列使いたくないなら、配列数式の使い方を勉強して2
552名無しさん@そうだ選挙にいこう:2006/05/14(日) 20:57:52
>>550
SUMIF使え
553名無しさん@そうだ選挙にいこう:2006/05/14(日) 20:59:30
=SUMIF(A1:A100,">=100",A1:A100)
554名無しさん@そうだ選挙にいこう:2006/05/14(日) 21:13:22
>551-553
ありがとうございました!
555名無しさん@そうだ選挙にいこう:2006/05/14(日) 21:14:26
>551 ガンバ
556名無しさん@そうだ選挙にいこう:2006/05/14(日) 21:31:29
このコードを簡潔な形に書き換えるとどうなるか,教えてください。


if(x>0)or(x<-2))and(x^2<1)then
cells(1,1).value="Yes"
end if
557556:2006/05/14(日) 21:32:55
間違えました、こっちです。
if((x>0) or (x<-2)) and (x^2<1) then
cells(1,1).value="Yes"
end if
558名無しさん@そうだ選挙にいこう:2006/05/14(日) 22:25:42
if x>0 or x<1 then
 cells(1,1).value="Yes"
end if
559名無しさん@そうだ選挙にいこう:2006/05/15(月) 02:56:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 VBを少しだけいじった程度です
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 データ 並び替え ランダム シャッフル

C2 田中
C3 鈴木
C4 佐藤
C5 太田

のように、ある列に何名かの名前が入っているとします。
このデータをランダムに並び替える方法を教えていただけないでしょうか?
目的は、このメンバーの座席表の並び替えです。
別シートに座席表が作ってあって、この名前を参照しています。
データを並び替えることで、席替えをしたいのです。
どうかよろしくお願いいたします。

560名無しさん@そうだ選挙にいこう:2006/05/15(月) 03:06:25
>>559
RANDで値を振ってそれをキーに並べ替え
561名無しさん@そうだ選挙にいこう:2006/05/15(月) 07:27:42
VBAでメールソフトを起動させメール作成したり送受信できますか?
562511:2006/05/15(月) 14:05:44
>>513
>関数では値のみしかチェックできない?
そんなことはない

罫線やセルの色の関数みつかりません。教えてください。

cellでもそのようなパラメータみつからない。
563名無しさん@そうだ選挙にいこう:2006/05/15(月) 15:21:25
お客様まことに残念ですが
罫線やセル色の関数だけがありません
564511:2006/05/15(月) 15:33:06
ってことはやはりvbaか、、、、、、
522のやつやってみたけど動かないんです、、、orz
565名無しさん@そうだ選挙にいこう:2006/05/15(月) 17:08:04
>>561
できるよ。メーラーがOfficeOutlookなら更に簡単。
566511:2006/05/15(月) 17:32:55
ごめんなさい出来ました。
>>521,522 ありがとうございました。
567名無しさん@そうだ選挙にいこう:2006/05/15(月) 17:47:17
【1 OSの種類         .】 Windows XP PS2
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

例えば、Range("A1") = Int(9 * Rnd + 1)として
1から9までの乱数を発生させたいのですが、
いったんExcelを終了して、再度起動すると同じ
ローテーションで乱数が発生します。
毎回ランダムな順番で乱数を発生させるには
どうすればいいでしょうか?
よろしくお願いします。
srandみたいにしたいんです。
568名無しさん@そうだ選挙にいこう:2006/05/15(月) 17:51:52
WindowsXPのPS2ならおれも欲しい
569567:2006/05/15(月) 17:54:41
PS2→SP2  です。
PS3が欲しいです。
570名無しさん@そうだ選挙にいこう:2006/05/15(月) 17:57:51
>>567
引数でローテーションが代わるので、現在の時刻とかをいれてやればいい
Rnd(Now)みたいに
571名無しさん@そうだ選挙にいこう:2006/05/15(月) 17:58:27
>>567
Randomizeを使うのだ
572567:2006/05/15(月) 18:01:52
>>570
>>571
ありがとうございます。
Randomizeを1行入れたら解決しました。
ども。
573名無しさん@そうだ選挙にいこう:2006/05/15(月) 19:07:52
VBにもRandomizeってあったのか
N88を思い出す・・・
574名無しさん@そうだ選挙にいこう:2006/05/15(月) 20:10:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 ちょっと
【4 VBAでの回答の可否】 少可
【5 検索キーワード     】 Excel 連勝数 白星 黒星

例えば○=勝 ×=負として
その日の勝敗を入力していくものとします。
例:
○×○○○×××○○・・・・
(右が新しいデータとします)

で現在の連勝数(この場合2)をカウントすることができるでしょうか?
○と×以外には「休み」もあります、休みは連勝数を遮らない条件とします。
575561:2006/05/15(月) 20:18:38
>>565
そうなんですか!
ありがとうございます
576名無しさん@そうだ選挙にいこう:2006/05/15(月) 20:32:11
 A     B C D E F G H I J K 
1 勝敗    ○ ○ × ○ 休 ○ ○ ○ × ○
2 連勝    1 2 0 1 1 2 3 4 0 1
3 現在の連勝 1 

B2
=IF(B1<>"×",SUM(A2,IF(B1="○",1,0)),)

C2
=LOOKUP(2222,2:2)
577名無しさん@そうだ選挙にいこう:2006/05/15(月) 20:33:07
↑ずれてしまってすみません
578名無しさん@そうだ選挙にいこう:2006/05/15(月) 20:36:57
1行目に○×データがあるとして
A2:=IF(A1="○",1,0)
B2:=IF(B1="×",0,IF(B1="休み",A2,A2+IF(B1="○",1,0)))
C2:B2をコピー
579名無しさん@そうだ選挙にいこう:2006/05/15(月) 20:46:14
VBAプログラミングで無限ループに入っちゃったようなのですが、このままEXCEL2000を
強制終了するとまだ保存していないコードが消えてしまいます。
今回保存するの忘れてました。 orz
強制終了しないでコードを保存するにはどうすればいいですか?
580名無しさん@そうだ選挙にいこう:2006/05/15(月) 22:16:27
コード実行の強制停止をすれば良い。
>>1★1〜4を無視してるので、こっちも具体的な方法は教えないでおく。
空気読めず嬉々として教える子が出てくるかもしれんが。
581名無しさん@そうだ選挙にいこう:2006/05/15(月) 23:02:40
★★ ルール命君のご登場 ★★
582名無しさん@そうだ選挙にいこう:2006/05/15(月) 23:04:28
escキー押しっぱなしだっけ?
583名無しさん@そうだ選挙にいこう:2006/05/15(月) 23:04:43
>>581
お前もなんのかんの言ってルール気にしてるんだなw
584名無しさん@そうだ選挙にいこう:2006/05/15(月) 23:07:25
↑意味不明
585名無しさん@そうだ選挙にいこう:2006/05/15(月) 23:20:42
>>583
可哀想な奴は放っておいてあげよう。
586名無しさん@そうだ選挙にいこう:2006/05/15(月) 23:20:58
>>580みたいに教えないと言いつつ教えてる人って
「俺本当は詳しく知ってるんだよ。知らない訳じゃ無いんだよ」
ってアピールしたいんだろうなあ。
可愛いね(´・ω・`)
587名無しさん@そうだ選挙にいこう:2006/05/15(月) 23:27:31
回答は質問者の方を向いてしろ。みっともねえ。
588名無しさん@そうだ選挙にいこう:2006/05/16(火) 00:22:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 再計算

例として
・セルA1に"1"と入力したらセルB2に"リボン"と表示させるようにしたいと思っております。

セルB2にIF関数を埋め込む方法でなく
セルA1に"1"を入力した直後にマクロが起動し、
マクロプログラムによって"リボン"を記述したいと思っております。
このセルA1への入力がトリガーとなるような仕組みを作りたいのですが
なかなかヒントがつかめません。

どうかお知恵を拝借したいと思います。
よろしくお願いします。
589名無しさん@そうだ選挙にいこう:2006/05/16(火) 00:33:40
>>588
Worksheet_Changeイベントを使用する
590名無しさん@そうだ選挙にいこう:2006/05/16(火) 00:50:09
>>589
まさにこれです。
思い通りの動作を実現することができました。

本当にありがとうございます。
591名無しさん@そうだ選挙にいこう:2006/05/16(火) 05:12:17
586
592574:2006/05/16(火) 09:37:17
576,578さん、ありがとうございました。
593名無しさん@そうだ選挙にいこう:2006/05/16(火) 14:52:10
エクセル2003
ウィンXPです。

VBAで以下の様に記述しました。

Range("G16").Select
ActiveCell.FormulaR1C1 = "=IF(F16="","",SUM(start:end!F62))"


G16のセルに
=IF(F16="","",SUM(start:end!F62))
と入力される予定だったのですが実際には、
=IF('F16'=",",SUM(start:end!'F62'))
の様に不可解な’が入ります。

どうしたもんでしょうか?
594名無しさん@そうだ選挙にいこう:2006/05/16(火) 15:07:58
FormulaでなくFormulaR1C1じゃなきゃだめ?
595名無しさん@そうだ選挙にいこう:2006/05/16(火) 15:10:15
>>593
ダブルクォーテーションを更にダブルクォーテーションで括る
596593:2006/05/16(火) 15:31:06
FormulaR1C1の件は、マクロの記録からコードを書いたので・・・。
結果が同じであれば何でも良いです。
ダブルクォーテーションを更にダブルクォーテーションで括るとは、

Range("G16").Select
ActiveCell.FormulaR1C1 = ""=IF(F16="","",SUM(start:end!F62))""

と言う事でしょうか?
そうすると「構文エラーです」と表示されてフォントが赤くなります。
関数の計算式をVBAでセルに入力するのに特殊な記述法が有るのでしょうか?
597名無しさん@そうだ選挙にいこう:2006/05/16(火) 15:59:41
>>593
Range("G16").Select
ActiveCell.Formula = "=IF(F16="""""","""""",SUM(start:end!F62))"

他に方法があるのかしれないが、私はしらん...
598593:2006/05/16(火) 16:25:02
>597
有難うございます!
何だか分からんが出来ました。

どういう理由でエラーが出ていたのでしょうか?
他のセルにも様々な関数、計算式を入力する様にして有ります。
まったく同じ様式では無いので原因を教えて頂けると自己解決できそうです。
599名無しさん@そうだ選挙にいこう:2006/05/16(火) 16:47:23
式として入力する"は"""と記述すると覚えておけばいいのでは?

なんで?と聞かれてもそういうもんだとしか答えられない
詳しくはMSに聞いとくれ
600593:2006/05/16(火) 17:35:22
Range("C6").Select
ActiveCell.FormulaR1C1 = "=SUM(start:end!B52)"

""の無い上記の場合ではB52の部分が'でかこわれます。
何らかの法則が有るようですので、色々と""で囲ってみましたが・・・。
601名無しさん@そうだ選挙にいこう:2006/05/16(火) 20:09:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

投資系の板から流れてきますた。
現在、エクセルで「価格帯別出来高チャート」を作っています。
http://www7a.biglobe.ne.jp/~sarasa-buu/dekidaka.html

こんなふうに値段の横に同価格帯の累積出来高を表示させたいとトライ
しているのですが・・・

  A  B   C
1日付 出来高 終値 
2○○ ○○○ ○○
3○○ ○○○ ○○
・○○ ○○○ ○○



上記のようにシートを用意してグラフを作ってみたのですが、
値段の折れ線はキチンと表示出来るのですが、横に表示させる
棒グラフが上手く出来ません。
横の棒グラフは行番号に相当する位置にしか表示出来なくて困ってます。
値段と関連付けて累積棒グラフにするにはどうしたらいいのでしょうか。
どうやらSIRIES関数を使うらしいまでは漕ぎつけたのですが、
使い方が分かりません。

どなたかご教授をお願いしますm(_ _)m
602名無しさん@そうだ選挙にいこう:2006/05/16(火) 20:51:36
エクセルで連絡網みたいなものを作るにはどうしたらよいでしょうか?
603名無しさん@そうだ選挙にいこう:2006/05/16(火) 21:15:40
>>602
オブジェクト同士をコネクタで結ぶ
604名無しさん@そうだ選挙にいこう:2006/05/16(火) 22:32:48
>>601
価格別の出来高を別セルに作れば良いじゃん
605名無しさん@そうだ選挙にいこう:2006/05/16(火) 22:43:17
>>604さま

助け舟ありがとうございます。

出来高価格
1008254.8
513254.5
270254.6
367255.1
174255.6
118255.7
191255.3
304255.1
123255.2
174255.1
287254.8
438254.5
184254.6
95254.7
250254.8
117254.8
186254.9
109255.0
135255.1
79254.8
88254.7

こんな感じの5分足データ(かなり長いです)なんですけど、別セルで
どんな関数使えばよろしいのでしょうか?
606名無しさん@そうだ選挙にいこう:2006/05/16(火) 22:47:50
あ、くっついちゃいましたすみません。

右から小数点第一桁含む200台の数字が価格ですm(_ _)m
607名無しさん@そうだ選挙にいこう:2006/05/16(火) 23:18:36
出来高をA1:A10
価格をb1:b10
として

c1:c10に価格を250.0から251.0として入力
d1に
=SUM(IF($B$1:$B$10=$C1,$A$1:$A$10)
って入力してcrtl+shift+enter

でd1下に引っ張る
608名無しさん@そうだ選挙にいこう:2006/05/16(火) 23:28:20

【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 関数 オートフィル

VLOOKUPで(F5,A3:B21,2,0)を入力、これを下にオートフィルでコピーしていくと
(F6,A4:B22,2,0)(F7,A5:B23,2,0)・・・と検索値、範囲がズレていきますが、
範囲はズラさずに、検索値だけズラすといったことは可能でしょうか
 
よろしくお願いします
609名無しさん@そうだ選挙にいこう:2006/05/16(火) 23:29:39
>>608
絶対参照($つける)か範囲に名前をつける
610名無しさん@そうだ選挙にいこう:2006/05/16(火) 23:36:04
>>609
できました!
ありがとうございました。
611名無しさん@そうだ選挙にいこう:2006/05/16(火) 23:55:31
【1 OSの種類         .】 Mac OSX 10.4.6
【2 Excelのバージョン   】 Excel2004
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 改行、Excel

セル内の改行を一括置換したいのですが
どのようにやれば良いでしょうか?
具体的にはExcelシートからHTMLに書き出したくて
セル内の改行を<BR>に置き換えたいです。

ex)
こんにちわ。
おげんきですか?

こんにちわ。<BR>おげんきですか?
612名無しさん@そうだ選挙にいこう:2006/05/16(火) 23:59:53
>>611
検索する文字列の入力状態でCtrl+J
613名無しさん@そうだ選挙にいこう:2006/05/17(水) 00:09:21
>>601です

>>607さん、ありがとうございます。

やってみたのですが、累積表示出ないです。
わたしの入力が変なんでしょうか。
もちと頑張ってみます。
614611:2006/05/17(水) 00:11:16
>>612
ありがとうございます。
やってみたのですが、テキストボックスに
[¥]のようなマークが入力されましたが
検索にはヒットしませんでした。
615611:2006/05/17(水) 00:13:00
バックスラッシュは入力できないのですね。
[¥]というのはグレーの四角の中に斜線3本です。
616名無しさん@そうだ選挙にいこう:2006/05/17(水) 00:17:51
【1 OSの種類 】Windows2000
【2 Excelのバージョン 】Excel2000
【3 VBAが使えるか 】いいえ
【4 VBAでの回答の可否 】否
【5 検索キーワード 】表示形式 日付 ユーザー定義

「2006年5月」を、「6/5」と入力して「H18.5」と表示させる方法を教えてください。
日付というだけあって年月だけでは表示させられないでしょうか。
617567:2006/05/17(水) 00:28:48
>>616
gee.d
618名無しさん@そうだ選挙にいこう:2006/05/17(水) 00:29:23
>>613
入力した式に変な括弧付いてる?
配列数式でぐぐれ

>>616
表示形式→ユーザー定義でge.m
619名無しさん@そうだ選挙にいこう:2006/05/17(水) 00:40:20
>>616
入力側はむりかもね
620名無しさん@そうだ選挙にいこう:2006/05/17(水) 00:41:03
>>616 「ge.m」 → H18.5ではなくH18.6となるのでボツです。
>>617 「gee.d」 → 6/5はH18.5となりますが、
    1/5も2/5も3/5も4/5も・・全部H18.5となってしまい、ボツです。

621名無しさん@そうだ選挙にいこう:2006/05/17(水) 00:43:39
>>620
何?H18.5の5は何を表しているのか?
622名無しさん@そうだ選挙にいこう:2006/05/17(水) 00:53:00
>>620
6じゃなく2006って入力しとけ
623名無しさん@そうだ選挙にいこう:2006/05/17(水) 01:09:23
>>611
スマソ。WINと早とちりしました。MACで改行コードですね…。

624名無しさん@そうだ選挙にいこう:2006/05/17(水) 01:09:23
これだとVBAしかないんじゃないか?
625名無しさん@そうだ選挙にいこう:2006/05/17(水) 01:56:07
えっとmac版って[WEBページとして保存]ってないの?

こう?
Sub aaa()
  Cells.Replace What:=Chr(10), Replacement:="<BR>", LookAt:=xlPart, _
  SearchOrder:=xlByRows, MatchCase:=False
End Sub

なんか違う気がする…。
626名無しさん@そうだ選挙にいこう:2006/05/17(水) 08:57:57
>>616 入力について
日付(時間)入力は日時連番に自動変換されるため
本年の場合「2006年5月」は、年を省略できるので
 5/1 と日(任意)まで入力しなければなりません。
表示形式は前出の通り。
627名無しさん@そうだ選挙にいこう:2006/05/17(水) 11:28:52

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

有給休暇の考え方なのですが、下記条件だとどのような式が簡単でしょう?

vbaかな?


勤続 6ヶ月→付与日数10日

       1年6ヶ月→11日

       2年6ヶ月→12日

       3年6ヶ月→14日

       4年6ヶ月→16日

       5年6ヶ月→18日

       6年6ヶ月以上→20日 

当該年度に新たに付与した年次有給休暇の全部又は一部を取得しなかった場合は

その残日数のうち半数は翌年度に繰り越される(端数は切り上げ)

628627:2006/05/17(水) 11:42:21
こういう考え方では無理でしょうか?

=OR(IF(H4+DATE(0,6,0)>TODAY(),I4+10,I4+0),IF(H4+DATE(1,6,0)>TODAY(),I4+11,I4+0))......
629名無しさん@そうだ選挙にいこう:2006/05/17(水) 11:44:52
>>627
VLOOKUP
630627:2006/05/17(水) 11:59:11
 なんかその前に日付の関数わかってなかった、、、orz
単純に関数で1年半後とか出せない自分が、、、、、yearとかで出せると思ってた。
シリアルかぁ、、どうやれば出せるんだ??
631名無しさん@そうだ選挙にいこう:2006/05/17(水) 13:36:22
>>627
超初心者レベルとお見受けいたしました
下記サイトを参考に作りながら、なお分らないポイントを
ここで聞かれた方がよさそうですね
エクセル技道場
http://www2.odn.ne.jp/excel/index.html

632名無しさん@そうだ選挙にいこう:2006/05/17(水) 14:02:13
>>627
っていうか、最終的にどこに何をどうしたいのか、漠然としか判らん
日本語の勉強からし直してきて
633627:2006/05/17(水) 14:49:38
 初心者です。一応使えてはいますが。

まず、今日の日付からそれぞれの対応日時を求め、表にしました。

=IF((DATE(YEAR(H4),MONTH(H4)+6,DAY(H4))<DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY()))),"○","×")

つまり、半年だとA1セルに○、1年半だとB1セルにも○と・・・etc

それを表にしました。

そこから○の数を数え対応日数の式でつまずきました、、、、

countif?if(or??

助言お願いします。

ただ後半の繰り越し日数の計算はさっぱり???

634名無しさん@そうだ選挙にいこう:2006/05/17(水) 15:38:31
質問は正しい日本語で書いてください。
「、、、」とか「orz」とかいらないし、無意味に一行空きに書かないで下さい。
「計算はさっぱり???」と省略せずに「計算はさっぱり分かりません」とハッキリ書いて下さい。
635627:2006/05/17(水) 15:43:15
答えられないならしょうがないです。
636名無しさん@そうだ選挙にいこう:2006/05/17(水) 15:46:45
>>633 627
countifでok
637627:2006/05/17(水) 16:09:49
countifはわかったのですが、そこから○の数が0の場合0、1の場合10、2の場合は11・・・・6以上はすべて20の式で
訳がわからなくなってきましたどこでorを使うとかandなのかこんがらがってきました。

助けてください。
638名無しさん@そうだ選挙にいこう:2006/05/17(水) 16:17:30
>>627
余った日数の扱い方が不明なので、無視して
DAYS360を利用して月数は出るよ
=ROUND(DAYS360(開始日,今日,計算基準)/30,0):とりあえず四捨五入してる
639名無しさん@そうだ選挙にいこう:2006/05/17(水) 16:26:04
>>627
一発で出そうとせずに、
セル1:期間数を計算する
セル2:セル1の値を元にVLOOKUPで有給休暇を抽出
 ( 期間数と有給休暇の関連表を別セルに作っておく事 )
640名無しさん@そうだ選挙にいこう:2006/05/17(水) 16:37:03
>>638 >>627
こっちの方が簡単
=DATEDIF(開始日,今日,"M")
641627:2006/05/17(水) 16:50:19
639>>
そうですよね。
まとめず先ほどの○数からvlookupで日数を求めることにしました。
ありがとうです。

あとは後半の
当該年度に新たに付与した年次有給休暇の全部又は一部を取得しなかった場合は
その残日数のうち半数は翌年度に繰り越される(端数は切り上げ)

のところです。たとえば2005年7月20日に5日持っているのが開始とします。
翌年度の2006年7月1日に半数を持ち越します(切り上げ)

これを考えるとtoday()と繰り越し日を考えるようなのですが、毎年の繰り越し日を記述しておかなければ無理でしょうか?
642名無しさん@そうだ選挙にいこう:2006/05/17(水) 17:14:29
>>641
はぁ?なにか勘違いしてない!
残日数は有給休暇の残りでしょ
643627:2006/05/17(水) 17:25:31
>>642
勘違いですか?
残日数は毎年基準のたとえば7月20日に入社した場合翌年の7月1日に持ち越されるので、毎年のタイミングがあると思うのですが?
そのため今日の日付と毎年持ち越される日との差を記述しておくしかないのか?と思っただけです。

わかりずらくて大変申し訳ありません。
644いそぎさん:2006/05/17(水) 17:47:11
【1 OSの種類         .】 WindowsXP pro
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 シート 複数 同語 選択 エクセル 

1つのファイルにいくつかのシートがあります。
2006年1月
2006年2月…
2005年1月
2005年2月…
2004年1月
2004年2月…など

特定のキーワードに当てはまるシートを一括で選択状態にしたいのですが
例) 2005年のシート全て
    1月と書いてあるシート全て

ctrlを押しながら順にシートをクリックする方法以外に
いっぺんに選択する方法は無いですか?
645名無しさん@そうだ選挙にいこう:2006/05/17(水) 18:31:25
うん。ないよ。
2003からブック全体検索機能付いたから。
646名無しさん@そうだ選挙にいこう:2006/05/17(水) 18:32:26
あれ?2002だったかな?
どっちにしろ2000じゃ無いよ。
647名無しさん@そうだ選挙にいこう:2006/05/17(水) 18:32:38
>>644 Shiftを押しながら
648名無しさん@そうだ選挙にいこう:2006/05/17(水) 18:46:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 可(と言っても本見ながらの状態ですが)
【4 VBAでの回答の可否】 可

A列のセルを順番に見て行って(数不定)、各セルの文字列の中に"/"が必ず2個なければ
不採用にしたいです。

採用 → この行ののA〜Fを シート名 saiyou にコピー
不採用→ 何もせず

"/"は続けて出ても離れていても良いんですけど
e.g)
1155/dd/q → OK
/s/r → OK
11//d → OK
22/d → NG
という風にしたいんです。

つまり、ある文字列の中に検索対象の文字が何個あるかって判定をどういう風に書
けば良いか教えて下さい。
649いそぎさん:2006/05/17(水) 18:48:25
>>647
…いや、そうじゃ なくて…
650名無しさん@そうだ選挙にいこう:2006/05/17(水) 19:01:16
>>648
splitで「/」を区切り文字として配列にしてみて、配列の要素数が2以上だったらOKという判定でいってみたよ。
セルA1だったら、
if ubound(split(range("A1").value,"/"))>1 then msgbox "OK"
とか。
651名無しさん@そうだ選挙にいこう:2006/05/17(水) 19:06:54
あ、要素数が2以上じゃなく3以上(2より上)だね。ごめんごめん。
652名無しさん@そうだ選挙にいこう:2006/05/17(水) 19:18:36
>>648
=IF(ISERROR(FIND("/",A1))+ISERROR(FIND("/",A1,FIND("/",A1)+1))=0,"OK","NG")
653名無しさん@そうだ選挙にいこう:2006/05/17(水) 19:28:19
>>650,>>652

素早い〜! 有難うございます〜。
いろんな書き方があるもんですね!
splitをそういう風に使うとは考えもしませんでした。 >>650さん

>>652さんのも勉強になりますm(__)m。
654名無しさん@そうだ選挙にいこう:2006/05/17(水) 20:27:36
>>644
Sub tes()
a = InputBox("選択させたい文字")
For Each mysheet In Worksheets
If mysheet.Name Like "*" & a & "*" Then
If ActiveSheet.Name Like "*" & a & "*" Then
mysheet.Select (False)
Else
mysheet.Select
End If
End If
Next
End Sub
655名無しさん@そうだ選挙にいこう:2006/05/17(水) 20:54:41
>>652
チョット聞いていい、
ISERROR+ISERROR
どうしてこれが成り立つの?
656集計:2006/05/17(水) 21:24:57
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 集計

データの集計を実行→集計行をデータの下に挿入させると、
集計するグループの基準及び集計フィールド以外のセルは空欄になってしまいますが、
空欄部分に直前の行のデータが反映させたいのです。

集計をかけた場合以下の通り表示されます。

    A          B         C     D
1 商品コード     KEY番号     金額    入力日
2 001         A-1 \100     5/1
3 002 A-1 \200 5/1
4 003 A-1 \300 5/3
5 空欄 A-1集計     \600     空欄
6 総計       \600

A-5に直前のデータ003 D-5に5/3を表示させたいのですが、無理でしょうか?

よろしくお願い致します。
657集計:2006/05/17(水) 21:37:26
>>656
すみません・・位置がずれていたようで・・・。以下の通りの場合です。

   A          B         C     D
1 商品コード     KEY番号     金額    入力日
2 001         A-1 \100     5/1
3 002         A-1 \200     5/1
4 003         A-1 \300     5/3
5 空欄         A-1集計   \600     空欄
6             総計 \600    
658だいすけ:2006/05/17(水) 22:32:00
ピボットテーブルで”ここにアイテムをドラッグ”の右下の一番大きな四角に
対してアイテムを2つ入れると(円貨とドル価)、行方向に2つのデータが
出てきてしまいます。これを列方向に横に並列させて表示させることは可能でしょうか?
659名無しさん@そうだ選挙にいこう:2006/05/17(水) 22:48:35
可能
>>1★1〜4を無視してるので、こっちも具体的な方法は教えないでおく。
空気読めず嬉々として教える子が出てくるかもしれんが。
660名無しさん@そうだ選挙にいこう:2006/05/18(木) 05:51:29
>>655  (652じゃないけど通りかかったので)

あるセルの文字列のなかに、検索したいものがあるかないかを
検査するときの常套手段がこの式↓

=ISERR(FIND(検索文字,セル指定,開始位置)

結果がFALSEなら「あり」、TRUEなら「なし」です。
>>652ではこれを二つ足し算してますよね。つまり、
=「1つ目の"/"があるかどうか?」+「2つ目の"/"があるかどうか?」
です。例えばその結果が、
「ある」+「ない」だったら、「FALSE」+「TRUE」になり、結果は「1」
「ある」+「ある」だったら、「FALSE」+「FALSE」なので、結果は「0」




661名無しさん@そうだ選挙にいこう:2006/05/18(木) 05:56:32
>>656>>657

恐ろしく意味不明なので、もう一回整理して書き直してください
662名無しさん@そうだ選挙にいこう:2006/05/18(木) 07:53:32
いちいちこの様なレスをする意味が分らん
>>580,>>659
気に食わなきゃスルーしとけばいいんだろ
なぜ?
言い分があるなら雑談スレに来い!
663名無しさん@そうだ選挙にいこう:2006/05/18(木) 08:14:16
>>658
単純にその状態で「データ」というボタンを列見出しドラッグすればいいんじゃね?
たぶん「集計」とかになってるピボットテーブルの一番上のとこ。
664名無しさん@そうだ選挙にいこう:2006/05/18(木) 09:57:34
>>648
三つ出た場合はどーすんの??

=IF(LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))=2,"OK","NG")
665TEIOU:2006/05/18(木) 10:45:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ シート 左から 何番目 Sheets.Count
【6 検索サイト        】 すぐマク Happy!Happy!Island

フォームを作成してボタンを配置しているのですが、
ボタンに記述している処理を特定のシートでしか実行できなくしたいです。

処理を実行する対象が1つのシートなら
 IF ActiveSheet.Name <> "シート名" Then
 Msgbox "このシートではムリ" , VbOkonly , "選択シートエラー"
 Exti sub
 End If
と出来るのですが、対象が全35シート中の左から5番目以降の31シートにしたい場合、
「アクティブシートが左から4番目までのシートなら」という条件でストップさせたいのです。

ワークブック内のシートの数を取得するのは判ったのですが、
アクティブシートが左から何番目 の取得方法が判りません。
本屋ネットで色々調べてみたのですが見つけられなかったので、書き込ませて頂きました。
宜しくご教示お願い致します。
666名無しさん@そうだ選挙にいこう:2006/05/18(木) 10:59:58
>>655
index使えばいいんでないかな?
if activesheet.index <5 then msgbox "muri"
667名無しさん@そうだ選挙にいこう:2006/05/18(木) 11:10:48
>>665
ActiveSheet.Index

こんなことも調べられないようじゃ、その名に見合うまでの道のりはまだまだ相当長そうだな。
668名無しさん@そうだ選挙にいこう:2006/05/18(木) 11:14:07
なんだ答えようと思ったら先に答えられているではないか
仕方がないからウィットに富んだジョークで誤魔化すか・・・

index使えばいいんでっくす
669TEIOU:2006/05/18(木) 11:22:19
>>666-668
有難うございます!解決しました!!
Index…思いもつきませんでした
670名無しさん@そうだ選挙にいこう:2006/05/18(木) 11:34:14
初歩的な質問ですみません。

方向キーを押すと画面全体がスクロールしてしまいます…
助けてください。
671名無しさん@そうだ選挙にいこう:2006/05/18(木) 11:36:14
キーボードのScroll Lockキー押しちゃったんじゃない?
672名無しさん@そうだ選挙にいこう:2006/05/18(木) 11:38:24
>>671
あ、ありがとうございます!!
673名無しさん@そうだ選挙にいこう:2006/05/18(木) 12:33:06
笑った
674名無しさん@そうだ選挙にいこう:2006/05/18(木) 12:36:44
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 定数 変数 固定 代入

現在VBAを使って処理をおこなっているのですが、変数(定数)に値を代入したまま元の値(右辺)が変わっても変数(定数)は変わらないように
するにはどうすればよいのでしょうか?下記のようなことがしたいです。

Sub テスト
 AA = Range("A1:D5").Value 'ターゲットの値をAAに代入する
End Sub

上記AAに入れた値は右辺の範囲が変わった場合AAの内容も変わってしまいます。AAの内容を定数にするにはどうすればよいのでしょうか?

説明下手ですいません;w;
675名無しさん@そうだ選挙にいこう:2006/05/18(木) 12:50:34
定数宣言はConst
VB言語の仕様では、定数にはリテラル値かその算術演算値しか代入出来ない

つーか674がやりたいのは定数化ではなく変数値の固定では?
変数がオブジェクト型やクラスのメンバでもなければ、勝手に書き変わることは無いはずだが。

ちゃんと正しい用語と正しい日本語文法で質問してくれ。
676名無しさん@そうだ選挙にいこう:2006/05/18(木) 13:05:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ある検索範囲から値があった場合は、○、ない場合は空白はどうやるのでしょう?
vlookupとかだとN/Aって出ちゃいます。
677名無しさん@そうだ選挙にいこう:2006/05/18(木) 13:05:01
>>674
final変数っぽい事やりたいならproperty let/getを使えば一応できるよ。
一回マクロ停止したりブック閉じたりすると初期化されるけど。

Private AA_ As Variant
Property Let AA(S)
  If AA_ = "" Then AA_ = S
End Property
Property Get AA() As Variant
 AA = AA_
End Property

としといて

Sub テスト
 AA = 1
 AA = 2
 msgbox AA
End Sub

とか。でもそれ、変数の値いじらなきゃいいだけじゃない?
678名無しさん@そうだ選挙にいこう:2006/05/18(木) 13:07:14
あ、あれ?書き込むところ間違えたみたいです。
雑談の方に書き込んでしまいました。

すみません、教えてください。。
他人の作ったファイルで、ヘッダにファイル名を呼び出すと拡張子までついてきます。
自分で作ったときにはこうなったことないので
正直どうしていいやらわかりません・・。
ひとしきり上司に罵られました・・。
ご存知の方、恐れ入りますが教えてください・・。
よろしくお願いします・・。
679名無しさん@そうだ選挙にいこう:2006/05/18(木) 13:08:29
>>676
こういうことか?
=IF(A1="","",VLOOKUP……)
A1は仮だけど
680676:2006/05/18(木) 13:12:50
わかっていただけるかですが

A10:A40の範囲のセルの値が一個でもOKと入力されていれば
B1セルに○と表示したいのです。それ以外の値や何も入っていない場合は空白です。

わかりますでしょうか?
681647:2006/05/18(木) 13:13:10
なかなかうまく説明出来ないのですが、最終的にしたいことは
「Worksheet_SelectionChange」で現在選択されている値を保存しておきたいのです。
そのあと、「Worksheet_Change」で範囲の値が変更or削除された場合その値をもとに
処理を行いたいのです。

結果、二つのプロシージャ間で使える変数(定数)が必要になり行き詰まったのです・・・。
これから>>677さんの方法で試してみます。
682名無しさん@そうだ選挙にいこう:2006/05/18(木) 13:17:41
>>680
COUNTIFでOKが1以上なら○かな
683名無しさん@そうだ選挙にいこう:2006/05/18(木) 13:28:31
=IF(COUNTIF(A1:A0,"OK")>=1,"○","")
もう、お答えがありますね
684名無しさん@そうだ選挙にいこう:2006/05/18(木) 13:44:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

次回車検日を自動で表示するのはどうすればいいでしょうか?
today関数と比べるのはわかるのですが、毎回となると永遠に長い関数を入れないと駄目でしょうか。

単純に毎回そのブックを開いたときの日時から先の3年後の同月1日を表示させたいです。
よろしくおねがいします。
685676:2006/05/18(木) 13:47:26
>>683

ありがとう!!できました。
686名無しさん@そうだ選挙にいこう:2006/05/18(木) 14:01:26
Public aab
Public aac

Sub Worksheet_Change(ByVal Target As Range)
MsgBox aac
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
aac = aab
aaa = Target.Address()
aab = aaa
End Sub
687名無しさん@そうだ選挙にいこう:2006/05/18(木) 14:13:38
>>684
=EOMONTH(TODAY()+DATE(3,0,0),0)+1
EOMONTHはアドインが必要
688684:2006/05/18(木) 14:20:22
アドインは組み込んでおけば誰に渡しても大丈夫なのでしょうか?

アドインはよくわからないもので。
689名無しさん@そうだ選挙にいこう:2006/05/18(木) 14:25:32
というか
=DATE(YEAR(TODAY())+3,MONTH(TODAY()),1)
でいいではないか
690名無しさん@そうだ選挙にいこう:2006/05/18(木) 14:29:54
>>688
アドインは開くパソコンのExcelであらかじめ設定しないと正しく表示されません
689さんの方がいいみたいですね
691684:2006/05/18(木) 14:30:48
 ただ書き忘れたので、後出しだと言われるとつらいですが、車検最初は3年であとは2年なんです。
そこが難しいです。
単純に3年だけなら>>689でOKだと思います。
1回だけIFか何かでくくればいいのかな?
692名無しさん@そうだ選挙にいこう:2006/05/18(木) 14:38:01
>>691
そうですね
TODAYのが2009の車検日以下なら3年後それ以外は2年後を表示させればよろし
式は長くなるけど
693684:2006/05/18(木) 14:47:40
>>691
すみません説明不足で申し訳ない。
2009年とかではなく何台もある場合をかんあえてもらえないでしょうか?
つまりシート内にその車ごとに最初の取得日が表示されています。

そこから次回の車検日を表示させたいのです。
おわかりでしょうか?

誠に申し訳ない。
694684:2006/05/18(木) 14:49:25
またもや補足
表示はそのシート開いたtoday()から次回の車検日です。
695名無しさん@そうだ選挙にいこう:2006/05/18(木) 14:54:44
だったら車検が一回目かそれ以降かで判断すればよいこと
その車が中古なのか新車なのかはこっちではわかりませんので
あしからず
696名無しさん@そうだ選挙にいこう:2006/05/18(木) 14:58:02
>>693
取得日からの2年後を表示させるでいいのでは?
697名無しさん@そうだ選挙にいこう:2006/05/18(木) 15:02:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 日付 作業報告書


上司にExcelの作業報告書のマクロを修正してくれと
頼まれたのですが、わかりません。
助けてください。

修正箇所としては月の最初の日を入力すれば31日まで
一気に表示にされるようにし、その隣に曜日を付け
祝日にも対応させ、土日・祝日を赤く表示しろと言われました。
698684:2006/05/18(木) 15:12:15
ここまで考えました。
他の場所に車検の一回目の有無を記載しておきます。
その値をvlookupでみてない場合は
=IF(DATE(YEAR(C1),MONTH(C1),DAY(C1))>TODAY(),DATE(YEAR(C1)+3,MONTH(C1),DAY(C1)),"")
ある場合は上記の2年バージョンってことですよね。
それを組み合わせることはできますよね?

699684:2006/05/18(木) 15:17:02
よく考えたら、これじゃC1セルの値が小さい場合や変化がないときいつも同じ値になってしまう。
C1セルも計算式入れるようですね。
700名無しさん@そうだ選挙にいこう:2006/05/18(木) 15:21:59
>>698
VLOOKUPで探した結果がない場合はエラーになるので、エラーなら3年後、それ以外は2年後を表示する
でいいんじゃないの?
その式の最後の""は何なのか良く分かりませんけど
701名無しさん@そうだ選挙にいこう:2006/05/18(木) 15:29:18
>>697
>【4 VBAでの回答の可否】 否
>上司にExcelの作業報告書のマクロを修正してくれ
マクロ使うのか使わないのかどっちだ?

とりあえず
>修正箇所としては月の最初の日を入力すれば31日まで
前日に+1すればいい

>一気に表示にされるようにし、その隣に曜日を付け
表示形式をAAAかWEEKDAY関数あたりで

>祝日にも対応させ、土日・祝日を赤く表示しろと言われました。
曜日はWEEKDAY関数でそれ以外の休日はテーブル作ってVLOOKUPやMATCHなどで引く
702名無しさん@そうだ選挙にいこう:2006/05/18(木) 16:35:59
>>701
ありがとうございます。たすかります!
703684:2006/05/18(木) 16:43:36
>>700
ifでくくるつもりだったので""にしたのです。
でも
>>VLOOKUPで探した結果がない場合はエラーになるので、エラーなら3年後、それ以外は2年後を表示する
でOKですね。
ありがとう。
704名無しさん@そうだ選挙にいこう:2006/05/18(木) 17:05:07
【1 OSの種類         .】 Windows Me
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 微量
【4 VBAでの回答の可否】 可

セルにアルファベットのiだけを入力すると必ずIと大文字になります。
=LOWER("i")としてしのいでいるのですが、最初から小文字のiを
入力させるにはどうしたらいいですか?
よろしくお願いします。
ちなみにExcel2003ではそういった現象は起こりません。
705名無しさん@そうだ選挙にいこう:2006/05/18(木) 17:20:45
俺の2002でも'i'だけ入力で'I'にはならないから、はっきり言えないが
多分[オプション][編集][オートコレクト]あたりで
i → I
になってんのを削除すればいいんじゃないか?
706684:2006/05/18(木) 17:39:36
 やはり駄目だ。行き詰まりました。
結局TODAYと見比べて基準日から足していくというループが出来ない。vbaかなやはり。
それかtodayより先の最初の車検日というのが関数で出来ればいいのですが思いつきません。

どなたか助けてください。
707名無しさん@そうだ選挙にいこう:2006/05/18(木) 17:48:37
>>704
[オプション][編集][オートコンプリートを使用する]
のチェックをはずす
708名無しさん@そうだ選挙にいこう:2006/05/18(木) 17:51:55
>>684
飛び散らかしたレスを読み直すのメンドウだから
条件を整理してもう一度レスしなおして
709655:2006/05/18(木) 17:59:45
>>660
わかりやすい説明アリガトウ
戻り値FALSEとTRUEが、0と1で計算に使えるなんて知らなかったよ
面白い事考えるね、まったく
710名無しさん@そうだ選挙にいこう:2006/05/18(木) 18:03:20
>>705
できました!有難うございます。
>>707
結果は同じで大文字になりました。
711名無しさん@そうだ選挙にいこう:2006/05/18(木) 18:12:45
エクセルのシートを開くたびに
”開いているブックには他のファイルへの自動リンクが設定されています、
このブックを更新し、他のブックを変更を反映しますか?”
”はい、いいえ”

と毎回出てしまいますが、これを出さない方法はないでしょうか?
他のシートをコピーして新しいエクセルを作ったりしてるのですが
どの時点でこれを出さなくするかわかりません。
よろしくお願いします。

【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 使えません(素人ですみません)
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 Excel 自動リンク
712名無しさん@そうだ選挙にいこう:2006/05/18(木) 18:22:16
>>706
式はかなり長くなりそうなんで要点だけ
a = YEAR(登録日)
b = YEAR(TODAY())
c = ROUNDDOWN((b-a-1)/2,0)+1 <- 次回車検は何回目か
d = DATE(a+c*2+1, MONTH(登録日), 1)

多分こんな感じ
ただしa〜cの計算はYEARだけでやっていて正確ではないので
最後に
TODAY() > d
ならばdをさらに2年進めるという処理を加えなくてはならない

めんどくさそうだな
713名無しさん@そうだ選挙にいこう:2006/05/18(木) 18:30:40
>>711
どういう状況か分からんが、おおかた
Book1からBook2にデータをコピーするときに
Book1の中に =Sheet1!A1 みたいな参照式が含まれていたんだろう

Book1からBook2にコピーするときに[形式を指定して貼り付け]で値だけコピーするか
Book2の中でBook1を参照しているセル(=[Book1]Sheet1!A1とか)を探して
[Book1]を全部削除する([置換]コマンドでできる)かすればいいんじゃないか
714hiro:2006/05/18(木) 18:58:30
a_n=2(n-1)/(n-1)!の計算ができません。おしえてください。
nには数字がはいります。
715名無しさん@そうだ選挙にいこう:2006/05/18(木) 19:06:45
>>714
説明不足
上手く説明できないなら具体例を上げよう
716名無しさん@そうだ選挙にいこう:2006/05/18(木) 19:08:43
>>714
nが1だとムリポ
717名無しさん@そうだ選挙にいこう:2006/05/18(木) 19:15:47
>>713
711です。
なるほど。そういう意味なんですね、そのように対処してみます。
ありがとうございました。
718hiro:2006/05/18(木) 19:19:28
すいません。EXcelで数列a_n=2^(n-1)/(n-1)!の第1項から第10項までの
数表を作成したいのですが、計算ができません。教えてください。
719名無しさん@そうだ選挙にいこう:2006/05/18(木) 19:22:48
>>718
”階乗”でヘルプ検索しろ
720名無しさん@そうだ選挙にいこう:2006/05/18(木) 19:25:20
>>664

レス、ありがとです。今回は2つ以上は出ないという前提です。
という思い込みが怖いのも確かですが w

この式も勉強させていただきます。
721名無しさん@そうだ選挙にいこう:2006/05/18(木) 19:27:32
3つ出ようが4つ出ようが >=2 にしときゃ十分だろうがな
722名無しさん@そうだ選挙にいこう:2006/05/18(木) 19:28:32
【1 OSの種類         .】 Windows*2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 入力値 異なるマクロ

入力した値によって、異なるマクロを実行したいと考えています。
たとえば、A、B、C、Dを入力できるようにしておいて、
Aが入力されたらマクロ1実行とするにはどうしたらよろしいでしょうか?
もしくは、一つのマクロ上で行える方法でも構いませんので、よろしくお願いいたします。
723名無しさん@そうだ選挙にいこう:2006/05/18(木) 19:28:58
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 MacOS9
【2 Excelのバージョン   】 Excel 2001?
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 近似曲線


散布図で近似曲線を書く場合、その式の一部を固定したいのですが、できますでしょうか?
具体的に言うとy=xのグラフに乗るような点がいくつかある時に
y=ax^2+bx+cの式で近似したいのですが、aが必ず負の値をとるようにできますか?
作りたい式はc=0なので、切片を0にするにチェックを入れてます
そのまま近似すると、うまくいくときはaが-になるのですが
少し下に凸だとaが+になってしまいます
excelでは無理でしょうか?
724名無しさん@そうだ選挙にいこう:2006/05/18(木) 19:35:52
>>722
Private Sub Worksheet_Change(ByVal Target As Range)
 Select Case Target.Value
 Case 値1
  Macro1
 Case 値2
  Macro2
 End Select
End Sub

みたいな感じで
725名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:07:19
データの並べかえをするときに
「0021」と「000021」を同じ数値として並べかえてくれないんですが
どうしたらよいでしょう
726名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:36:43
>>725
表示形式が違うだけで同じ数値ではありませんか
727684:2006/05/18(木) 20:37:57
>>712
たしかに面倒だと思います。
vbaが多少わかれば解けそうなのですが、どうなんでしょう?

ではもう一度

あるシートに車とその車の初年度登録日が記録されています。
1台ではなく複数追加もある。

そこからその車の次回車検日を表示させたいのです。
1.まだ1回も車検を受けていない車(新車)はそこから3年後の1日
2.2回目以降の車検は2年ごと。

単純に記録しておけばいいのですが、追加で車を購入(新車、中古問わず)した場合すぐにデータが出る仕組みにしたいのです。
つまり、シートを開いた日付から後の車検日を表示させる仕組みです。
ここが厄介なのかもしれない。

誰かとける人いないでしょうか?vbaコード書いてもらえるなら可です。
よろしくお願いします。
728名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:44:47
>>727
1と2の違いはシート上のどの項目で判断させようとしているのか?
729名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:47:06
>>725
それ文字列として入力されてるからだな
俺のExcel2002では、並べ替えするときに「数値に見えるものは数値として並べ替え」を選べるようだが
それが出ないなら、作業セル作って=VALUE(A1)とかして数値に変換してから並べ替え
730名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:47:57
>>727
だから>>712の通りに式組めばワークシート関数でできるのではないか?
長くなるけど
731名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:52:56
>>726
「0021」が「002131」の上に来たりするのです
「00」をとればいいかとも思うのですが
2000近いリストでひとつひとつ取るのは…
732名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:54:20
>>723
>y=xのグラフに乗るような点がいくつかある時に
>y=ax^2+bx+cの式で近似
だとa=0,b=1,c=0にしかならないのでは?
どうしても違う値をとりたいなら何か特殊な条件なのだろうから
自前で処理したほうがいいでしょう
733名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:55:51
>>727
>シートを開いた日付から後の車検日を表示させる仕組
こういうことですか?

車を購入した時にシートを開いて登録日を入力
隣のセルに次回車検日(3年後)を自動表示
そのまた隣のセルに次々回車検日(2年後)を自動表示

「シートを開いた日付から」が、どう関係するのか良く分らないな
734名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:56:24
>>731
表示形式を統一すればいいんでしょ
1列選択するだけでは?
735名無しさん@そうだ選挙にいこう:2006/05/18(木) 20:57:38
>>729
ありがとうございます
作業セルとかよく分かりませんが
ググったりしてやってみます
736名無しさん@そうだ選挙にいこう:2006/05/18(木) 21:02:25
>>734
番号の列を選択して書式設定で
数値に統一したのですが駄目でした
関係あるかどうかわかりませんが
「0021」のセルをダブルクリックすると
なぜか「00」が消えて「21」になります
737名無しさん@そうだ選挙にいこう:2006/05/18(木) 21:03:02
>>733
いや、次の車検日だけ表示できればいいってことでないの?
例えば登録日が2000/4/1で、今日が2006/5/18なら、次の車検日は2007/4/1とか
738名無しさん@そうだ選挙にいこう:2006/05/18(木) 21:03:11
>>731
>「0021」が「002131」の上に来たりするのです
文字だから、それで正解

数値に一発で変えるには
コピー/形式を選択して貼り付け/加算
739684:2006/05/18(木) 21:20:34
>>737
その通りです。わかりづらくすみません。
740名無しさん@そうだ選挙にいこう:2006/05/18(木) 21:31:47
一つのセル上でやろうとしてんのか
VBAの方が楽だな
741684:2006/05/18(木) 21:37:02
>>740
複数でもかまわないのですが、どっちにしろ長くなりそうな気がして。
vbaがわかればいいのですが。
742hiro:2006/05/18(木) 21:45:25
>>719
わかりました。ありがとうございます。
743名無しさん@そうだ選挙にいこう:2006/05/18(木) 21:46:38
>>741
まあ面倒くさいからVBAにしとけ
VBエディタ開いて標準モジュールを追加
で、以下のコードを書く

Function NEXTSHAKEN(ByVal x As Date) As Date
 y = Year(x) + 3
 m = Month(x)
 Do Until DateSerial(y, m, 1) >= Now
  y = y + 2
 Loop
 NEXTSHAKEN = DateSerial(y, m, 1)
End Function

あとはワークシート関数同様、セルに=NEXTSHAKEN(A1)みたいな書き方で呼び出せる
A1のところは、最初の登録日が記入されてるセルな
744名無しさん@そうだ選挙にいこう:2006/05/18(木) 21:52:40
>>743
VBAってそんな使い方できたんだ
しらなかった
functionかおぼえとこ
745名無しさん@そうだ選挙にいこう:2006/05/18(木) 21:59:46
>>743
お見事!
746名無しさん@そうだ選挙にいこう:2006/05/18(木) 22:05:19
IDでてるよ(プ
747684:2006/05/18(木) 22:14:11
>>743
vbaだとすごく簡単にできるんですね。
vbaだとループまわすの簡単だから覚えたいのですがなかなか機会がなくて。
やはり覚えたほうがいいですね。
ありがとうございました。
748名無しさん@そうだ選挙にいこう:2006/05/18(木) 22:45:32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

計算式でトータル時間を表示させるときに単位にhourを使いたいのです。
でも15分のときは切り捨てたい。11:15は11hour、12:45は12.5hourとしたい。
roundを使うのはわかるのですが使い方がわからないです。
教えてください。
749名無しさん@そうだ選挙にいこう:2006/05/18(木) 22:51:16
1時間を1になるようにに換算して2倍して小数以遠以下を切り捨てて2分の1にする
750名無しさん@そうだ選挙にいこう:2006/05/18(木) 22:52:15
×以遠
○点
751名無しさん@そうだ選挙にいこう:2006/05/18(木) 23:01:40
あとFLOORでもいいよ
752名無しさん@そうだ選挙にいこう:2006/05/18(木) 23:01:53
>>748
FLOORではダメですかね?
753名無しさん@そうだ選挙にいこう:2006/05/18(木) 23:34:44
>>732
すいません書き方が悪かったですね
x,yが正の平面に、右上がりなかんじで点がいっぱいあるときに
それの近時曲線を引きたいのです
感じで言うと、右斜め上に伸びてる楕円ってとこでしょうか

一応2次曲線でも近似曲線を引いてくれるのですが
楕円の形によってはaが正の値をとるのです
aが負の値になるような近似曲線を、無理やりでも引いて欲しいのですが
xcelだとa<0みたいな条件をつけることはできませんかね?
754名無しさん@そうだ選挙にいこう:2006/05/19(金) 00:03:09
>>753
できないと思うよ
a≧0に計算される場合に無理やりa<0としてもaはほぼ0になるだけだと予想されるので
a≧0の場合は線形近似を採用してはいかが?
755名無しさん@そうだ選挙にいこう:2006/05/19(金) 02:56:25
>>754
むーやっぱりだめですか
回答ありがとうございます
756名無しさん@そうだ選挙にいこう:2006/05/19(金) 08:16:31
あんまりExcel本来の使用法とは関係ないのですが
添え字、例えばx2の2を右下に小さく表示したいのですが
どうすれば出来るのでしょうか?教えてください。よろしくお願いします。
757名無しさん@そうだ選挙にいこう:2006/05/19(金) 08:21:02
>>756
2を選択して右クリックしてセルの書式設定
文字サイズを調整する
758722:2006/05/19(金) 08:29:13
遅くなりましたが、>>724さんありがとうございました。
759748:2006/05/19(金) 10:01:00
>>749
言われたとおりやると30分が繰り上がります。
1時間を1になるように換算して2倍して小数点以下を切り捨てて2分の1にする
をこうしました「=ROUNDDOWN((L1*24*2),1)/2」

間違ってますか?
760名無しさん@そうだ選挙にいこう:2006/05/19(金) 12:12:12
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 ごく初心者
【4 VBAでの回答の可否】 簡易な物なら理解可能。


ブックAAAのシート1に、一日あたり8列×34行で曜日別の予定(顧客名)が入力されています。
入力は8×34のセル全部には無く、予定の有る所だけ顧客氏名が入力されています。

月曜はC4:J37、
火曜はK4:R37、
水曜はS4:Z37、
木曜はAA4:AH37、
金曜はAI4:AP37、
土曜はAQ4:AX37、
日曜は表示無しです。

上記の顧客データを元にして、別のブック(BBB)の日計表に予定される顧客データを入力したい。
日計表は月毎にブックを作成して、5月のブックの場合シート名が"1日"〜"31日"まであります。
各日計シートのA2セルに曜日が表示されるので、
予定表のデータを元にして日計シートのC3〜C47に顧客名を入力したいのです。

説明が分かりづらくて申し訳ない!
当方の様な初心者に理解できるレベルでは無いでしょうか?

761名無しさん@そうだ選挙にいこう:2006/05/19(金) 12:26:57
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 コード書いていただけるなら可 

下記のような表があるのですが対応しているところに色をつけたいのです。
それは他のセルから人物1は2006年12月1日と出ましたら下の表の
人名3、2月度の所のセルに色をつけるだけです。下ですと”C3"です。
表は年度ごと同じシートにありますが独立しています。
まとめないと無理でしょうか

1    A          B           C       D       E
2 2006年度       1月度       2月度    3月度     4月度  ・・・・
3 人名1          1                  3
4 2         
5 3         
6 4             3          2
7 5         
8 6              
762名無しさん@そうだ選挙にいこう:2006/05/19(金) 12:39:47
>>761
条件付き書式

シートをまとめる必要は無し。
あとの使い方は自分で調べましょう。
763761:2006/05/19(金) 13:06:49
説明不足でしたかな?

その色をつけたいセルには他の値が入るので他のセルで日付が出ても
条件書式では無理だと思うのです。

764名無しさん@そうだ選挙にいこう:2006/05/19(金) 13:22:18
無理だと思い込むのは勝手だが、
現実として可能なので、回答としては間違ってないわけで。

条件付き書式は、書式設定を行う対象セル以外のセルの値を条件に
条件式を組むことができるからな。
765名無しさん@そうだ選挙にいこう:2006/05/19(金) 13:36:30
>>759
そのやりかたでやる場合は小数点第一位で切捨てだと思うよ
766名無しさん@そうだ選挙にいこう:2006/05/19(金) 14:09:40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 NO
【4 VBAでの回答の可否】 NO

表を作ってA4で印刷する際、縮小されて出てきたので
ページ設定のページのところで確認したら
拡大縮小印刷のところが77%になっていたので100%に戻してOKにし、
念のためにプリンタの設定のほうの問題がないことを確認して
印刷したらまた同じような結果になり、
ページ設定も確認したらまた77%に戻ってしまっています
どこかまた設定方法で考えられるところはあるのでしょうか
よろしくお願いいたします

767766:2006/05/19(金) 14:11:47
書き忘れ
用紙サイズA4
拡大縮小印刷 77→100% です
768名無しさん@そうだ選挙にいこう:2006/05/19(金) 16:32:06
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】No
【4 VBAでの回答の可否】 No
【5 検索キーワード     】 Excel ひとつのファイル 大量 プリント 連番

板違いだったら申し訳ありません。
Excelでアンケート(A4:1枚)を作成し、それを1,000部プリントアウトするときに、
「1」〜「1000」までの連番を振りたいのですが、1,000ページのコピーを作る以外に
なにか方法はありませんでしょうか。
769名無しさん@そうだ選挙にいこう:2006/05/19(金) 16:54:09
○プリンタ側の設定で出来るものもある→プリンタスレへ
○ワードの差込印刷→ワードスレへ
○VBA→Noなら仕方ない
○先に連番だけ印刷しておく←これぐらいか
770名無しさん@そうだ選挙にいこう:2006/05/19(金) 17:16:58
>>768
印刷のヘッダ,フッタのページ位置を工夫する
771名無しさん@そうだ選挙にいこう:2006/05/19(金) 18:33:25
>>770
それ質問の意味と違うよ
772名無しさん@そうだ選挙にいこう:2006/05/19(金) 18:38:27
OSはXPバージョンは2003
VBAは出来ません

入金日を管理したいのですが、2ヵ月後とかは出来るのでしょうか?
今は売り上げ締日のセルに4/30を入力
サイトのセルに90とか60とかの数字を入れて
4/30+90とやりましたが、7/29となってしまいます。
773名無しさん@そうだ選挙にいこう:2006/05/19(金) 18:43:29
逆に考えるんだ。
8月1日から1を引く、と考えるんだ。
774名無しさん@そうだ選挙にいこう:2006/05/19(金) 18:49:42
>>773
取引先が1000社以上あり、
会社によってサイトが15日から120日位まちまちなので、
半年前にサイト120で売った物と
15日前に売ったサイト15の物を、出来たら7/31日とかでフィルタリング出来ないかなと思っているのです。
入金日が解ればそのやり方もありますが、入金日はちょっと解らないのです
775名無しさん@そうだ選挙にいこう:2006/05/19(金) 19:11:51
サイトってなんだよ
776772:2006/05/19(金) 19:23:31
>>775
サイトは売り上げから入金までの期日です
4/30日にサイト90日で売ると90日後に売上額が入金されます。
しかし、ひと月は30日だったり28日だったり、31日だったりするので、
通常は90日後に入金と言われても実際は3ヵ月後の末日に入金になります。

777名無しさん@そうだ選挙にいこう:2006/05/19(金) 19:28:23
=DATE(YEAR(A1), MONTH(A1)+2,DAY(A1))
2ヶ月後はこう書きます。
778772:2006/05/19(金) 19:35:11
>>777
おお、ありがとうございます。やってみます
779名無しさん@そうだ選挙にいこう:2006/05/19(金) 21:18:28
>>766
改ページプレビュー操作してませんか?
780名無しさん@そうだ選挙にいこう:2006/05/19(金) 23:10:20
【1 OSの種類         .】 Win95
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】YES
【4 VBAでの回答の可否】YES
【5 検索キーワード     】

シートにある全ての数式をコピペするにはどうしたらいいですか
781名無しさん@そうだ選挙にいこう:2006/05/19(金) 23:43:15
CTRL+A
782名無しさん@そうだ選挙にいこう:2006/05/20(土) 01:53:01
【1 OSの種類         .】Y2K
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】少しYES
【4 VBAでの回答の可否】YES
【5 検索キーワード     】

<SHEET1>
   | A  B   C
  --+----------------
  1 | 阿部 60  国語
  2 | 阿部 90  英語
  3 | 愛沢 75  理科
  4 | 愛沢 80  社会
      |
      |
999 | 山田 100  数学

が、あり
上から順にSheet(阿部)を作成し、セルA1に名前、点、科目を
移すようにするにはどうすればいいですか?

<阿部>
   | A  B   C
  --+----------------
  1 | 阿部 60  国語
  2 | 阿部 90  英語
<愛沢>
  1 | 愛沢 75  理科
  2 | 愛沢 80  社会
783名無しさん@そうだ選挙にいこう:2006/05/20(土) 02:37:14
>>782
500人くらい居ます?
784名無しさん@そうだ選挙にいこう:2006/05/20(土) 02:42:28
>>783
メモリの関係上
18人ぐらいに絞ろうと思います。

785780:2006/05/20(土) 03:54:12
>>781とん。聞きたいことと違った。orz。数式をCSVに書き出すには?でした。orz
786名無しさん@そうだ選挙にいこう:2006/05/20(土) 05:39:54
>>785
普通にCSV書き出しマクロの要領で
Valueの代わりにFormulaを使えば良い。

あ、基本となるのはCSV保存マクロじゃなくて、
CSV書き出しマクロだからね。
それすら分からないならサンプルがWeb上にいっぱい転がってるので
勝手に拾ってきて参考にしな。
787名無しさん@そうだ選挙にいこう:2006/05/20(土) 06:15:13
excel2000を使ってます。
空白のセルに文字列として半角の/キーを入力しようとすると、
[メニュー]-[ファイル]にフォーカスが移ってしまいわずらわしいのですが、
何か設定を変えることで回避できるのでしょうか?
788名無しさん@そうだ選挙にいこう:2006/05/20(土) 07:08:48
設定では回避出来ないが、
コマンド待ち受けモードではなく
セル入力・編集モードで/を押せば入力のみを行える。
789名無しさん@そうだ選挙にいこう:2006/05/20(土) 08:38:28
>>787
[ツール][オプション]
移行:代替キー指定のチェックをはずす 
790名無しさん@そうだ選挙にいこう:2006/05/20(土) 08:57:22
>>787

>>789修正
×→移行:代替キー指定のチェックをはずす
○→移行:代替キー指定の/を消す
791名無しさん@そうだ選挙にいこう:2006/05/20(土) 11:19:18
>788
あらあらあらあら

>設定では回避出来ないが、
なんて断言しちゃってますよ

>コマンド待ち受けモード
始めて聞いた、勉強になるね
792名無しさん@そうだ選挙にいこう:2006/05/20(土) 12:27:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

グラフについてです。通常空白セルはグラフに数値が反映されず、
ある時点以降のデータがない場合は、折れ線グラフが途切れますが、
関数を使って「見かけ」空白セルにした場合
(たとえば(If(B1="","",B1))
見かけは空白なのに、"0"と認識されてしまい、グラフ上では
Oとつながってとても醜いのです。できれば見かけ空白セルのデータは
グラフ上に現れてほしくないのですが
どうしたらよいでしょうか?お願いします。


  A B C D
--------------
0 3 3(空白)←他セル参照のIF計算式が入っている


793名無しさん@そうだ選挙にいこう:2006/05/20(土) 16:04:13
>>792
NA()にすれば0にならずに補間される
線を切るなら手動でデータ要素の書式設定で線をなしにする
794名無しさん@そうだ選挙にいこう:2006/05/20(土) 16:39:54
これってセルのカラーを条件に使えますか?
可能ならば指定方法を教えて下さい。

IF( AA=カラーが赤ならば, BB, CC )

の様にして使いたいのです。
795名無しさん@そうだ選挙にいこう:2006/05/20(土) 16:44:25
出来ません。
ワークシート関数ではセルの背景色や罫線状態などを取得できませんから。
VBAで直接やるか、ユーザー定義関数でも作って対応しましょう。
796名無しさん@そうだ選挙にいこう:2006/05/20(土) 16:47:18
>>795
ありがとうございました。
797名無しさん@そうだ選挙にいこう:2006/05/20(土) 16:47:20
>>794
VBA使わないと無理なんじゃないかな多分
798772:2006/05/20(土) 17:00:07
>>777
会社名とサイト入りのデータベースを作りましたがうまくいきませんでした。

自己解決したのですが、
EDATEと言う数ヵ月後を表す関数
EOMONTHと言う数ヵ月後の末日を表す関数があるそうです。
初期状態では使えませんが、ツール→アドインの分析ツールで使えるようになるそうです
799名無しさん@そうだ選挙にいこう:2006/05/20(土) 17:48:35
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 はい
【5 検索キーワード     】 CSV ファイル 名前を付けて保存 日付 

CSV(カンマ区切り)ファイルを[名前を付けて保存]で、
ファイル形式を CSV(カンマ区切り)ファイル に指定しているのに

日付けが
2003/8/3

H8.3.3
1996/3/3

に変わってしまいます。どうかお助けください
800名無しさん@そうだ選挙にいこう:2006/05/20(土) 20:30:36
【1 OSの種類         .】 Win XP PRO
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】微妙に
【4 VBAでの回答の可否】YES

  Dim YYMM As String
YYMM = "N4"
Workbooks.Open Filename:="\\AAAAAA\AAA.xls"
Range("D2:D251").Select
Selection.Copy
WINDOWS(YYMM).ACTIVATE

上記のようなVBAを作成しました。YYMMはブックの名前が入ります。
  というのも、各月でA1805.XLSというようなファイル名になるため
  上記のような変数を作っています。
  サーバーからクライアントに任意のデータをコピーしたいのですが
  INDEXが有効範囲内にありませんというエラーになってしまいます。
  どなたかお知恵を拝借できないですか?
801名無しさん@そうだ選挙にいこう:2006/05/20(土) 20:32:57
何行目でエラーが出るかぐらい書けよ
802777:2006/05/20(土) 20:38:40
>798
何が云いたいんだ?
俺が間違った事を教えたから上手く逝かなかったが
自分の力で解決した。それは分析ツール云々、、、
とわざわざ教えてくれているように読めるが。
803名無しさん@そうだ選挙にいこう:2006/05/20(土) 20:54:19
>>802
そういう意味では無いです。
言葉足らずで情報後だしはやめてって書いてあったので、再び聞いていいものかと思って。
取引先が多すぎるのでシート2にテーブルをつくって、
そこに会社コード、会社名、支払いサイトを入れたかったんだけど、
A1て部分に入れる数字が解らなくて…
804名無しさん@そうだ選挙にいこう:2006/05/20(土) 20:56:59
>>802
後は解決したら書いておいてと>>1に有ったので書いてみました。
悪気は無かったので気に障ったのならすいません
805800:2006/05/20(土) 20:58:33
>>801
すみません、WINDOWS(YYMM).ACTIVATEの所でエラーになってしまいます
806名無しさん@そうだ選挙にいこう:2006/05/20(土) 21:07:24
単純に考えればYYMMなんてブックはありませんよってエラーだろう
とりあえず、その行にブレークポイントを設定し
YYMMをウォッチ式に追加して、どういう値になっているか確認してみたらどうだ
807名無しさん@そうだ選挙にいこう:2006/05/20(土) 22:45:07
>>777,>>802
「バカな回答をしてご迷惑をおかけして申し訳ありません
にもかかわらず正しい答えを教えていただき有難うございました」
グダグダ言う前にこのぐらいの事は書け、

という事をお伝えしたかったのです。
808名無しさん@そうだ選挙にいこう:2006/05/20(土) 22:50:33
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excelで複数のワークシートを選択して一括して印刷すると、シートの表示順番どおりにならず、
毎回何枚かのシートの順番が変わって印刷されてしまいます。
これを直す方法はありませんか?パソコンとプリンタはLANケーブルで接続されており、プリンタは
業務用のレーザープリンタです。

どなたかご教授ください。
809名無しさん@そうだ選挙にいこう:2006/05/20(土) 22:52:30
>>800
このコードだと、

> Workbooks.Open Filename:="\\AAAAAA\AAA.xls"

で開いたワークブックは AAA という名前で、

> YYMM = "N4"

のワークブックが開かれていないと思う。
このマクロを記述したワークブック自身を指すつもりだったのなら、
ThisWorkbook を使えば、ワークブックの名前に依存しない
810通りすがりマン:2006/05/21(日) 00:26:28
>>807
オマエの>>777のレスが「バカな回答して申し訳ありません」だろう?
まだ、>>773の方が「正しい答え」に近いということに気づかんか?

という事を言ってみたいのです。
811名無しさん@そうだ選挙にいこう:2006/05/21(日) 00:54:28
頭が悪いので条件分岐が2つ以上あると理解できましぇん
812名無しさん@そうだ選挙にいこう:2006/05/21(日) 00:57:45
switchかselect caseで書いてください
813名無しさん@そうだ選挙にいこう:2006/05/21(日) 01:01:36
>>811
紙に書いてみるといいよ
今も大したコードなんて書けないけど自分は初めの頃、条件分岐が多いときは
いつもそうしてました。
814792:2006/05/21(日) 02:54:40
>>793
Thanks!!
815名無しさん@そうだ選挙にいこう:2006/05/21(日) 07:25:09
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(初心者)
【4 VBAでの回答の可否】 可

表の並べ替えを自動記録して実行したら、
『この操作には、同じサイズの結合セルが必要です。』
と出てうまくいきません。

どなたか解決方法をお教え下さい。
816名無しさん@そうだ選挙にいこう:2006/05/21(日) 07:28:40
>>815
並べ替え範囲を全選択して、書式設定で結合セルを解除してから、
並べ替えやり直したら?
817名無しさん@そうだ選挙にいこう:2006/05/21(日) 07:44:38
>>816
レスありがとうございます!

結合セルを解除してしまうと見出し行まで並び替えされてしまって
うまくいきませんでした。

ちなみに見出し行は2行あります。
818名無しさん@そうだ選挙にいこう:2006/05/21(日) 07:59:42
>>817
見出し行まで選択して並べ替えしてるの?

データだけ選択して並べ替えすればいいと思うが。
並べ替えのダイアログでキーが「列A」のようになるのがわかりにくいというなら、
それは妥協しないといけない。
どの列を並べ替えるか、メモをとっておいて、指定する。
819通りすがりマン:2006/05/21(日) 08:16:45
見出し行とデータ行の書式設定を違えておけば
820名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:15:40
初めまして。今、ピラミッドのような正四角錐をCADで描写しようとしています。
正四角錐の一辺の各長さは100mmにした場合の、高さと斜辺の角度を求める公式を
エクセルでつくりたいのですが、どのようにすればよいのでしょうか?
ご教授をお願いします。
821名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:21:56
それは底面が一辺100mmの正方形である錐について
高さをいくつにしたら斜辺が何mmになるか求める式が欲しいということですか?
822名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:22:03
エクセルで連絡網を作る場合はどうすればよいのでしょうか?
823名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:27:41
あ そうです。
824名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:31:11
>>822

台所で夕飯を作る場合はどうすればよいのでしょうか?
825名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:32:00
>>820
式自体が分からないなら板違い。
数学板でも行って聞いてこい。(中3レベルの問題なので笑われるかもしれんが

式が分かった上で、それをExcelでどう表すのか分からないというなら、
自分の書いた式を貼って再質問しる。


>>822
 >>602-603
826名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:43:28
CADの積算が中3レベルなわけねーじゃんwww
さすが引きこもり。実際の業務なんて知るわけねーのなwwwwwwwwwww
827名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:47:40
いや、普通に三平方の定理と三角関数だけ知ってれば解ける問題だと思うが・・・
828名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:49:49
CAD関係ねーw
単純な図形処理の問題

現実が見えてないから、CADって単語が出ただけで
高度な物だと思い込んじゃうんだろうな。
こいつの頭の中では、『CADで』直径100mmの円を書いた場合、
その円の面積を求める公式はさぞかし難解で高尚なものなんだろうなw
829名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:52:32
CADの仕組みしらねー奴がはりきってるなwwwwwww
830名無しさん@そうだ選挙にいこう:2006/05/21(日) 15:56:25
間違いに気付いたが、今更間違いを認めるのは恥ずかしいので照れ隠しのツンデレさん萌え
831名無しさん@そうだ選挙にいこう:2006/05/21(日) 16:10:12
>>829
CADの仕組み知らないと答えられねーなら、完全なすれ違い。
ほか当たってくれたまえ。
まあ、君がCADの高度な(?)積算に関しての知識を駆使して
解説してくれるなら、拝聴してみないこともないけどね。

まあ、一般の知識でいけば、掛け算が出来る小学生に三平方の定理を教えたら
理解可能な解説なんだけどね。
CADでやると、簡便になるどころか、複雑化するならご苦労様なことだ。
832一応プロのCAD使い:2006/05/21(日) 16:12:20
CAD関係なく、827の指摘通りです、はい。
833名無しさん@そうだ選挙にいこう:2006/05/21(日) 16:32:02
そんな単純形状だったら、
たいていのCADは計算無しに
描けるだろ
834名無しさん@そうだ選挙にいこう:2006/05/21(日) 16:49:23
すげーなwww
お前らは中3程度で計算できる建物に住んで満足してくれwwww
姉歯ですら神だなwwwwwあっはっはっはっはっはっはwwwwwwwwwww
835名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:00:48
ピラミッドになんか住みたかねーよw
836名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:07:39
俺中学生だけどこのぐらいは分かるよ
まず底面の対角線の長さを求める→100*√2
次に高さを、,斜辺をbとすると、
 a^2+((100*√2)/2)^2=b^2
あとはこれをbについて解けばいいんでしょ?
CADとかエクセルとかって以前の問題じゃないんですか?
837名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:09:52
ヒント:答え書いたら負け
838名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:29:21
> CADとかエクセルとかって以前の問題じゃないんですか?
正解。式の方は見てないが、これだけは間違いない。
839名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:31:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 可(初心者)
【4 VBAでの回答の可否】 可

設定はデフォルトのままで、マクロのときだけ、「保存しますか?Y/N」を飛ばして保存することは可能ですか?

「開いて、いじって、閉じて」というマクロを組んだけど、ダイヤログで止まるのはどうも・・
840名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:37:42
>>834
CAD=建築、、、バカじゃね〜の
841名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:38:14
よく調べないで適当に答えると多分
ActiveWorkbook.Save
Application.DisplayAlerts
Application.Quit
あたり
842名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:42:12
>>840
まあ、素人から見ればCADと言えば建築設計が最初に思いつくんだろうな。
彼はそっちの世界に精通した人間ではなく、素人なんだから仕方ないさ。
843名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:45:15
>>820は無知だっただけで悪くは無い
>>826が馬鹿なだけ
844名無しさん@そうだ選挙にいこう:2006/05/21(日) 17:54:40
どうやら香ばしいCADスレに迷い込んだらしい
845名無しさん@そうだ選挙にいこう:2006/05/21(日) 18:16:48
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 再計算 更新 セル etc...

>>588でお世話になった者です。

また質問させていただきます。

例として
・セルA1に"1"と入力したらセルB2に"リボン"と表示させるようにしたいと思っております。

セルB2にIF関数を埋め込む方法でなく
セルA1に"1"を入力した直後にマクロが起動し、
マクロプログラムによって"リボン"を記述したいと思っております。
このセルA1への入力がトリガーとなるような仕組みを作りたいと思っております。

このような仕組みを作る上でWorksheet_Changeイベントを紹介してもらいましたが
セルB2に"リボン"と入力された際にもWorksheet_Changeイベントが発動し
永久ループになってしまいます。

そのため「特定のセル」が更新されたときに発動するイベントや
仕組みなどありますでしょうか?

一週間程悩みましたが答えが導き出せず消沈している次第です。
よろしくおねがいします。
846名無しさん@そうだ選挙にいこう:2006/05/21(日) 18:21:50
>>845
> このような仕組みを作る上でWorksheet_Changeイベントを紹介してもらいましたが
> セルB2に"リボン"と入力された際にもWorksheet_Changeイベントが発動し
> 永久ループになってしまいます。

Change イベントで変更範囲が Excel.Range で渡されるから
変更範囲に特定セルが入ってるか調べればいいような
847846:2006/05/21(日) 18:25:00
説明不足かもしれないので念の為。

Excel.Range オブジェクトは、セルに関するさまざまなプロパティが入ってる。
例えば .Row や .Column プロパティでセルの座標を取得することだってできるはずだよ
848名無しさん@そうだ選挙にいこう:2006/05/21(日) 18:36:17
>>841
ありがとう。
結果的には上手くいかなかったけど
そのコードからググって出たのを試して、
スムーズにダイヤログが出るようになったので、満足しています。

以前は妙なタイミングで聞いてきたから(まぁ自分のやり方なんだけど)
849名無しさん@そうだ選挙にいこう:2006/05/21(日) 18:41:13
>>845
マクロでないとダメなんですか?
関数でも出来るようにおもいますが。

私が試したところではループになりませんでした。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Range("A5") = 1 Then
    Range("B5") = "リボン"
  Else
    Range("B5") = ""
  End If
End Sub
850名無しさん@そうだ選挙にいこう:2006/05/21(日) 18:42:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 可(微妙)
【4 VBAでの回答の可否】 可

シートの名前が一定でなくて、上手くマクロを組めないのですが、良い方法はありますか?
「5月1日」〜「5月31日」までのシートがあり、常に最終日(5/31)を選択したいです。
6月になると、「5月31日」では通用しませんし。
851名無しさん@そうだ選挙にいこう:2006/05/21(日) 18:52:13
>>850
連続したデータなら下から昇って取得するとか
852名無しさん@そうだ選挙にいこう:2006/05/21(日) 19:07:17
>>851
すいませんが、具体的にどうすれば?
853名無しさん@そうだ選挙にいこう:2006/05/21(日) 19:12:43
>>852
例えばA列が日付だとして
    Range("A65536").End(xlUp).Select
とか…
854名無しさん@そうだ選挙にいこう:2006/05/21(日) 19:13:47
>>853
セルじゃなくてシートだよ
855名無しさん@そうだ選挙にいこう:2006/05/21(日) 19:14:38
シート名を無視して全シートを別のブックに貼り付けるには、どーしたらいいですか?
856854:2006/05/21(日) 19:15:25
誤解されると悪いから・・・
自分は>>850さんではないです
857名無しさん@そうだ選挙にいこう:2006/05/21(日) 19:20:54
>>854
ごめん…orz
Sheets(Sheets.Count) でいいかな?
858名無しさん@そうだ選挙にいこう:2006/05/21(日) 19:23:34
>>850
月末のシートは必ずあるのかないのかによって変わると思うけど
859850:2006/05/21(日) 19:50:47
>>857
ちょっとうまくいきません。

>>858
月末のシートは、あるとは限りません。

なんていいましょうか・・・
言いたいことを無理に偽コードにすると→「*月*日<最大値」ってとこでしょうか。
860名無しさん@そうだ選挙にいこう:2006/05/21(日) 19:53:58
>>859
たとえばシートを昇順に並べ替えるコードの後に
Sheets(Sheets.Count)をSelectするというのはどうだろう?
861名無しさん@そうだ選挙にいこう:2006/05/21(日) 19:54:22
偽コードなんていらないから、日本語で具体的に
862850:2006/05/21(日) 20:01:18
>>861
えと、
営業日にシートは作られていき、シートの名前は日付。
そんでマクロで、その中のシートの末日を選択したい。
863名無しさん@そうだ選挙にいこう:2006/05/21(日) 20:06:48
>>862
末日は複数あるの?
864850:2006/05/21(日) 20:11:11
>>863

いえ、一日だけです。
ただ、暦的に31日のこともあれば、28日のときもある。
暦的に31日でも、その日が日曜なら29日が末日。

単純に、最も数字の高いシートが末日であり、ターゲットシートです。
一番左とか右とか、これで指定は出来ませんよね?

自分の頭では理解さえ難しい気がしてきました
865名無しさん@そうだ選挙にいこう:2006/05/21(日) 20:24:12
意味がよくわからないんだが、シートの並びは日付順になってないってこと?
日付順なら、単純に一番右のシートが一番最後の日なんだから
Sheets(Sheets.Count)でいいと思うんだが・・・
866名無しさん@そうだ選挙にいこう:2006/05/21(日) 20:29:07
>>865
1ヶ月=1ブックでは無いんじゃないか?
と予想してみる。
867850:2006/05/21(日) 20:35:16
>>865
>>866

1ヶ月=1ブックです。
シートの並びは日付順です。
でも、私はド素人です。

Sheets(Sheets.Count)ですか、どこに挟んでもエラーが…
868名無しさん@そうだ選挙にいこう:2006/05/21(日) 20:38:12
Sheets(Seets.Count).Select

後ろにメソッドつけないと意味ないよ
869名無しさん@そうだ選挙にいこう:2006/05/21(日) 20:38:52
>>846 >>847 >>849 様

アドバイスありがとうございました。
思い通りの動きを実現することができました。
ちょっと感激しております。

今度こそ大丈夫かと思います。
本当にありがとうございました。
870名無しさん@そうだ選挙にいこう:2006/05/21(日) 20:40:06
「最後のシートを選択したい」のであれば
Sheets(Sheets.Count).Select
でいいんじゃね?
871850:2006/05/21(日) 20:45:40
>>868
>>870

すいません、出来ました。
でも、すいません、余計なシートが後ろに三つありました。
このシートは固定で、名前も、シート数も変わりません。

「この三つ前」ってコード指定は可能ですか?
すいません、最初から言うべきでしたが気がつきませんでした
872名無しさん@そうだ選挙にいこう:2006/05/21(日) 20:48:05
Sheets(Sheets.Count-3).Select
873名無しさん@そうだ選挙にいこう:2006/05/21(日) 21:20:14
Excel 2000 の VBA で PasteSpecial したオブジェクトを選択する方法ってありませんか?
PasteSpecial は何も返さないっぽいし、
PasteSpecial した直後に貼り付けたオブジェクトが選択されてるわけでもないし、
なんとかなりませんか?
874名無しさん@そうだ選挙にいこう:2006/05/21(日) 21:24:35
> なんとかなりませんか?
どうにでもなるよ。
875850:2006/05/21(日) 21:33:09
>>872
ありがとうです。
上手くいきました。
大変助かりました。

Sheets(Sheets.Count-X).Select
このコードは重宝しそうな気がします
876名無しさん@そうだ選挙にいこう:2006/05/21(日) 21:37:04
>>873

PasteSpecial は、コピー済みのオブジェクトを、選択した Range にペーストするものなので、
その Range を選択しなおせばよい

付け焼刃はしかたないけど、Excel のオブジェクトの考え方をもうわかったほうがいいよ
オブジェクトは Excel のブックやシートやセルなどに紐付けされてるものだから、
対応関係がわかってれば、オブジェクトの使い方が見当つくようになる
プロパティとか、Excel メニューのオプションと一対一対応みたいなものだしね
877873:2006/05/21(日) 23:17:19
>>876
サンクスです。

よく考えたら Excel じゃなくて、Word でした。
Word のスレで聞きなおしてみます。
878490:2006/05/22(月) 11:49:39
Private Sub Worksheet_Change(ByVal Target As Range)が重なる場合はどのようにすればいいのでしょうか?

それと以前データの入力規則で下記コードを教えていただいたですが入力規則に設定すると実行時エラーになってしまいます。

Private Sub Worksheet_Change(ByVal Target As Range)
Range("A1:A25").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"c30:c55 "), Unique:=True
End Sub

他に解決方法がありますでしょうか?どうも入力したデータを削除してしまうと
「実行時エラー'1004'
抽出した範囲にはフィールド名がないか、または無効なフィールド名です。」
と出てしまうようです。
よろしくお願いいたします。
879名無しさん@そうだ選挙にいこう:2006/05/22(月) 14:50:33
http://up01.2ch.io/_img/2006/20060522/14/200605221422056458601060551.jpg

今この状態で
Dはマイナスの表記については書式設定にて値の前に▲がつくように設定しなければならないのですが、
この方法しかありませんよね。
書式⇒セル⇒分類⇒パーセンテージ表示にすると-を▲に表示してくれませんから。

で、EにはCとDから今期売り上げを計算し、千の位で四捨五入し表示すること ※Round関数を必ず使用が条件
というのなのですが、
E12には28790000の0.58%減の数値を出したいのですがどう入力すればいいでしょうか。
880名無しさん@そうだ選挙にいこう:2006/05/22(月) 14:58:33
>>879 なにかの問題集ですか?
エクセルに関する質問と言うより算数の質問ですね
エクセルの範疇としては
=ROUND(計算式,桁数)
千の位で四捨五入の場合上記の桁数は−3になります。
881名無しさん@そうだ選挙にいこう:2006/05/22(月) 15:03:48
いや、それはわかってるんです。
=ROUND(AVERAGE(C12+C12*(D12/100)),-3)

のようなややこしいことをしなければならないのかなあと思って
Dをパーセンテージ表示していいという規定ならもっと楽なのですが。

もっと簡潔な方法があるんじゃないだろうかと思って。
882名無しさん@そうだ選挙にいこう:2006/05/22(月) 15:14:21
>>879
ユーザー定義でいいんじゃね?
883名無しさん@そうだ選挙にいこう:2006/05/22(月) 15:17:41
>いや、それはわかってるんです
>>879のどこに書いてあるの?
また、わかってたと言われるのも嫌なので
質問 AVERAGEを使った理由は?
884名無しさん@そうだ選挙にいこう:2006/05/22(月) 15:23:46
かなり初級の問題文なんですが
わざわざユーザー定義しなくても正解があります、と採点されてしまいそうで。

>>883
AVERAGEはミスです。スミマセン実際にはAVERAGEは入力してません

=ROUND(C12+C12*D12%,-3)
こっちのほうがまだ>>881より簡潔ですね。
これでいいのかなあ。
885名無しさん@そうだ選挙にいこう:2006/05/22(月) 15:46:51
> わざわざユーザー定義しなくても正解があります、と採点されてしまいそうで。
ユーザー定義ごときにわざわざも糞も無いだろ。
ユーザー定義を使ってはいけないという条件設問ならまだしも
既存の機能を使っちゃいけないなんてことがあるかよ。

> と採点されてしまいそうで。
の根拠は何処にある?
過去、そういう採点を受けたのか?
それとも単なる脳内妄想?
886名無しさん@そうだ選挙にいこう:2006/05/22(月) 15:49:38
>>884
問題文の答えをここで聞くなんて、良心痛みませんか、、、

『CのD%減の数値』ですよね
もう一度計算式を見直した方がいいですよ
887名無しさん@そうだ選挙にいこう:2006/05/22(月) 15:58:29
いや仕事の効率が試されるので正解はひとつしかないみたいなようでして。

ユーザー定義の順を踏んでる暇あったらこのほうが早いですよというのがあれば知りたかったので。
あと千の位を四捨五入の場合ROUND(数式,-4)じゃないですか?
888名無しさん@そうだ選挙にいこう:2006/05/22(月) 16:20:38
>>879>>881>>884>>887は同じ方ですか?
889887:2006/05/22(月) 16:31:34
そうです
890名無しさん@そうだ選挙にいこう:2006/05/22(月) 16:33:29
「初級の問題」「採点されてしまう」「正解はひとつ」

仕事の効率がどうこう言ってるけど、どう見ても学校の宿題です。
本当にありがとうございました。
891887:2006/05/22(月) 16:37:45
違います。
892名無しさん@そうだ選挙にいこう:2006/05/22(月) 16:42:49
887=質問者879だとして
>>887
>いや仕事の効率が試されるので・・・
社内試験か何かなのでしょうかね?
>正解はひとつしかないみたいなようでして
そんな事はないですよ。 ごく単純な計算問題は違って、
五分五分あるいは甲乙付けがたい方法はママあります。
一つの正解しかありえない会社や上司でしたら、それは同情いたします。

さて、%に関するレスですが・・・
figにある(%)というのは、数値の単位を表すものですね。
実際の数値一つ一つに%をつけて表示するわけではありません。
ということは、D列の表示形式にパーセンテージを使用するという発想はそぐわないですね。
figで設定しているように、表示形式の中から負記号を指定した数値に設定するのが
シンプルで他の人が見ても分かりやすいものでしょう。

十分な機能を有していればシンプルな方が優れていると同様に
他社と共有するなら、人が見て分かりやすいのは、大切なことです。
ROUND(C12+C12*D12%,-3) よりは
ROUND(C12+C12*D12/100,-3) の方が分かりやすい表示だと思いますよ。
長い短いだけが簡便や優劣の基準はありませんね。




893名無しさん@そうだ選挙にいこう:2006/05/22(月) 16:43:21
>>887
>あと千の位を四捨五入の場合ROUND(数式,-4)じゃないですか?
聞くまでもなく試せばわかることですよね
894名無しさん@そうだ選挙にいこう:2006/05/22(月) 16:55:53
学校の宿題でも何でもいいんだが
掲示板を自分の質問のために何レスも消費して申し訳ないって自覚を持てよ。
895名無しさん@そうだ選挙にいこう:2006/05/22(月) 17:12:00
一問一答じゃないんだから質問・回答を繰り返して
レスをいくら消費してもいいだろ、
固い事言うようだけど宿題は考える事が重要で、
ここで聞くのは違うんじゃないかな。
896887:2006/05/22(月) 18:10:09
>>892-893
ありがとうございます。
>一つの正解しかありえない会社や上司でしたら、それは同情いたします。
それが結構シビアなんですよ。
フリーターでもなくアルバイターでもなくちゃんと仕事はしているのですが、在宅で暇な時間に数千円でも稼げればと思い事務の仕事を回してもらえる会社に申し込んだんですよ。
で、この程度出来たらうちから仕事回してあげられますよ、というもので、
以前も、比べてもどっちが簡潔な数式かわからんようなもので悩んだ挙句片方に見切りをつけて送ったら、それはダメですという返事で、本当に向こうが思い描いてる“正解”1個をドンピシャで当てないとダメなようです。

その会社も事務の仕事をあらゆるところから預かって私たちに回してくれるわけだから、
自社から提出するデータは出来るだけきれいな簡潔なデータを預かり元に送り返さなければならないというのはわかるんですが。今回もやっぱり迷うなあw


>>895
だから宿題じゃないっていうのに、これで成績がつくわけでもなく、
この今回のデータを処理する間に、簡潔なデータ入力を身に付けるのが目的の訓練なわけで、間違っていたらここで注意されるか、送った後向こうから注意されるかの違いで、
向こうに送る前にここで聞いてみて正解らしきものが見つけられれば、送る前にここでひとつ身についてむしろいいくらいなんです。
邪魔してすみませんでした。
897名無しさん@そうだ選挙にいこう:2006/05/22(月) 18:13:16
答えがひとつしかないのなら何か参考書のようなものがあってその通りに書けっていう記憶力試験じゃないの?
それも無くひとつしか答えがないならやばいな
898名無しさん@そうだ選挙にいこう:2006/05/22(月) 18:15:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 可
【4 VBAでの回答の可否】 可

激しく不可能な気がするのですが、マクロを組んで実行すると
ズババッっと走るじゃないですか。
あれを目で追える程度にゆっくりにして、正しい動きをしてるか、間違いは無いか、確認する手段ってありませんか?
感覚的に言うと、録画したモンをスロー再生するみたいな。

玄人さんは、コードを見たり、検算したりするんでしょうけど、私みたいなのは…


899名無しさん@そうだ選挙にいこう:2006/05/22(月) 18:27:21
>>887
先にお金とられてない?大丈夫!騙されてない?
在宅詐欺って数年前に流行ってたよね
900名無しさん@そうだ選挙にいこう:2006/05/22(月) 18:39:30
>>898
F8押して、一行ずつ実行させれ
901名無しさん@そうだ選挙にいこう:2006/05/22(月) 19:05:54
>>898
ソースコードの左側にある無駄っぽい領域をクリックしてみるのじゃ。
赤くなったら成功。プログラム走らせたらそこで一時停止してくれる。
後はF5なりF8なり。
902名無しさん@そうだ選挙にいこう:2006/05/22(月) 19:18:26
>>900
>>901
thxです
903名無しさん@そうだ選挙にいこう:2006/05/23(火) 11:13:31
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 『セル選択 解除出来ない』『Excel 抜けられない』『Excel セル 選択 解除出来ない』

Excelを起動してセルを選択すると、左クリックがロックされたままのようになり、セル選択を解除できなくなってしまいます。マウスを動かすとそのまま選択範囲が広がってしまう状態です。
職場でいつも使っているPCを立上げ、Excelを起動したらこの状態でした。新規ファイル、既存ファイル、どちらでもなります。
ttp://q.hatena.ne.jp/1078061463
をググって発見し、同じ症状だと思いますが、
・CtrlやShiftのロック
・F8を押す
・左右のボタン両押し
を試しても直りません。

デスクトップPCで、他のアプリケーションは、マウスのボタンは正常に動作します。
904名無しさん@そうだ選挙にいこう:2006/05/23(火) 12:06:23
あれば、マウスの中ボタン押し
905903:2006/05/23(火) 14:00:14
>>904
中ボタンをシングル押しでもダブルクリックでもダメでした。
が、ひょっとしてと思い、マウスのプロパティで中ボタンの割り当てを『ダブルクリック』にし、
試してみたら解除されました。しかし、さっきのおかしな状態にはどうやってもならないので、
何故そうなってしまったのかは不明です。

とにかく直りました。感謝!
906名無しさん@そうだ選挙にいこう:2006/05/23(火) 19:40:39
すみません、間違って関連スレに質問投下してしまいました。
改めてこちらで質問させていただきます。

重複したデータを色づけするのに[条件付き書式の設定]からcountifで
抜き出そうとしているのですがうまく行きません。
仮に「AABBCDSBBAAAF」というアルファベットがあって、そこからAの重複は赤色。Bの重複は緑で。

とかそういった抜きだし方はできませんか?
現在「AB」の重複は一緒くたに同じ色で抜き出していますが、重複毎に違う色に条件つけられたら
便利だな、と思い質問しました。よろしくお願いします。
907名無しさん@そうだ選挙にいこう:2006/05/23(火) 20:09:53
意味がよくわかりません
Aが二文字以上あるセルは赤
Bが二文字以上あるセルは緑にしたいということですか?
AもBも二文字以上あるセルはどうするのですか?
908名無しさん@そうだ選挙にいこう:2006/05/23(火) 20:24:29
>>907
分かりづらくてすみません。
そうですね・・・複数の重複データがある場合に、おのおの違った色づけをしたいのです。
=COUNTIF(A:A,A1)>1として、複数重複があった場合、全て1色で色づけされますよね。
そういったとき、その重複数に応じた色分けをしたいのです。
909名無しさん@そうだ選挙にいこう:2006/05/23(火) 21:00:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

リンクの逆引きのようなことは出来ますか?
このセルはドコにリンクしているかということが、視覚的に確認する方法
(あるいはそういう趣旨に近いこと)はあるでしょうか?

リンクを張り巡らせ過ぎて、しかも、行き当たりばったりで組んだ報いが来ました
910名無しさん@そうだ選挙にいこう:2006/05/23(火) 21:25:52
>>908
ちょっと条件がよくわかりませんが
どのセルとどのセルが重複しているかを確認したいのなら
条件付書式よりも、隣に=COUNTIF(A:A,A1)
みたいなセルを作って、そのセルで並べ替えをした方が早いのではないですか?

>>909
[ツール]-[ワークシート分析]とかの話ですか?
911名無しさん@そうだ選挙にいこう:2006/05/23(火) 21:33:10
>>910
>[ツール]-[ワークシート分析]とかの話ですか?

それです!ありがとうございます

・・・おーーっ、こりゃすごい
912名無しさん@そうだ選挙にいこう:2006/05/23(火) 23:16:30
>>908

>=COUNTIF(A:A,A1)>1として、複数重複があった場合、全て1色で色づけされますよね。
そういったとき、その重複数に応じた色分けをしたいのです。

=COUNTIF(A:A,A1)=1 の場合は○色
=COUNTIF(A:A,A1)=2 の場合は○色
=COUNTIF(A:A,A1)=3 の場合は○色
=COUNTIF(A:A,A1)=4 の場合は○色



913名無しさん@そうだ選挙にいこう:2006/05/24(水) 01:13:10
ドロップダウンリストに表示される文字を大きくする方法を教えてください。
携帯からなのでテンプレ無視スイマセソ
914名無しさん@そうだ選挙にいこう:2006/05/24(水) 01:53:46
>>913
表示を200%ぐらいにすると多少は大きくなります
915名無しさん@そうだ選挙にいこう:2006/05/24(水) 06:18:35
>>913
とりあえず>>3aは質問の性質上必須。
オブジェクトなのか入力規則なのかで回答が全く違ってくるからな。
あとは一応OSとExcelのバージョンくらい書け。
このくらいはまともな脳持ってればテンプレ読まなくても自発的に書くものだ。
916名無しさん@そうだ選挙にいこう:2006/05/24(水) 07:48:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

1セルの中を、06/04/01(土)-04/02(日)、にして一日ずつ進ませたいです
06/04/02(日)-04/03(月)、06/04/03(月-04/04(火)、06/04/04(火)-04/05(水)←こんな感じで
色々と検索したり試行錯誤してみたりしてもどうもうまくいきません
どうか日をまたいだ場合の両方を一日進ませる方法を教えてください
917名無しさん@そうだ選挙にいこう:2006/05/24(水) 09:00:27
>>916
文字列としてでいいなら、ROW関数の返す値をカウンタ変数代わりに使うと出来るよ。
というか、その書式だと文字列として入れる以外に手は無いけど。
下方向ではなく右方向に進ませるならROWではなくCOLUMN関数ね。
あとは>>3・8、とりあえずやってみてどうしてもわからなかったら自分の書いた式を貼って再質問どうぞ。
918名無しさん@そうだ選挙にいこう:2006/05/24(水) 09:40:16
>>916
別セルに日付連番(シリアル値)が有れば簡単に出来るんだが、、、
A列に連番がある場合
=TEXT(A1,"yy/mm/dd(aaa)")&"-"&TEXT(A2,"mm/dd(aaa)")
919名無しさん@そうだ選挙にいこう:2006/05/24(水) 09:43:31
>>913
ディスプレイの解像度を変える
920名無しさん@そうだ選挙にいこう:2006/05/24(水) 09:59:08
917の方法を使うと、わざわざ連番列作らなくて済む
921名無しさん@そうだ選挙にいこう:2006/05/24(水) 11:46:04
>>915
奈良の騒音ババァみたいなヤツだな
922名無しさん@そうだ選挙にいこう:2006/05/24(水) 13:31:28
しかし入力規則のリストなのか、コンボボックスオブジェクトなのかで
内容が変わってくるのも事実なわけだが
そんなことも知らないからウザく聞こえるのかな
923名無しさん@そうだ選挙にいこう:2006/05/24(水) 14:00:46
グラフ作成で、縦棒1、折れ線2って作れますか?
グラフウィザードには無い形なんで作れないですかねー?
初心者的質問ですいません。
924名無しさん@そうだ選挙にいこう:2006/05/24(水) 14:43:13
できるよ
作った後にいろいろ右クリックすれば設定項目出るよ
925名無しさん@そうだ選挙にいこう:2006/05/24(水) 15:20:23
回答ありがとうございます。
でも、右クリックしてもできませんでした。
ウィザードで言うところの「2軸上の折れ線と縦棒」にもう1本折れ線
を入れた形のグラフを作りたいんですが・・・
926490:2006/05/24(水) 15:36:02
これの値を削除しても動くようにして欲しいのですがいまだ回答を得ず。
誰かお願いします。

Private Sub Worksheet_Change(ByVal Target As Range)
Range("A1:A25").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"c30:c55 "), Unique:=True
End Sub
927名無しさん@そうだ選挙にいこう:2006/05/24(水) 15:49:02
>>926
今までの流れが分らん
それと「これの値」は、なにさしてるの?
928名無しさん@そうだ選挙にいこう:2006/05/24(水) 15:55:54
>>926
わからないことが出てくるとすぐに聞くのはやめなさい
自己解決なされても解決方法を書かないようですし・・・
929名無しさん@そうだ選挙にいこう:2006/05/24(水) 16:45:40
適切なアドバイス
死ね
930名無しさん@そうだ選挙にいこう:2006/05/24(水) 17:50:36
適当な二桁の数字の横に10以下は-1、20以上30未満は1、30以上は2。と合計額

これの隣に1ならC、2ならB、3ならA。

更に隣にAの合計、Bの合計、Cの合計。

これ作らないといけないんだが、作り方を教えてください。
931名無しさん@そうだ選挙にいこう:2006/05/24(水) 17:59:02
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 順番 並び替え 昇順

行|列A| 列B| 列C| 列D
-------------
1|名前|腹筋 |背筋 | 握力
2|佐藤| 10,0 | 60,0 | 10,0 |
3|鈴木| 30,0 | 50,0 | 20,0 |
4|佐藤| 20,0 | 40,0 | 30,0 |
5|鈴木| 30,0 | 30,0 | 40,0 |
       
これを↓のように、個別に

   腹筋
1位|木村|
2位|佐藤|
3位|鈴木|
   :
50位|山田|

   背筋
1位|山田|
2位|鈴木|
3位|田中|
   :

今は、列をコピー → 空いてるトコにペースト → 並び替え → コピペ
という作業でやってますが、関数を使って、順位のセルに名前が出てくるように出来ないでしょうか。
よろしくお願いします。
932名無しさん@そうだ選挙にいこう:2006/05/24(水) 18:32:34
作業用に
B6:B10
=RANK(B1,$B$1:$B$5)+ROW(B6)/65537
A11:A15
1〜5
B11:B15
=INDEX($A$1:$A$5,MATCH(SMALL($B$6:$B$10,A11),$B$6:$B$10,0))

各人の順位を計算し、順位を小さいほうから取り出し検索、その位置にある人を表示
他に効率のいい方法があっても責任は取れないぞ
933名無しさん@そうだ選挙にいこう:2006/05/24(水) 18:36:25
>>931
1.名前の左に列を3列挿入
2.それぞれの列に=RANKで順位付け
3.これをベースに=VLOOKUPで名前抽出

例題では名前が重複しているけど単なるミスだよね
重複してると上手くいくかは未確認
934名無しさん@そうだ選挙にいこう:2006/05/24(水) 18:48:46
>>930
まずは算数の勉強をやり直したほうがいいみたいだね

以下,以上:<=,>=
未満,上:<,>
合計:SUM
判別:IF
935名無しさん@そうだ選挙にいこう:2006/05/24(水) 20:22:29
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 連続印刷

EXCELのシート上にラベルのフォームを貼り付けて、
VBAから中身を書き換えて、印刷を行います。
一回だけなら問題ないのですが、
値を変えて印刷をループで行うと、一回目のものと変化ありませんでした。

While PrintPageNum < PrintPageMax
ShowPrintPage
PrintOut
PrintPageNum = PrintPageNum + 1
Wend

PrintPageNumはグローバル。
ShowPrintPageはPrintPageNumを参照して値を書き換えます。

ループ中にSleepを入れても駄目でした。
フォームの中身の更新のタイミングがVBAのマクロが終了したときっぽいところまでは突き止めましたが、
VBAはイベントドリブンなので、マクロを抜けた跡に、再描画させてプログラムを走らせられないので、考え物です。
よろしくお願いします。
936名無しさん@そうだ選挙にいこう:2006/05/24(水) 20:45:40
A1〜A12に数値を入力します。
その平均をA13に返すとすると、A13=SUM(A1:A12)/12ってなりますよね。
ほとんどはこれでいいのですが、たま〜に、/11や/10にしたい時があります。
この時はA11やA12は空白です。どういう式を入れたらいいのでしょうか。
937名無しさん@そうだ選挙にいこう:2006/05/24(水) 20:54:23
AVERAGE(A1:A12)

これでイナフ。
空白は無視してくれる。
938936
>>937
大変ありがとうございました。