Excel総合相談所 62

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

▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★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を使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。

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

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

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

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

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


★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。 
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
4名無しさん@そうだ選挙にいこう:2007/11/16(金) 21:05:37
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

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

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

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||
6名無しさん@そうだ選挙にいこう:2007/11/16(金) 21:07:37
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

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

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

*推奨NGネーム*
せんせー ◆adhRKFl5jU
8名無しさん@そうだ選挙にいこう:2007/11/16(金) 21:17:28
>>7
9名無しさん@そうだ選挙にいこう:2007/11/16(金) 21:31:42
>>1-7
10名無しさん@そうだ選挙にいこう:2007/11/16(金) 21:33:49

   *推奨NGトリップ*
    ◆adhRKFl5jU

11名無しさん@そうだ選挙にいこう:2007/11/16(金) 21:55:15
せんせーの人気に嫉妬
12たけぞう:2007/11/16(金) 22:57:15
初歩的な質問なんですが・・・

セルに 1 を入力してユーザー定義で 1.00本 と表記されるように設定しました。

小数点第2位まで見えるように設定したのですが、1.00本の場合や 1.20本の場合 0 を省く事はできるでしょうか?

例えば
1本
2本
2.12本

てな感じです。

小数点以下の 0 を見えなくする方法おしえてください。
13名無しさん@そうだ選挙にいこう:2007/11/17(土) 01:03:47
初歩的な質問じゃないと思うな。
14名無しさん@そうだ選挙にいこう:2007/11/17(土) 01:13:54
俺なら安易にVBAに頼ってしまうけどな。
15名無しさん@そうだ選挙にいこう:2007/11/17(土) 01:21:12
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

Excel2007で、小さいテキストボックスに長い文字列を書くと
テキストボックスの外側まで文字が表示されてしまいます。

Officeのサポート技術情報によると
「Excel 2007 のテキスト ボックスに文字列を入力すると
文字列がテキストボックスの外側にも表示される」のは仕様
らしいのですが、これをExcel2003以前のように、外側には
表示されないようにする方法はありますか?

小さいテキストボックスに長い文字列を書いてExcel2003で
保存し、そのファイルをExcel2007で開くと、従来通りの表示
(テキストボックスの外側には表示されない)になるので、
なにかしら設定があるのではないかと思うのですが。
16名無しさん@そうだ選挙にいこう:2007/11/17(土) 01:23:59
>>12
書式設定だけで末尾のゼロを消すのは無理だと思う。

=SUBSTITUTE(TEXT(A1, "#.##本"), ".本", "本")

これで表示は希望通りになるけど、文字列に変換されちゃうから計算はできなくなる。
17名無しさん@そうだ選挙にいこう:2007/11/17(土) 02:01:18
書式を

G/標準"本"

として、セルには少数以下2桁までしか入力しない、ってのはどう?
18名無しさん@そうだ選挙にいこう:2007/11/17(土) 05:20:05
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002と2003で動作したい
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

名前をつけて保存時に、ファイル名のあとに日付を強制付加して保存させたいのですが、
そのやり方を教えてください。

GetSaveAsFilenameにてあらかじめ日付を表示させたダイアログを開くことは
できましたが、入力時に消してしまったり、日付がファイル名の前に来て保存したりするケースが
あります(私以外の人間も使うエクセルシートのため・・)

そこでファイル名が何であれ、○○○ 20071117.xls (○○○が任意のファイル名)の形で
強制的に保存させる方法があればお教えください。
19名無しさん@そうだ選挙にいこう:2007/11/17(土) 05:45:45
すみません。できそうです。
保存ダイアログの前に、フォームを表示させて、そこにファイル名を入力したら
ファイル名+日付をダイアログの入力欄に表示って感じで。
ありがとうございました。
20たけぞう:2007/11/17(土) 05:51:14
>>16,17さん

ありがとうございます。

17さんので解決しました

ありがとうございました。
21名無しさん@そうだ選挙にいこう:2007/11/17(土) 09:27:25
ふつー >12 の回答としては
書式設定 0.??"本"
だと思うんだけどな。
整数のときも小数点が消えないけど。
22名無しさん@そうだ選挙にいこう:2007/11/17(土) 09:34:36
XP 2003 
jマクロを含んで、1.3Mのブック(データシート、出力シート(indexmatch等の関数あり))の、データシート(入力規則あり)のセルの横移動において、非常に重くなったが、軽くする方法はありませんか?
23名無しさん@そうだ選挙にいこう:2007/11/17(土) 11:25:54
WindowsXP Pro, Excel2000を使っています。
address(x1,x2)を使って、
他のワークシートのセルを参照するのはどうすればいいんでしょうか。

1) sheet1!A1
2) sheet1!address(1,1)
3) sheet1!indirect(address(1,1))

1)は通ります。2)と3)が通らなくて困っています。
24名無しさん@そうだ選挙にいこう:2007/11/17(土) 11:37:44
>>21
そんなのわかった上でできるだけ要望通りにしようとしてるだけだろ
25名無しさん@そうだ選挙にいこう:2007/11/17(土) 11:58:26
>>24
VBAでSheetCalculateイベントなどを拾って表示形式を自動的に変更する
26名無しさん@そうだ選挙にいこう:2007/11/17(土) 13:13:05
>>18
ThisWorkbook.SaveAs Filename:=

日付や固定の部分はセルにでも書いておけば?
27名無しさん@そうだ選挙にいこう:2007/11/17(土) 15:07:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

キーボードの上下左右のキーでセルを編集するときの黒い枠を動かすことができなくなり,
勝手にスクロールしてしまう状況に陥りました.
元に戻すにはどうすればいいのでしょうか?
28名無しさん@そうだ選挙にいこう:2007/11/17(土) 15:23:50
>>27
Scroll Lockのボタン
29名無しさん@そうだ選挙にいこう:2007/11/17(土) 15:31:12
>>28
解決しました.ありがとうございました.
30名無しさん@そうだ選挙にいこう:2007/11/17(土) 15:43:39
時刻の列を作り入力、書式はhh:mm、降順で並べ替えしたらhhが一桁の行が上に来てしまうのを何とかしたい。

[セル内]  [数式バー内]
 07:00 → 7:00:00
 06:00 → 6:00:00
 05:00 → 5:00:00
 19:00 → 19:00:00
 18:00 → 18:00:00
 17:00 → 17:00:00
31名無しさん@そうだ選挙にいこう:2007/11/17(土) 16:44:44
>>30
=TEXT(A2*24,0)みたいな作業列を作って並び替えでは?
32名無しさん@そうだ選挙にいこう:2007/11/17(土) 16:46:13
>>30
hh:mmで同じデータ入れてみたらちゃんと並ぶんだんだが。
Officeのバージョンは?
33名無しさん@そうだ選挙にいこう:2007/11/17(土) 17:29:28
>>23
> 2)と3)が通らなくて困っています。
当たり前だろ

=INDIRECT(ADDRESS(1,1,,,"sheet1"))
=INDIRECT("sheet1!"&ADDRESS(1,1))
34名無しさん@そうだ選挙にいこう:2007/11/17(土) 18:32:41
>>21
小数点が残るのは具合悪いんじゃない?見た目もカッコ悪いし、
元の質問の例でも小数点は書いてないし。
それを消すのが意外に面倒だから、回答者も色々と考えてるんでしょ。
35名無しさん@そうだ選挙にいこう:2007/11/17(土) 19:35:05
>>31,32

Office2003Pro

日付    曜 時刻
07/11/16 金 07:25
07/11/16 金 06:00
07/11/15 木 07:00
07/11/15 木 21:29
07/11/15 木 21:29
07/11/15 木 21:29
07/11/15 木 21:12
07/11/14 水 07:30
07/11/14 水 21:26
07/11/14 水 21:26
07/11/14 水 21:14
07/11/14 水 21:11
07/11/14 水 21:11
07/11/13 火 06:30
07/11/13 火 21:35
07/11/13 火 21:35
07/11/12 月 06:00
07/11/12 火 20:54
07/11/12 火 20:54

データはアクセスからエクセルにエクスポートしたもので、レコードは600くらい。
最優先を日付、2番目を時刻にしたらこうなった。一部分を抜き出して新しいシートにコピペしたら出来た。
元のシートに戻り、今度はそれぞれ単発で時刻→日付の順で2回並べ替えをしたらちゃんと並んだ。
こういうものなの?
36名無しさん@そうだ選挙にいこう:2007/11/17(土) 22:00:31
時刻が日付も隠し持ってるとか
37名無しさん@そうだ選挙にいこう:2007/11/18(日) 02:49:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ちょっとだけ
【4 VBAでの回答の可否】 可

ホームページで住所などが一覧で表示されているものをコピーしてエクセルに張り付けると
名前
住所
電話 (複数のデータなのでこれの繰り返し)
と縦(列)にて表示されます。これをA列:名前、B列:住所、C列:電話
と横並びにしたい場合どのような方法があるか教えてください。
件数が1000件近くあって、コピーして形式の選択をして貼り付けで行列入替えの方法は取れません。
38名無しさん@そうだ選挙にいこう:2007/11/18(日) 03:02:15
>>37
きっちり3列間隔に並んでいるか、あるいは「住所」などのキーワードが必ず含まれているなら、
フィルターを使って選択、別シートに貼り付けという作業を名前、住所、電話の3回やればいい。

ホームページに置いてあってデータがテーブルタグで囲まれているなら、エクスポートした方が
作業しやすいかもしれない。

いずれにしろ元データの状態によっても方法は色々と変わってくるので、具体的なデータがないと
具体的なアドバイスも無理。
3937:2007/11/18(日) 03:54:16
たとえば
http://www.toben.or.jp/attorney/webapp/attorney/search_result/
こんなページです。

40名無しさん@そうだ選挙にいこう:2007/11/18(日) 04:02:57
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ダイアログ 条件分岐 VBA

ボタンをクリックすると印刷されてブックをフォルダに保存するマクロを作ったのですが
内容に間違い(主に日付)があってもそのまま印刷されてしまうので
間違いがあった場合に「日付が違うけどいいですか?」「はい」「いいえ」
といった感じのダイアログをだして「はい」の時は印刷&保存
「いいえ」の時はなにもしない
というマクロを作りたいのですがどのようにすればいいのでしょうか?
上記の日付は常に決まったセルに入力してあり、それが本日の日付か否かで
判断をするといった形です
宜しくお願いします
41名無しさん@そうだ選挙にいこう:2007/11/18(日) 04:21:58
>>40
If Range("A1") = Date Then
'印刷するコード
Else
MsgBox ("日付が違うけどいいですか")
End If
42 ◆aUy/vm1yC. :2007/11/18(日) 05:22:43
環境:WindowsXP Excel2002
質問:Application.OnTime に関して
 マクロを編集していたところ、今まで利用していたOnTimeの処理が実行されなくなりました。
 色々調べた結果、最終的に下記の状況で発生することがわかりました。

新規Microsoft Excel ワークシート.xlsを作成し、シートには何も無い状態で
マクロを以下のように記述しました。

ThisWorkbookのマクロ---------------
 Private Sub Workbook_Open()
  UserForm1.Show
 End Sub

Module1マクロ---------------
 Sub aaa()
  Application.OnTime TimeValue("03:00:00"), "bbb"
 End Sub

 Sub bbb()
  Range("A1").Value = 1
 End Sub

  * もともとの発生状況ではシートやUserForm1や他マクロにも色々な内容を含みますが、
  * 上記の最小の構成にて発生するので割愛させていただきます。

この様な内容のブックにおいて、OnTimeマクロが動きません。
問題はUserForm1.Showに有るらしく、UserForm1.Showを無くすとなぜかOnTimeマクロが実行できます。
ちなみにUserForm1は起動時に開かれて、そのまま×でウィンドウを閉じて、("03:00:00")の処理を待っています。
VBAに関してあまり詳しくないのですが、UserForm1.Showを使いつつOnTimeを利用する方法として
上記内容のどのあたりに問題があるのでしょうか?
解決策をご教示ください。
4342 ◆aUy/vm1yC. :2007/11/18(日) 05:48:18
すみません。
解決しました。 Application.Run "aaa"をWorkbook_Openに入れなければいけないのですね。
 UserForm1.Showも関係ないみたいでした。すみません。
44名無しさん@そうだ選挙にいこう:2007/11/18(日) 05:48:24
>>41
こんな夜中に有難うございました
早速実行してみまして
申し訳ありませんが重ねて質問です
A1の部分が日付の入ったセルということでいいんですか?
そして、そこに入力されている値が今日の日付で無いならばElse以降の処理
今日の日付ならばそのまま処理といった形にする場合

If Range("S23") = TODAY() Then
とやってみたのですが
コンパイルエラーと出てしまいます
どのようにすればいいのでしょうか?
45名無しさん@そうだ選挙にいこう:2007/11/18(日) 05:55:43
>>44
余計なことしないでDateのまま使え
4644:2007/11/18(日) 05:55:51
すみません、自己解決しました
せっかく>>41にDateと書いてあったのに・・・
Today関数はVBAには無いんですね(汗

有難うございました、望んでいるものがおかげで出来ました
47名無しさん@そうだ選挙にいこう:2007/11/18(日) 06:14:17
>>46
よく考えたら>>41じゃ日付が違うときのYes,Noが出ないな

Dim Rtn As Integer
If Range("S23") = Date Then
'印刷のコード
Else
Rtn = MsgBox("日付が違うけどいいですか?", vbYesNo, "選択")
If Rtn = vbYes Then
'印刷のコード
Else
End If
End If
48名無しさん@そうだ選挙にいこう:2007/11/18(日) 06:58:53
>>40
>上記の日付は常に決まったセルに入力してあり、それが本日の日付か否か
そのセルに、
=today()
って入れるってのはだめなん?
49名無しさん@そうだ選挙にいこう:2007/11/18(日) 08:59:51
>>47
有難うございます
その後調べてみてなんとかそこまではたどり着きました
ですが変数の宣言がうまくいかなくまたまた困っていたところに
ちょうどレスがあり大変感謝してます

>>48
日付は別の式で自動的に入力されてしまいますので
それができないのです
もともと、別の者がつくったマクロでして、それを何とか改造して使いやすく
人的エラーの無いものにしたかったので、調べながらやっているところなんです
すみません・・
50名無しさん@そうだ選挙にいこう:2007/11/18(日) 10:06:30
>>39
そこならデータ規則正しく並んでいるのでが全体をエクスポートすれば
51名無しさん@そうだ選挙にいこう:2007/11/18(日) 10:12:20
>>39
そこならデータが規則正しく並んでいるので、ページ全体をExcelにエクスポートしてから
単純に「所在地」「電話番号」などで抽出すれば、目的の住所録が作れる。
52名無しさん@そうだ選挙にいこう:2007/11/18(日) 11:24:08
Excelにエクスポートって何だ
IEか何かにそんな機能あるのか?
53名無しさん@そうだ選挙にいこう:2007/11/18(日) 12:22:03
初歩的な事かもしれませんが、お願いします。
【1 OSの種類         .】 XPとMeの両方で使いたい
【2 Excelのバージョン   】 2003と97の両方で使いたい
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ある文字列の頭3文字を判定して、条件に合致すればその部分を削除、
条件に合致しなければそのままを返すような処理は出来ますか?

例)
「対象の文字列」→「処理結果」

(勝)佐藤太郎→佐藤太郎
(負)鈴木次郎→鈴木次郎
 高橋三郎→高橋三郎
54名無しさん@そうだ選挙にいこう:2007/11/18(日) 12:25:00
>>52
ExcelのWebクエリのことでしょ?違う?
55名無しさん@そうだ選挙にいこう:2007/11/18(日) 12:26:22
>>53
=if(left(a1,3)="ある条件",""&a1,a1)みたいな?
56名無しさん@そうだ選挙にいこう:2007/11/18(日) 12:29:56
=IF(LEFT(A1,3)="ある条",SUBSTITUTE(A1,"ある条",""),A1)みたいな?
5753:2007/11/18(日) 12:52:46
>>55-56
上手くいきました。
ありがとうございました。
58名無しさん@そうだ選挙にいこう:2007/11/18(日) 13:24:37
【1 OSの種類         .】 2000
【2 Excelのバージョン   】 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

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

今ダイエット中でして、日々の体重の推移をグラフにしております。
シートが4枚ほどになってきたのですが、
グラフの元のデータを複数のシートにわたって設定するには
どうすれば良いのでしょうか?
どうぞよろしくお願いします。
59名無しさん@そうだ選挙にいこう:2007/11/18(日) 13:29:22
>>58
作業シート作って、その4つのシートのデータをまとめる
その作業シートをグラフの元データにする

以上
6037:2007/11/18(日) 15:17:21
>50>51
1列だけ共通の項目名がなく抽出が困難でしたが、
なんとかうまく出来ました。ありがとうございました。
61名無しさん@そうだ選挙にいこう:2007/11/18(日) 17:16:38
>>54
エクスポート=Webクエリなの?
びっくり
62名無しさん@そうだ選挙にいこう:2007/11/18(日) 20:07:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

グラフを作ってグラフの大きさなどを変更してると
全部グレーになってしまいました。

これってどうやったら元に戻せますか?
6358:2007/11/18(日) 20:46:54
>>59
ありがとうございました。
それには気が付きませんでした^^;
64名無しさん@そうだ選挙にいこう:2007/11/18(日) 21:52:14
>>52
OfficeをインスコするとIEの右クリックメニューに「Microsoft Excelにエクスポート」ってのが追加される。
テーブルの中で右クリックすると、そのテーブルだけがExcelのワークシートに取り込まれる。
それ以外の余白や文章で右クリックすると、ページ全体がエクスポートされる。
ただしASPやPHPみたいな動的に生成されるページはうまくいかないことが多い。
65名無しさん@そうだ選挙にいこう:2007/11/18(日) 22:26:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

関数を作り、それを4,5個のExcelファイルで使用しています。それで、この先
この関数を変更した時に一気に修正とかしたいんですけど、良い方法とかって
ありませんかね?一個一個ずつやると修正漏れが出てきそうなんで。

例えば
function XXXX()

end Function

これを a.xls、b.xls、c.xlsに同じ名前で組み込んでいてそれを一気に修正
したいって事なんですけど。


66名無しさん@そうだ選挙にいこう:2007/11/18(日) 23:06:20
むしろ同じ関数を別々のファイルに組み込むのがおかしい。
どっかひとつのファイルに置いて、それをあちこちから使えるようにすべき。
67名無しさん@そうだ選挙にいこう:2007/11/18(日) 23:27:29
エクセルでVBAを学んでいるのですが、元々C言語しか知らない人間なので基本的な事柄を覚えるのが面倒です。
で、質問なのですが、このさきエクセルでC言語をサポートする環境ができるような計画はありますでしょうか?
C言語をサポートするならそれまでは適当な処理で間に合わせようと思ってるのですが・・。
6865:2007/11/18(日) 23:31:18
>>66

シートの参照なら判りますが、関数をあっちこっちから参照して使えるようにする事って出来るんですか?
69名無しさん@そうだ選挙にいこう:2007/11/18(日) 23:33:57
>>67
適当な処理で間に合うんなら、それでいいじゃん。
70名無しさん@そうだ選挙にいこう:2007/11/18(日) 23:39:38
>>68
個人用マクロブック
71名無しさん@そうだ選挙にいこう:2007/11/18(日) 23:39:43
>>68
Application.Runかなんかで出来たような気がする
72名無しさん@そうだ選挙にいこう:2007/11/18(日) 23:40:49
>>68
アドイン関数にする。関数はPublic宣言で。くわしいことはググるかヘルプで調べて。
73名無しさん@そうだ選挙にいこう:2007/11/18(日) 23:41:11
>>69
他に応用が利かないプログラムをその都度作り続けるのは嫌なんです。
それに、Cだったら思ったとおりの動作がすぐにできますが、VBは色んなHPを参照しながら作らざるを得なくて
この先C言語がサポートされないなら、ちょっと本気で覚えないと仕事が増えるかな?と
7465:2007/11/18(日) 23:44:12
おおっ、なるほど。教えていただいたキーワードを調べてみます 
皆さん、ありがとですm(__)m。
75名無しさん@そうだ選挙にいこう:2007/11/19(月) 00:07:55
>>73
なーに甘っちょろいこと言ってんの。
VBAなんて変数と関数と制御構造で回してるって点でCと大差なし。演算子や型の違いなんてかわいいもんよ。
ライブラリの一つだと思って覚えとけ。

Cの仕様なんて時代とともにどんどん変わってるし、処理系が変われば完全に別物になるし、
新しい仕事をするたびにライブラリと格闘しなきゃならない。
この程度の応用もできないヤツは、はっきり言ってCを使い続けるのも無理。
76名無しさん@そうだ選挙にいこう:2007/11/19(月) 00:29:32
>>75
なんとなく予感はしてたけど、やっぱりそうですか。
ありがとうです。本腰いれて勉強してみます。
77名無しさん@そうだ選挙にいこう:2007/11/19(月) 00:34:33
エクセル初心者です。
「名前を付けて保存」で、保存しようとする時
プルダウンで、名前の履歴がでますが、
その履歴を消すことは、できますか?

OS:XP   エクセル:XP  ハードは、職場、自宅等色々です。
78名無しさん@そうだ選挙にいこう:2007/11/19(月) 13:03:43
質問です。
エクセルで名簿とかを作ったんですが、初心者なもので、1〜10・11〜20…といった具合に分けて名前をつけて保存してしまいました。
できれば最初の1〜10のファイルのページに11〜20のページを他のファイルからコピーかなんかして持ってきたいんですが、いい方法ありますか?
79名無しさん@そうだ選挙にいこう:2007/11/19(月) 14:04:24
>>78
いい方法・・・コピー(&ペースト)
80名無しさん@そうだ選挙にいこう:2007/11/19(月) 19:08:32
>>64
へー、そんな機能あったんだ。知らんかった。サンキュ。
81名無しさん@そうだ選挙にいこう:2007/11/19(月) 21:11:51
>>77
[ツール]→[オプション]→[全般]タブ→最近使用したファイルの一覧のチェックをはずす
82名無しさん@そうだ選挙にいこう:2007/11/19(月) 21:15:36
【1 OSの種類       .】 WindowsXP
【2 Excelのバージョン  】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否  】 可
【5 検索キーワード   】 エクセル 画像の保存,エクセル オブジェクトの保存

ワード文書を(office以外のソフトを使わずに)画像ファイルに変換したいのですが、今のところエクセルで対象のファイルを「オブジェクトの挿入」で取り込み、htmlで保存して自動生成されるフォルダ内の画像を使うというやり方しか思いつきません。
これ以外の方法で画像データとして保存するマクロを探していますがありませんでしょうか。できれば画像を保存する際に名前も自分でつけたいです。
office限定としているのは会社で定めている以外のソフトをインストールしないよう規制されているからです。
アドインというものもあるようですが他の社員のパソコンすべてに入れるのは難しいのでそれ以外の方法を探しています。
お分かりになる方がいましたらお教え願います。
83名無しさん@そうだ選挙にいこう:2007/11/19(月) 22:01:54
>>82
PrintScreen
84名無しさん@そうだ選挙にいこう:2007/11/19(月) 22:06:25
>>82
そういうのは普通仮想プリンタを使う。仮想プリンタと言うとpdfが有名だが、bmpやjpgのもある。

定めている以外のソフトをインストールしないよう規制されてるなんてのは関係ない。
必要なら仮想プリンタをインストール出来るものとして認定して貰えば良いだけ。
業務上で本当に必要なら当然認定してくれるだろう。認定してくれなかったらそれは必要ない物だってことだ。
全てのPCにインストールするのが面倒なんてのも関係ない。面倒でも必要ならばやる、それが「仕事」ってものです。

あとは全て貴社の社内で解決するべき問題なので、よろしくお願いします。
まあPrintScreenの張り合わせで満足できるならそれでもいいが。

それと、マクロもアドインも導入の手間は同じような物だよ。マクロだってそのマクロを含むブックを配布しなければ全てのPCで使えるようにはならないし、
ブックを共有できるシステムが構築されてるならそれを利用してアドイン共有しちゃえば良いだけ。仮想プリンタだって同じ。
85名無しさん@そうだ選挙にいこう:2007/11/19(月) 22:08:27
ちょっと聞いてください。

うちは父一人、娘一人の二人暮らしでした。
父は再婚もせずに私を育ててくれましたが、やはり男性でしたし、相手が欲しかったようで
中学二年の頃から、私が毎晩父の相手をしていました。

最初はよくわからなかったのですが、父が優しく手ほどきをしてくれて
大好きな父が相手でしたから、私も嬉しくて、素直な気持ちで毎晩相手をしていました。
父はとても上手で、いろんな角度から私を攻めてきました。
二人で時間を忘れて朝まで続けてしまったこともあります。

そんな父もすでに亡くなり
今では母親となった私は、当時のことを思い出しながら
夫だけではなく中学生になった息子も相手にしています。

夫と息子がしているのを見るのも好きです。
夫が一番弱いですね。
息子はけっこう強いです。













ちなみに将棋の話です。
86名無しさん@そうだ選挙にいこう:2007/11/19(月) 22:26:00
オートフィルタで抽出された行を切り取りしたいんですが、
切り取り→貼り付けってすると抽出されてない行も切り取られて付いて来ちゃいます。

ある値が入ってる行だけのシートとその項目のないシートに分けたいのですがどうすればよろしいのでしょうか?
87名無しさん@そうだ選挙にいこう:2007/11/19(月) 22:42:57
>>86
抽出した列を選択したらどう?
88名無しさん@そうだ選挙にいこう:2007/11/19(月) 22:49:17
可視セルのみ選択してコピー
8986:2007/11/19(月) 23:02:53
>>88
レスありがとうございます。
コピーなら行けるんですけど可視セル切り取りができないんですよ。
コピー→貼り付け。元の行は削除で行くことにします。

>>.87
列っすか??
90名無しさん@そうだ選挙にいこう:2007/11/19(月) 23:23:51
excel2003 XP 
マクロを含むブックがあってブックを開いた後、自作マクロを実施するときに、
昨日までは長いこと、正常に動いていたのですが、次のメッセージが出て
実行できなくなりました。
今日、あるフリーウェアー乃至シェアウエアー(マクロ等は隠している)の
エクセルを実施した後からです。

エラーメッセージとして、
ファイルにアクセスできませんでした。次のいずれかを行ってみてください。
・指定したファイルがあることを確認します。
・ファイルを含むフォルダーが、読み取り専用になっていないことを確認します。
・指定したファイルの名前に次のいずれかの文字も含まれていないことを確認します。
     : < > ? 最後につけたファイル名.xls *
・ファイル名およびパス名が半角で218文字より長くなっていないことを確認します。

いずれも、確認済みで該当なしですが、動きません。気になるのは最後に就け
たファイルの名前が出てくることです。

アドバイスをお願いします。
9182:2007/11/19(月) 23:30:50
>>83-84
回答ありがとうございます。
PrintScreenだとちょっと厳しいです。PDF以外の仮想プリンタというのは知りませんでした。勉強してみます。
どうもありがとうございました。

92名無しさん@そうだ選挙にいこう:2007/11/19(月) 23:41:38
>>89
編集→ジャンプ→セル選択→可視セル
9390:2007/11/20(火) 00:03:35
自己解決しましたw
自作マクロの設定が不十分と思っていろいろやっていたのですが、結局、
フリーウェア乃至シェアウエアのエクセルを再度、実施して、終了させたら
自作マクロが正常に動きました ;(~o~);
スレ汚し、すまそ
94名無しさん@そうだ選挙にいこう:2007/11/20(火) 01:13:10
ユーザーフォームのテキストボックス内のテキスト表示が収まりきっていない場合に、
ControlTipTextのようにマウスのポイントで全文を表示させたいのですが、
どうすればよいのでしょうか?
95名無しさん@そうだ選挙にいこう:2007/11/20(火) 05:37:48
>>78
つ【インポート】
96名無しさん@そうだ選挙にいこう:2007/11/20(火) 05:42:04
>>73
フリーだとこう考える。

× ちょっと本気で覚えないと仕事が増えるかな?
○ ちょっと本気で覚えれば仕事が増えて、ウマーかな?
97名無しさん@そうだ選挙にいこう:2007/11/20(火) 09:16:52
【1 OSの種類         .】 Windows98
【2 Excelのバージョン   】 Excel2k
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】TRANSPOSE関数・列と行の入れ替えなど

A・B・C列に入ってるデータを
A1・A2・A3・B1・B2・B3・・
と1行につき3列ずつ、横1行に並べ替えることは可能ですか?
98名無しさん@そうだ選挙にいこう:2007/11/20(火) 13:42:46
>>97
C3まで行ったら終わり?
9個ずつの並べ替えならTRANSPOSEを3つ手作業で入力してからコピーとか。
99名無しさん@そうだ選挙にいこう:2007/11/20(火) 14:36:27
すいません、31*50行あります
具体的にいうと、50人分のタイムカードの時間計算に使う表です
1日目・・Aが出勤時間、Bが退出時間、Cが休憩時間
2日目・・Dが出勤時間、Eが退出時間・・
となっている表があり、
このままだとうち間違いがあまりにも多発するため、
タイムカードどおり縦に入力して、
それを横向き(以前まで入力していた部分)に反映させたいのです
(そうしないと上司は納得しないんです・・)
100名無しさん@そうだ選挙にいこう:2007/11/20(火) 14:43:59
教えてください!!
エクセル2007、ワード2007でシート保護の設定ができないんです?
パスワードを決める画面がどうしてもでてこないんです?
2003のときはたしか、ツールから保護シートができたんですけど、2007にはツールのタグもない
んです。
誰か助けて!!
101名無しさん@そうだ選挙にいこう:2007/11/20(火) 14:45:00
入力用と計算用のシートなり別に作って雛形にすればいい
102名無しさん@そうだ選挙にいこう:2007/11/20(火) 14:56:46
>>100
どちらも「校閲」タブにでっかいのがあるだろが。よく探せ。
103名無しさん@そうだ選挙にいこう:2007/11/20(火) 15:34:03
101さん
2003のファイルみたいにパスワードを入れて
みれるようにならないんです?
104名無しさん@そうだ選挙にいこう:2007/11/20(火) 16:04:27
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ

セルに0からはじまる数字を入力したいのですが0が消えてしまいます。
(たとえば01111だったら1111になってしまう)
どうすれば入力できるようになるのでしょうか?
教えてください><

105名無しさん@そうだ選挙にいこう:2007/11/20(火) 16:09:19
>>104
セルの書式設定で文字列を指定
106名無しさん@そうだ選挙にいこう:2007/11/20(火) 16:15:09
>>104
桁数が例えば5桁と決まってるなら書式設定のユーザー定義で00000にする。
桁数が毎回違ってて、文字列になってしまってもいいのなら先頭に ' を付けて入力する。
107名無しさん@そうだ選挙にいこう:2007/11/20(火) 16:18:50
>>99
入力(並べ替え)は毎日?
それとも月末にまとめて?
毎日やるなら入力フォームを使った方がいいかもよ。
108名無しさん@そうだ選挙にいこう:2007/11/20(火) 16:20:23
>>106
解決しました!
ありがとうございます!
109名無しさん@そうだ選挙にいこう:2007/11/20(火) 17:00:39
【1 OSの種類         .】 WindowsXP-HE
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA 条件 2つ以上の処理

条件構文で質問です。If判定の後に、2つ以上の処理をするにはどうしたら
よいでしょうか? 例えば

If A = B Then C = D , E = E + 1 , F = 100

のような感じです。
110名無しさん@そうだ選挙にいこう:2007/11/20(火) 17:18:12
>109
これでいいですか?
If A = B Then
C = D
E = E + 1
F = 100
End If
111名無しさん@そうだ選挙にいこう:2007/11/20(火) 17:35:27
>>109
ああ、・・・ 最後のEnd If が抜けていた・・・

Thx
112名無しさん@そうだ選挙にいこう:2007/11/20(火) 17:51:42
>>103=100?
少なくとも100に書いてあるExcel2003のツール>保護>シートの保護でできることは、
Excel2007の校閲>変更>シートの保護でまったく同じことが出来る。
違うと言うなら、おまいが別の機能を「シートの保護」と誤解しとる。

パスワードがないと開けない(読み取りパスワードの設定)ようにしたいなら、
2007の場合はOfficeボタン>配布準備>ドキュメントの暗号化を使え。
113名無しさん@そうだ選挙にいこう:2007/11/20(火) 19:49:11
>>107
月末にまとめて一月分入力です
114名無しさん@そうだ選挙にいこう:2007/11/20(火) 19:50:49
>>109
こういう書き方も出来る。式や命令をコロンで区切る。この場合はEnd Ifは書かない。

If A = B Then C = D : E = E + 1 : F = 100
115名無しさん@そうだ選挙にいこう:2007/11/20(火) 20:05:43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ

エクセルでB4用紙に横に印刷された表をA4で縦に印刷しなおしたいのですが
ページ設定で位置を縦にして%を小さくしてみたのですが
縦になっても上半分で切れてしまったり1枚に収まってもA4の上半分
ぐらいの小さな表になってしまったりと上手く出来ません。
どうすれば綺麗におさまるでしょうか?
116名無しさん@そうだ選挙にいこう:2007/11/20(火) 20:09:53
>>115
>A4の上半分ぐらいの小さな表になってしまったり
・・・これで正解だから

大きく印刷したいならA4【横】で印刷しなさい
117名無しさん@そうだ選挙にいこう:2007/11/20(火) 20:43:06
>>113
それならVBAでやった方が早いかな。
Sheet2からSheet1へ、順番を変えながらデータをコピーする

Sub TimeCardCopy()
Dim Person, Day1, Col1

Application.ScreenUpdating = False ' 画面更新を一時的に止める
Application.Calculation = xlCalculationManual ' 再計算を一時的に止める

For Person = 1 To 50 ' 50人分
For Day1 = 1 To 31 ' 31日まで
For Col1 = 1 To 3 ' 3マスずつコピー
Worksheets("Sheet1").Cells(Person, Day1 * 3 + Col1 - 3) = Worksheets("Sheet2").Cells(Day1, Person * 3 + Col1 - 3)
Next Col1
Next Day1
Next Person

Application.ScreenUpdating = True ' 画面更新する
Application.Calculation = xlCalculationAutomatic ' 再計算する

End Sub
118名無しさん@そうだ選挙にいこう:2007/11/20(火) 21:12:40
>>117
ありがとうございます!
これでうまくいきそうです
119115:2007/11/20(火) 21:30:37
>>116
会社で上司に頼まれたのですが私も最初A4横で印刷したら「こうじゃなくて縦長にA4用紙に
納めて」と言われてしまいました。どうやっても、縦にすると横が半分ぐらいきれてしまいます。
印刷設定ではここまではできないのでしょうか。。。
120名無しさん@そうだ選挙にいこう:2007/11/20(火) 21:36:54
excelを買おうと思って価格comで調べたんですが、(AC)ってのはなんでしょうか?
(UPG)はアップグレード版だとわかるのですが。
無印の Office Excel 2007 って言うのを買えばいいのでしょうか?
OSはwinです。
よろしくお願いします。
121名無しさん@そうだ選挙にいこう:2007/11/20(火) 21:38:18
>>119 ページ設定で 縦?ページ×横?ページに収めるって設定がある 1X1にすればおk
122名無しさん@そうだ選挙にいこう:2007/11/20(火) 21:39:07
>>120
あかでみっく?
123名無しさん@そうだ選挙にいこう:2007/11/20(火) 21:43:23
>>119
無理やりA4におさめたいのなら、
印刷したいセルを選択して、「印刷範囲の設定」を選ぶ。
次に、印刷プレビューを見る。設定で余白を狭めたり、
拡大率を変更し、ページ枚数が一枚になるようにする。

分かりにくい説明だと思うが、これでできるはず。
124115:2007/11/20(火) 22:02:52
>>116,121,123
ありがとうございます。明日また挑戦してみます。
125名無しさん@そうだ選挙にいこう:2007/11/20(火) 22:04:38
>>122
あっ、なるほどー
ってことは学生さん用ですね。
レスありがとうございます。
126名無しさん@そうだ選挙にいこう:2007/11/20(火) 22:12:43
=SUMPRODUCT((A1:A10)="AAA")*(B1:B10="EEE")*(C1:C10))

上記は、A列が"AAA"で、B列が"EEE"の行の対応するC列の値を合計する
式ですが、例えばA列に"BBB"と"CCC"が存在し、これらもOR条件で集計
したい場合のスマート書き方がありましたら教えてください。
気持ちとしては、下記のような式を作りたいと思っています。

=SUMPRODUCT((A1:A10)="AAA"or"BBB"or"CCC")*(B1:B10="EEE")*(C1:C10))
127名無しさん@そうだ選挙にいこう:2007/11/20(火) 22:26:13
配列とVBA、実務で比較的役に立つのはどちらでしょうか?
128名無しさん@そうだ選挙にいこう:2007/11/20(火) 22:35:00
>>127
VBA。VBAの中には配列も含まれるし。

仕事の内容にもよるけど、Excelそのものの使い方よりも計算に対する一般常識をたくさん知っていた方がいい。
129名無しさん@そうだ選挙にいこう:2007/11/20(火) 22:37:07
>>125
別に学生でなくとも教職関係者であればアカデミック版は購入可能だと思うが
130名無しさん@そうだ選挙にいこう:2007/11/20(火) 22:41:26
>>126
条件の and は * に、or は + に置き換えればいい。
+は*よりも優先順位が低いからカッコでまとめること。

=SUMPRODUCT(((A1:A10="AAA")+(A1:A10="BBB")+(A1:A10="CCC"))*(B1:B10="EEE")*(C1:C10))
131名無しさん@そうだ選挙にいこう:2007/11/20(火) 22:47:33
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 自動 ファーム 入力

http://toi.kuronekoyamato.co.jp/cgi-bin/tneko

発送管理と発送状態をすぐわかるように
このクロネコヤマトのお問い合わせに自動でお問い合わせを入力して、お問い合わせボタンを押してくれるようなの希望です。

相手方の 名前  住所 メモ  の横にお問い合わせ番号を書いといて、その番号のリンクをダブルクリックすると上記のように
クロネコのサイトが開いて、自動で書いてあるお問い合わせ番号入力、お問い合わせボタンを押してくれたら感激です。
132名無しさん@そうだ選挙にいこう:2007/11/20(火) 22:51:52
>>128
どもっす
133名無しさん@そうだ選挙にいこう:2007/11/20(火) 23:34:25
>>131
検索したらこういうのがありました。応用できそうです。
ttp://q.hatena.ne.jp/1168525751
134名無しさん@そうだ選挙にいこう:2007/11/21(水) 12:22:22
そこの回答者も大変だな、けんもほろろ。
135名無しさん@そうだ選挙にいこう:2007/11/21(水) 12:27:42
クロネコの問い合わせページは暗号化されたアクセス日時が隠しフォームに入ってて、
いきなりリクエストだけ送ってもダメだからちょっと面倒だね。
136名無しさん@そうだ選挙にいこう:2007/11/21(水) 18:01:44
初心者です! 
次のエクセルの式の情報関連のレポートの宿題ですが、

=IF(A1+B1*(1+C$1>100,IF($D1<>"X","あ","い"),"う")
の式についてどういう意味かできれば具体的にお教え願います。

@特に、+と*のどちら先に計算されるのか
AIF関数とその入れ子についてと、
B"あ" "い" "う"と表示されるのはどのような場合か

どうぞ宜しくお願いします。
137名無しさん@そうだ選挙にいこう:2007/11/21(水) 18:16:09
>>136
おめーのようなのは、おれはスルーだ
138名無しさん@そうだ選挙にいこう:2007/11/21(水) 18:27:00
>>136
宿題は自分でやれ!

一言だけ教えてやると、その式、たぶん一箇所 ) を写し間違えてるぞw
139名無しさん@そうだ選挙にいこう:2007/11/21(水) 20:00:29
使い始めたばかりのど素人ですがよろしくおねがいします。
データ分析の回帰分析から回帰直線y=a+bxのaとbを求めたものと、
データを散布図にプロットして線形近似した式と比べてみたのですが
式が一致しませんでした。線形近似は回帰直線にならないのでしょうか。
140名無しさん@そうだ選挙にいこう:2007/11/21(水) 20:05:18
>>131
これで一応希望の動作はできるから、あとは自分の作ったブックに合わせてカスタマイズしてね。
VBAは「いいえ」になってるけど、ブラウザの操作はVBAを使わないと無理だから、がんばって勉強してね。

Sub Kuroneko_check()

' IEオブジェクトのインスタンス化
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True ' ブラウザを開く

' クロネコのサイトに飛ぶ
objIE.Navigate "http://toi.kuronekoyamato.co.jp/cgi-bin/tneko"
Do While objIE.Busy = True 'ページが表示されるまで待つ
DoEvents
Loop

' 伝票番号をセルA1から取得してフォームにセット
objIE.document.all.number01.Value = Range("A1").Value

' テスト用仮データをセット (動作確認用)
objIE.document.all.number01.Value = "1111-2222-9993"

' 問い合わせボタンをクリック
objIE.document.all.sch.Click

End Sub
141名無しさん@そうだ選挙にいこう:2007/11/21(水) 20:11:59
>>136
そういうのはまず、自分で実際にエクセルの画面に入力して確かめてみるところから始めるといい。
そうすると入力ミスしていないかどうかも確認できるし。

1つだけヒント
+ は足し算
* はかけ算。×のかわりに * と書く決まり。どっちを先に計算するかは小学校で習ったよね?
142名無しさん@そうだ選挙にいこう:2007/11/21(水) 20:41:27
>>136
宿題なら教科書をみて自分で考えれ
143名無しさん@そうだ選挙にいこう:2007/11/21(水) 20:56:45
>>131

個人相手ではどうか知らんが、法人ならばやり方教えてくれるかもよ>クロネコ
131が物流と言う言葉にピンと来れば、そこに聞いてみるといい。
144名無しさん@そうだ選挙にいこう:2007/11/21(水) 21:21:00
初歩的な質問ですみません。

Excel2007の単独導入を考えているのですが、
Excel2007にMS数式3.0は付いてきますか?
145名無しさん@そうだ選挙にいこう:2007/11/21(水) 23:44:32
VBAでデスクトップにある<aaa>フォルダーの<bbb.csv>ファイルを開きたい。
Workbooks.Open Filename:= の続きを教えてください。
146名無しさん@そうだ選挙にいこう:2007/11/21(水) 23:51:48
>>145
これでいいの?Windowsのバージョンによってはパスが違うことも…

Workbooks.Open Filename:="C:\Documents and Settings\ユーザー名\デスクトップ\aaa\bbb.csv"
147145:2007/11/22(木) 00:01:46
サンクスです。
できました。
148名無しさん@そうだ選挙にいこう:2007/11/22(木) 00:04:52
>>145
デスクトップのフォルダ名は以下のようなメソッドで取り出すことが出来ます。

CreateObject("WScript.Shell").SpecialFolders("desktop")

これを応用して書き換えるとこうなります。

Workbooks.Open Filename:=CreateObject("WScript.Shell").SpecialFolders("desktop") & "\aaa\bbb.csv"

これならユーザー名が変わってもWindowsのバージョンが変わってもそのまま使えます。
149145:2007/11/22(木) 01:00:50
サンクス。
それいいですね。
150リース:2007/11/22(木) 09:32:12
http://successmix.xsrv.jp/
ってビジネスどう思う?
これなら、できる?
151名無しさん@そうだ選挙にいこう:2007/11/22(木) 09:49:08
>>150
全然、欲しいとも思えない商品ばかり。悪質なマルチ商法
152名無しさん@そうだ選挙にいこう :2007/11/22(木) 11:46:29
【1 OSの種類         .】 WindowsXP-HE
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA セル 選択 不連続 グラフ

不連続(飛び飛び)のセルの数値を使ってグラフを作成したく思っています。

例えば、http://www.imgup.org/iup506935.jpg で、土地の行のAさん〜Cさん
の2006年のデータを円グラフにする際には、どのような記述になるのでしょうか?
この場合だと、対象の数値は、100,150,500 となります。
153名無しさん@そうだ選挙にいこう:2007/11/22(木) 12:21:18
不連続の表を連続の表に変換してからグラフにしたほうが簡単だな
154名無しさん@そうだ選挙にいこう:2007/11/22(木) 15:32:32
>>151
おまえいいやつだな。単なる広告コピペにわざわざレスつけるなんて。
155名無しさん@そうだ選挙にいこう:2007/11/22(木) 15:45:03
>>152
フィルターかけてからグラフを作成。非表示のセルを空白に。

あるいはデータの範囲を
=Sheet1!B4,Sheet1!D4,Sheet1!F4
みたいにコンマで区切って並べれば飛び飛びのセルを指定できる。
Ctrl押しながらクリックして複数のセルを選択してからグラフを作っても同じこと。
156名無しさん@そうだ選挙にいこう:2007/11/22(木) 17:08:01
>>153,155
さんきゅうです。やってみます。
157名無しさん@そうだ選挙にいこう:2007/11/22(木) 19:48:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】 小数点 揃え セル等々

かなり初歩的な質問だと思うのですがお願いします。

http://image13.bannch.com/bbs/185085/img/0082290336.jpg
このように縦に数字の桁をそろえるにはどうしたらいいのでしょうか?



158名無しさん@そうだ選挙にいこう:2007/11/22(木) 20:17:40
ちょっとちがうかもしれないけど書式を ???.?? としてみる (?が3つ ピリオドが1つ ?が2つ)
159名無しさん@そうだ選挙にいこう:2007/11/22(木) 20:42:17
横からスマソ
その???.??は書式→セル等、どうやっていれるか教えてくれ
160名無しさん@そうだ選挙にいこう:2007/11/22(木) 20:52:09
書式と言うか書式設定の中の表示形式、更にその中のユーザー定義
Excelでは書式と言うと、セルの文字色や背景色、罫線などまで含めたものを指す

それと???.??より0.??の方が良いだろうな
まぁ、どちらにしろ整数でも小数点が表示されるのが嫌だとか言い出しそうだがな
その場合はVBA使うとかセル分けするとかかな
161名無しさん@そうだ選挙にいこう:2007/11/22(木) 21:00:52
>>159
こうやるの。基本中の基本だからしっかり覚えておくように
ttp://www.wanichan.com/pc/faq/excel/02.htm
162名無しさん@そうだ選挙にいこう:2007/11/22(木) 21:27:31
>>157
(1) ここで説明する方法はExcel2003以前では使えないので、まずExcel2007に乗り換える
(2) セルを右クリックして「セルの書式設定」→「書式」→「ユーザー定義」を開いて「??0.??」と入れる
(3) 同じく「セルの書式設定」の中の「配置」タブを開き、横位置を「左詰め (インデント)」にしてインデントを1にする
(4) 条件付き書式を開き、「新しいルール」→「数式を使用(r」を選ぶ
(5) 数式のところに「=A1=INT(A1)」と書き、書式をユーザー定義で「??0」にする

このとおり
ttp://pict.or.tp/img/31351.png
163名無しさん@そうだ選挙にいこう:2007/11/22(木) 21:29:28
へー 2007買おうかな
164名無しさん@そうだ選挙にいこう:2007/11/22(木) 21:38:15
MS ゴシック のような等幅フォントにして小数点以下がないものは半角スペースを3つ
小数点以下が一桁ある場合は半角スペースを1つ入れる
配置を右詰めにしたらできあがり
2003以前でも対応可

俺って天才
165164:2007/11/22(木) 21:41:45
値の最初に「'」をつけるのを忘れずに^^
166名無しさん@そうだ選挙にいこう:2007/11/22(木) 21:49:23
それじゃ式に使えないじゃない
167名無しさん@そうだ選挙にいこう:2007/11/22(木) 22:16:11
前スレで、=MAX(0,)を教えてもらったものです(Excel9007使用)m(_ _)m

H3に、
=MAX(0,(F3-F2-G2)*0.05)という計算式を入れてますが、ここに小数点以下は切り捨てという条件も入れるにはどうしたらよいでしょうか?
H4にINT関数入れれば出来るのは知っているのですが、一つにまとめたいので。
168名無しさん@そうだ選挙にいこう:2007/11/22(木) 22:24:45
>>167
式全体をINT( )のカッコの中に入れればいいんだよ。

=INT(MAX(0,(F3-F2-G2)*0.05))
169名無しさん@そうだ選挙にいこう:2007/11/22(木) 22:35:36
>>168
ありがとうございましたm(_ _)m
170名無しさん@そうだ選挙にいこう:2007/11/22(木) 23:16:04
9007 いいなあ
171名無しさん@そうだ選挙にいこう:2007/11/22(木) 23:55:23
>>157
VBA使っていいならThisWorkbookに
Private Sub autochange(ByVal Target As Range)
Dim c As Range, f As String, s As String, e As String
On Error Resume Next
Application.EnableEvents = False
For Each c In Target
f = c.NumberFormat
If Right(f, 7) = "AUTO1""@" Then
s = Mid(f, InStr(1, f, """", vbTextCompare) + 1, Len(f))
s = Left(s, InStr(1, s, ";AUTO1""", vbTextCompare) - 1)
If Int(c.Value) = c.Value Then
e = Left(s, InStr(1, s, ";", vbTextCompare) - 1)
c.NumberFormat = e & ";""" & s & ";AUTO1""@"
Else
e = Mid(s, InStr(1, s, ";", vbTextCompare) + 1, Len(s))
c.NumberFormat = e & ";""" & s & ";AUTO1""@"
End If
End If
Next
Application.EnableEvents = True
End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
autochange Sh.UsedRange
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
autochange Target
End Sub
こんな感じにして表示形式を
0.00;"0_._0_0;0.00;AUTO1"@
にする
172名無しさん@そうだ選挙にいこう:2007/11/23(金) 02:32:11
WindowsXP
Excel2000
VBA使えません。

y軸に普通の値を、x軸に乗数を含む数値を入れた滑らかなグラフを作りたいのですが、どうすればいいんでしょうか。
折れ線で試したのですが、x軸の値が乗数表示できず、10-6のように表示されてしまい、
また、滑らかなグラフになりません。
173名無しさん@そうだ選挙にいこう:2007/11/23(金) 03:34:19
>>172
自動的に乗数を出すことはできないので、データラベル用の列か行を自分で作っておく必要がある。
例えば10のマイナス6乗を書きたい場合は、まず「10-6」と入力してから「-6」の部分だけを選択して、
書式→セルを開いて「上付き」をチェックする。
先に1つだけ作って、それをコピーしてから数字だけを修正していった方が早くできる。

グラフをなめらかな曲線にするには、まず折れ線グラフを作ってからプロパティ→系列→書式を選んで
「スムージング」にチェックを入れる。
174173:2007/11/23(金) 03:40:56
あ、スマン。たしかに書式が無視されるね。これは気が付かなかった。
175172:2007/11/23(金) 04:05:44
>>173
セル上はちゃんと乗数になってるのに、グラフの数値では書式が戻ってしまうんですよね。
これはどうしようもないんでしょうか…。
176名無しさん@そうだ選挙にいこう:2007/11/23(金) 04:10:13
指定した文字があるセルにジャンプすることはできる?
「E」と入力すると「English」というセルに飛べるか
177名無しさん@そうだ選挙にいこう:2007/11/23(金) 04:37:37
>>175
VBAでできないか調べてみたけど、軸ラベルは単純な文字列じゃないんだね。
オートシェイプのテキストボックスを重ねるしかないかなあ。
178177:2007/11/23(金) 05:04:20
>>175
とりあえずオートシェイプで誤魔化してみた。俺の頭じゃこれが限界だ。
ttp://upsurusuru.hp.infoseek.co.jp/cgi-bin/src/up1301.png
179172:2007/11/23(金) 05:24:40
>>177
わざわざスクショまでうpしていただいて、ありがとうございます。
やってみます。本当にありがとうございました!
180名無しさん@そうだ選挙にいこう:2007/11/23(金) 07:47:28
>>130
遅ればせながらできました。ありがとうございました!
181名無しさん@そうだ選挙にいこう:2007/11/23(金) 08:39:20
>>176 検索
182名無しさん@そうだ選挙にいこう:2007/11/23(金) 19:05:37
>>176
ブックやシートには標準ではKeyPressイベントが公開されてないから、
どっかからオーバーライドしてくるか、別のプロセスでイベントハンドラを用意しないとダメかも。
不可能ではないけど、けっこうめんどくさい。
183名無しさん@そうだ選挙にいこう:2007/11/24(土) 01:50:45
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 関数 検索 lookup 空白 無視 ...等

    A      B      C
 
1  01A01  02A02  03A03
2        02B02  03B03
3  01C01  02C02  03C03
4 
5        02D02  03D03
6 
7  01E01  02E02


という表で、たとえば
A10に01A01と打ち込むとその行の一番右列にある03A03を返す
A10に02D02と打ち込めばその行の一番右列にある03B03を返す
A10に01E01と打ち込めばその行の一番右列にある02E02を返す

という関数を作りたいのですが上手くいきません。何かいい方法はないでしょうか?
空白の行・セルはソートはできません。
184名無しさん@そうだ選挙にいこう:2007/11/24(土) 03:05:39
>>183
ちょっと長くなるけど

=IF(ISERROR(VLOOKUP(A10,A1:C7,3,FALSE)),IF(ISERROR(VLOOKUP(A10,B1:C7,2,FALSE)),"",
VLOOKUP(A10,B1:C7,2,FALSE)),IF(VLOOKUP(A10,A1:C7,3,FALSE)="",
VLOOKUP(A10,A1:B7,2,FALSE),VLOOKUP(A10,A1:C7,3,FALSE)))
185名無しさん@そうだ選挙にいこう:2007/11/24(土) 09:20:36
>>183
一番左に1列挿入して次の式を入力
=LEFT(B1&C1&D1,5)
この列を検索範囲に入れて
=VLOOKUP(A10,A1:D7,4,1)
186名無しさん@そうだ選挙にいこう:2007/11/24(土) 11:14:17
すみませんが教えて下さい。

PCの買替え(→vista)を検討中ですが、Excel2000で作成したファイルは
いきなりExcel2007で作業することは可能ですか?

【1 OSの種類         .】 Windows98SE
【2 Excelのバージョン   】 Excel2000
187名無しさん@そうだ選挙にいこう:2007/11/24(土) 11:27:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

セル内の文字の中から、指定の文字を数える方法はありませんかね?
たとえばセル内に aaaabcd と書いてある場合、a の数が4個だと分かるような関数はありますか?Len関数を使えば、上記の場合7と答えが出ますが、文字の指定はできなかったはずです。
188名無しさん@そうだ選挙にいこう:2007/11/24(土) 12:42:10
>>187
釣りじゃないよね?
=LEN("aaaabcd")-LEN(SUBSTITUTE("aaaabcd","a",""))
「元の文字数」−「指定文字を除いた文字数」
簡単だろ。
189名無しさん@そうだ選挙にいこう:2007/11/24(土) 13:23:47
うぜー
190名無しさん@そうだ選挙にいこう:2007/11/24(土) 14:40:09
エッ! 難しかったの?
191名無しさん@そうだ選挙にいこう:2007/11/24(土) 15:46:44
お尋ねします
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

セル内の二色を使った文字列のうち1色だけを他の色に置き換えることはできないんでしょうか
「置換」を使うとセル内すべての文字色が置き換わってしまうのですが

赤黒→青黒にしたいところ
赤黒→青青になってしまいます
192名無しさん@そうだ選挙にいこう:2007/11/24(土) 17:20:32
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ

2003で作成したものを2007で読むとウインドウ枠の固定ができません。
ページによってはできるのですが、そこが白黒表示でできません。
同様の方はいらっしゃるでしょうか。
また、解決法などあるでしょうか。
193名無しさん@そうだ選挙にいこう:2007/11/24(土) 17:59:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

会計ソフト(市販のモノです)からエクスポートしてきたデータ(エクセル形式)を貼る付けと同時に加工することは可能でしょうか?
例えば貼りつけるとすぐに「売上債権回転率」や「流動比率」などを計算させる、などです。
貼りつけた数値の位置が毎回同じなら良いのですが、月次によって勘定科目の増減がありますので、
貼る付ける位置が常に同じとは限りません。
何か良い方法はありませんでしょうか?
194名無しさん@そうだ選挙にいこう:2007/11/24(土) 21:08:13
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

既に打ち込まれてある数値(少数)をセルごと100倍するにはどうすればいいでしょうか。
ググルと関数でできるような事が書いてありますが、できませぬ。。
お助け願います。
195名無しさん@そうだ選挙にいこう:2007/11/24(土) 21:19:45
なんか回答がないようだがレベルが高いのか?低いのか?
196名無しさん@そうだ選挙にいこう:2007/11/24(土) 21:26:20
どうしたいのか今一わからぬ。
もう少しわかりやすどうしたいか書くとイイかもね。

例えば>>194
=A1*100みたいに計算したらだめなん?
関数を使いたいの?
197名無しさん@そうだ選挙にいこう:2007/11/24(土) 21:29:48
>>195
このスレって質問者が中級で回答する人が初中級というヘンなスレです。
前から見ててそう思ってます。
198名無しさん@そうだ選挙にいこう:2007/11/24(土) 21:35:10
>>193
情報が足りない。張り付けるのは数値だけなのか数値と項目名なのか。縦一列なのか表形式なのか。
数値だけなら無理だな。項目名もあるならDSUMあたりでなんとかなるだろう。
199名無しさん@そうだ選挙にいこう:2007/11/24(土) 21:42:37
>>197
で、あんたのレベルは?
200名無しさん@そうだ選挙にいこう:2007/11/24(土) 21:44:28
>>199
図星だね。
そういうレスが来るのがその証拠だ。 笑
201名無しさん@そうだ選挙にいこう:2007/11/24(土) 21:58:19
>>188
トンクス
釣りじゃないよ、まだ慣れていないんだ
202183:2007/11/24(土) 22:16:47
>>184
ありがとうございます。
しかし実際使う表が800行ぐらいあるので厳しいです。。。

>>185
ありがとうございます。
01A01でやると0が返ってきたり、02B02でやると03C03がきたりしてちゃんとできませんでした。。。
203名無しさん@そうだ選挙にいこう:2007/11/24(土) 22:25:43
>>202
>しかし実際使う表が800行ぐらいあるので厳しいです。。。
800回記入しなくても、式をコピーできるのは知ってる?
204183:2007/11/24(土) 22:38:57
>>203
書き方が悪かったですすいません
制限文字数以上いきそうです・・・。
205名無しさん@そうだ選挙にいこう:2007/11/24(土) 22:40:51
>>183 >>202
各行の最左項をキーに最右項のデータを検索するって事でいいのなら

「185改造案」

D列に:=LEFT(A1&B1&C1,5)
E列に:=RIGHT(A1&B1&C1,5)
検索式は:=VLOOKUP(A10,D1:E7,2,0) 最後の項は1じゃなくて0の間違い
206183:2007/11/24(土) 22:47:56
>>205
途中で0にしてみて、できた!と思ったんですがだめでした
最左項だけではなく、最右項以外(>>183 1行目でいうと、01A01か02A02)がキーだったら最右項の03A03を返すです
空白行や空白セルがある&頭に数字が付いてるのが厳しい。。。
207名無しさん@そうだ選挙にいこう:2007/11/24(土) 22:50:49
>>197
残念、ハズレ

質問者も回答者も初級以下から上級まで様々です
ただし、質問者にはPCやExcelのレベルに関係なく
日本語出来てなかったり、要領を得ない質問してたりする奴が多い傾向にはあるけどね
その為に回答が滞りがちではある
208名無しさん@そうだ選挙にいこう:2007/11/24(土) 22:57:36
>>206
後から条件を追加しちゃダメだよ
209名無しさん@そうだ選挙にいこう:2007/11/24(土) 23:06:02
>>191
ひとくちに赤、青と言っても、明るかったり暗かったりいろんな色があるから
標準以外の色を使っていた場合にはこのVBAは使えないので注意。

Sub test() ' 呼び出しサンプル
ChangeColor ("A1") ' 置き換えたいセルを指定する
End Sub

Sub ChangeColor(R) '指定されたセルの赤い文字だけを青に変える
For I = 1 To Len(Range(R))
If Range(R).Characters(Start:=I, Length:=1).Font.Color = vbRed Then Range(R).Characters(Start:=I, Length:=1).Font.Color = vbBlue
Next I
End Sub
210名無しさん@そうだ選挙にいこう:2007/11/24(土) 23:12:38
>>193
行数の増減があったとしても、下から数えて必ず同じ位置に同じ項目が来るなら
VBAなどを使って処理することは可能。
211名無しさん@そうだ選挙にいこう:2007/11/24(土) 23:32:01
>>207
残念。
回答者に上級レベルなど居ません。
それでもあると仰るのであれば具体的な指摘をお願いしたい。
212名無しさん@そうだ選挙にいこう:2007/11/24(土) 23:32:02
>>206
最大何列まであるの?行数はどんだけあっても関係ないから。
あと、800行あるなら検索するデータの入力先もA10じゃないよね。
ありのままの条件を書いて。
213名無しさん@そうだ選挙にいこう:2007/11/24(土) 23:36:19
>>183
そういった変則的な検索条件になるって事は
データベースのフィールドの作り方が間違ってるって事だよ
後々複雑な式になって編集や変更がしにくくなる前に
根本的に表の設計をやりなおしたほうが得策だよ
214名無しさん@そうだ選挙にいこう:2007/11/24(土) 23:43:26
>>194
質問の意味が今ひとつわからないので勝手に解釈するぞ。

まず、適当に使っていないセルに100と入力し、そのセルを選択、コピーする。
次に、100倍にしたいセル(範囲)を選択して右クリック、形式を選択して貼り付け、を開く。
演算の下の「乗算」のラジオボタンをチェック、OKを押すと、選択したセルが一度に100倍される。
215名無しさん@そうだ選挙にいこう:2007/11/24(土) 23:45:24
>>210なんかは回答者だけど日本語読めてないよね。
これなんかはどうよ?>>207
216名無しさん@そうだ選挙にいこう:2007/11/25(日) 00:21:15
的外れだったらすり合わせればいいだけ。
それができない回答否定=人格否定=ボク悪くないお前が馬鹿なのが悪い
っつーお子様が粘着して貼りついてしまってるだけ。
217名無しさん@そうだ選挙にいこう:2007/11/25(日) 00:22:23
焦るなよ
曖昧な質問に無理やり答えようとするからおかしな回答になるんだろ

不明な点、曖昧な点を明らかにするよう誘導くらいはしようぜ
218名無しさん@そうだ選挙にいこう:2007/11/25(日) 00:31:30
>>216
それ自分に言い聞かせてるの?
219名無しさん@そうだ選挙にいこう:2007/11/25(日) 00:39:44
悪い質問には悪い回答しかつかないんだからそれでいいじゃん
220名無しさん@そうだ選挙にいこう:2007/11/25(日) 01:26:25
【1 OSの種類         .】 Windows XP SP2
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】excel 関数 で検索して関数を調べたりしました。


説明がややこしいのでサンプルを作ってみました。

ttp://hilala-web.hp.infoseek.co.jp/excel/sample01.xls

このように、個人ごとの注文表があったとします。
この注文を1つにまとめて、それぞれ鉛筆何本、シャーペン何本という合計の表を
作るのにはどのようにすればいいでしょうか?

個人注文表で品物と個数を選ぶと、別の表ですべての合計が表示される、といった感じにしたいです。


よろしくお願いします!
221名無しさん@そうだ選挙にいこう:2007/11/25(日) 02:00:14
>220
俺あんまり頭良くないから長ったらしい式書いちゃうけど

例えばA10に商品の名前を入れておいて
B10=SUMPRODUCT((G$2:G$7=A10)*(H$2:H$7)+(D$2:D$7=A10)*(E$2:E$7)+(A$2:A$7=A10)*(B$2:B$7))
と入れれば集計は出来ると思う

あとは応用してみて
222名無しさん@そうだ選挙にいこう:2007/11/25(日) 03:46:46
>221
{=SUM((G$2:G$7=A10)*(H$2:H$7),(D$2:D$7=A10)*(E$2:E$7),(A$2:A$7=A10)*(B$2:B$7))}
=SUMIF(A$2:A$7,A10,B$2:B$7)+SUMIF(G$2:G$7,A10,H$2:H$7)+SUMIF(D$2:D$7,A10,E$2:E$7)
=SUMPRODUCT((G$2:G$7=A10)*(H$2:H$7)+(D$2:D$7=A10)*(E$2:E$7)+(A$2:A$7=A10)*(B$2:B$7))
223名無しさん@そうだ選挙にいこう:2007/11/25(日) 03:58:16
>>191
それは仕様なのではないでしょうか。
自分は、Excelでは置換をしない、と決めています。
224名無しさん@そうだ選挙にいこう:2007/11/25(日) 06:23:36
>>211
新参だと知らないかもしれないが、ゴッホ氏とかhoge氏とか
最近は来ないけど、このスレに居た事実は変わらないし
コテ無しでもこのレベルの奴は偶に来てる

(君にとって)残念ながら、(俺にとっては)残念ではなかった
225名無しさん@そうだ選挙にいこう:2007/11/25(日) 09:20:52
>>209
>>223
皆さんありがとうございます
ちょっとVBA勉強してきます
226220:2007/11/25(日) 10:18:11
>>221, >>222
ありがとうございます、その式でとりあえずは集計することができました。
ただ、実際作るものは、山田、田中、鈴木、のように3つではなくもっと多くなってしまいそうです。

かなり長い式を書けばできなくもないんですが、もう少し効率的な方法はないでしょうか?
できれば可変にも対応させたいのですが・・・
(最悪ずっと右のほうまで計算するように作っておけばいいので、あまり重視しません)

よろしくお願いします。
227名無しさん@そうだ選挙にいこう:2007/11/25(日) 10:25:05
>>220
>>213氏が別の質問に対して答えてる内容と同じになるのですが、
マスターとなる表自体の作りを変えた方が良いですよ。
この例だったら、
A列:注文者名
B列:注文品名
C列:注文品の個数
みたいな感じ。

人間にとって見易い表から機械で処理し易い表を作るのは
大変ですが、逆は簡単ですから。
228名無しさん@そうだ選挙にいこう:2007/11/25(日) 10:38:12
そういうのはピボットテーブルで集計するのが楽だね
229名無しさん@そうだ選挙にいこう:2007/11/25(日) 11:34:16
ピボット使う奴は雑魚
230名無しさん@そうだ選挙にいこう:2007/11/25(日) 11:47:47
ん? くやしかったの?
231名無しさん@そうだ選挙にいこう:2007/11/25(日) 11:55:42
>>219
だな。
お前のような質の悪い人間が混じってくる。
232永遠の初心者 ◆adhRKFl5jU :2007/11/25(日) 12:13:02
>>229
ピボットを使う奴は決して雑魚ではない

>>220
例えば
商品表のC2に

=SUMIF(個人注文表!$A$2:$I$7,A2,個人注文表!$B$2:$J$7)

を下にコピーする。
233220:2007/11/25(日) 15:56:34
みなさんレスありがとうございます。

>>227
なるほど。
しかし実際はもっと複雑なのでなかなか簡単にはいかないのです・・・
そして実際に数値を入れるのは他の人(不特定多数に近い)にやってもらうので、
多少式が複雑でも見た目がわかりやすいほうがいいのでこの形にしました。

>>228
ピボットは使ったことないのでまた調べて見ます。

>>232
おお、すばらしい!
これはシンプルでいいですね。

SUMIFの検索範囲、合計範囲が複数列になっていますが、この場合
検索範囲が$A、合計範囲が$Bから始まっているので、検索に合致したセルの
右のセルの値が合計される、という意味になるのでしょうか?
(説明がややこしいですが・・・)
234名無しさん@そうだ選挙にいこう:2007/11/25(日) 17:12:22
>>233
不特定多数が入力するんなら、入力フォームを使ったほうがいいぞ。
集計しやすいように表を作ることも出来るし、入力する位置の間違いなんかも防ぐことが出来る。

商いの規模にもよるけど、ExcelよりAccessを使った方がいいかもよ。
Accessなら複雑な集計がExcelよりは楽に出来ることのが多い。
235 ◆adhRKFl5jU :2007/11/25(日) 18:24:04
>>233
>検索範囲が$A、合計範囲が$Bから始まっているので、検索に合致したセルの
>右のセルの値が合計される、という意味になるのでしょうか?

右のセルの値とは限らないです
今回は検索範囲と合計範囲の大きさ(範囲の形)を同じにしています
選択した検索範囲と同じ形の合計範囲が同じならば、イメージとしては検索範囲と合計範囲を
重ねた時に一致したセルの値が合計されます

例えば =SUMIF(A1:C5."条件",X21:Z25) という式では
B2とC5に"条件"という文字が入っていた場合Y22とZ25の値が合計されます
236 ◆adhRKFl5jU :2007/11/25(日) 18:31:18
書き忘れました
>今回は検索範囲と合計範囲の大きさ(範囲の形)を同じにしています
ヘルプより
「合計範囲に含まれるセルの個数と形状は、必ずしも対応するセルと一致している必要はありません。
加算の対象となる実際のセルは、合計範囲の左上のセルを基準にして決定されます。」

でも一致させた方がわかりやすいので今回は一致させました
237名無しさん@そうだ選挙にいこう:2007/11/25(日) 18:58:06
また出てきたのか>>◆adhRKFl5jU
なんでそんなに自己主張したがるの?
無名で回答すれば、単なる初級回答者として多少は有り難がられるのに
酉付きで出てくると、過去の暴走を知ってる人達から叩かれるだけだよ
238220:2007/11/25(日) 19:45:04
>>234
ありがとうございます。

詳しく説明するとかなり長くなってしまうのでやめときますが、
今回の場合はフォームよりはこっちのほうがよさそうです。

不特定多数といっても、1人1つこのファイルに入力してもらう感じで、
入力者は全部のシートを見て全体をみながら考える・・・といった感じなのです。
わかりにくいかもしれませんがどうでもいいので気にしないでくださいw


>>235
なるほど、そういう事ですか。
かなり参考になりました、ありがとうございます!
239名無しさん@そうだ選挙にいこう:2007/11/25(日) 20:04:24
期間中にクリック数の一番多い国が優勝!
http://www.clickclickclick.com/default.asp (戦場はこちら)
ルールは簡単( ^ω^)認証文字を打ち込んだら、あとはクリックボタンを連打連打!!!
おまえさんたちのクリック魂を見せてくれ!

◇新規さんや古参帰還兵さんへ
初めまして、そして久しぶりです。この熱き戦いももう半年を迎えました。
現在GAME29(11/26-11/30まで)に突入、我らが日本は強豪ハンガリーに苦戦を強いられています。
世界が総力を挙げて競っているこの戦いに、あなたの力を貸してください!

ClickJapanポータルサイト→ http://www.clickjapan.jp/
初めての方はこちらのwikiを→ http://www37.atwiki.jp/clickjapan/
久しぶりに参戦の方へ→ http://www33.atwiki.jp/clickvip/pages/237.html

わからない事はこのスレ(落ちてたら↓から)で聞いてね!(ポータル内のフォーラムでもOK!)
http://www.clickjapan.jp/find2ch.php

【砲台ランキング】一番クリックした国が優勝【はじめました】
http://yutori.2ch.net/test/read.cgi/news4vip/1195966264/
240194:2007/11/25(日) 23:34:04
>>214
うをを、簡単にできました。
どうもありがとうございました。

こんなの本に載ってないし、ググっても出てこないのでまいります。
241名無しさん@そうだ選挙にいこう:2007/11/25(日) 23:52:08
2003使ってます。

セルで列または行に
例 (列)
TEL123−456−789
TEL123−456−789
TEL123−456−789
TEL123−456−789
TEL123−456−789
並んでいるときにTELの文字だけ一気に消したいのですが
どうしたらいいのでしょうか?
242名無しさん@そうだ選挙にいこう:2007/11/25(日) 23:55:23
>>241
置換で空白にするとか
243名無しさん@そうだ選挙にいこう:2007/11/25(日) 23:59:38
>>242
天才ですね!!!!!!!!!!!
ありがとうございます!!!!!!!!!!!!!!!!
244名無しさん@そうだ選挙にいこう:2007/11/26(月) 00:20:42
>>220
関数を使わずに、「データ」メニューから「統合」を使うのも良いのでは?
左端列をチェックすれば、集計出来ます。
245名無しさん@そうだ選挙にいこう:2007/11/26(月) 08:14:24
>>237
自己紹介乙w
246名無しさん@そうだ選挙にいこう:2007/11/26(月) 11:10:22
方向キーを押すとカーソルが移動しないでシート全体が移動してしまいます。
カーソルを移動するようにするにはどうすればいいでしょうか?
247名無しさん@そうだ選挙にいこう:2007/11/26(月) 11:53:21
ScrollLock
248名無しさん@そうだ選挙にいこう:2007/11/26(月) 11:55:15
>>245
せんせー、おはようございます
249名無しさん@そうだ選挙にいこう:2007/11/26(月) 13:31:16
>>247
できました。ありがとうございます。
250あ〜:2007/11/26(月) 18:51:21
エクセルで、グラフとかどう作るの?
途中までできるんだけど、完全にできない。
251名無しさん@そうだ選挙にいこう:2007/11/26(月) 20:09:32
あなたにはできないので、諦めてください。


252名無しさん@そうだ選挙にいこう:2007/11/26(月) 22:43:12
ひどい質問だ。
この聞き方じゃリアルでもどうにも答えられんよな。。。
253名無しさん@そうだ選挙にいこう:2007/11/26(月) 23:50:49
教えてください。

シート1のセル「A2」に何か入力(文字種は問わない)があれば、

シート2のセル「B3」に、

シート1のセル「A1」に入力されている文字(例えば人の名前とか)をそのまま表示する。

シート1のセル「A2」に何も入力がなければ、シート2のセル「B3」は空白のままにしておく


ということをするために、シート2のセル「B3」に入力する書式がわからなくて困っています。

どなたかご教授いただけないでしょうか?

よろしくお願いいたします。
254テスト ◆WBRXcNtpf. :2007/11/26(月) 23:51:04
sage
255253:2007/11/26(月) 23:53:06
書き忘れました、すいません

【1 OSの種類         .】 Windows XP SP2
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 よくわかりません
【5 検索キーワード     】excel 関数を調べてみましたがよくわかりませんでした

よろしくお願いいたします。
256名無しさん@そうだ選挙にいこう:2007/11/26(月) 23:56:19
>>253
=if(シート1!A2<>"",シート1!A2,"")
257名無しさん@そうだ選挙にいこう:2007/11/27(火) 00:18:52
>>255
どんな関数でも数式でも、別のシートを参照するにはセル指定の前にシート名とびっくりマークを書けばいいだけ。
=IF(Sheet1!A2<>"",Sheet1!A1,"")
258名無しさん@そうだ選挙にいこう:2007/11/27(火) 08:08:10
行に名前データがあるのですが、同じセル内で名前の前に
番号をふりたいのですが、一括で番号を加える方法教えてください
よろしくお願いします
259名無しさん@そうだ選挙にいこう:2007/11/27(火) 08:57:33
>>258
VBAを組めばいい
260名無しさん@そうだ選挙にいこう:2007/11/27(火) 09:50:46
>>258
行に名前が並んでいるの?
261名無しさん@そうだ選挙にいこう:2007/11/27(火) 09:52:56
>>258
同じセル内ではやめた方がいい
A列だったら列を挿入汁
262名無しさん@そうだ選挙にいこう:2007/11/27(火) 10:13:29
>>259
VBAはほとんどわからないんです
>>260
行に名前データがあって番号ふるのを忘れてたので
同じセルで 番号.名前というデータにしたいんです
>>261
印刷すると同じなのですが、データとしてひとつのセル内にまとめるのは
方法ないでしょうか?
263名無しさん@そうだ選挙にいこう:2007/11/27(火) 10:38:15
>>262
&で結ぶ
=番号&名前の入ったセル番地
264名無しさん@そうだ選挙にいこう:2007/11/27(火) 10:39:32
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel07?
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル 連続 とかです。
質問させてください。
例えばA1のセルに数字と入力し、その後同一(A1)のセルに数字を打つと
+し続けてくれる機能とかありますか?
265名無しさん@そうだ選挙にいこう:2007/11/27(火) 11:39:40
>>264
そういう機能はない
加算貼り付け(コピペ)は出来るけど
貼り付けではなく入力でやりたいならVBA使うしかない
266名無しさん@そうだ選挙にいこう:2007/11/27(火) 12:10:34
>>265さん
回答ありがとうございます。
出来れば入力でやりたいのですが、VBAは使ったことが無く・・
コードを書いて頂けませんか?
丸投げでほんとすいません。
267名無しさん@そうだ選挙にいこう:2007/11/27(火) 12:21:53
>>264
F2で編集モードにすれば?
268名無しさん@そうだ選挙にいこう:2007/11/27(火) 12:28:22
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 データの種類 関数

スレがふさわしくないようでしたらすみません。
複数行に渡って、年月日が入力されている列があるとして、
そのデータに記載のある「月数」を求めようとしました。
その列の隣に =YEAR(A1)&MONTH(A1)という列を挿入し、
データの種類数を算出する関数を探していて、検索で
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q129452917
上記のページを見つけました。

「ベストアンサー以外の回答」に出ている
=SUMPRODUCT(1/COUNTIF(A1:A3,A1:A3))
がふさわしく、求めていた回答が出たのですが、
この関数の意味がわかりません。
SUMPRODUCTは、条件に合うデータの合計数を出す意味がある
ということはわかったのですが、特に(1/COUNTIF(A1:A3,A1:A3))
の解説をして頂けたら幸いです。
269名無しさん@そうだ選挙にいこう:2007/11/27(火) 13:13:48
SUMPRODUCTは引数に含まれる配列を分解してその積の和を返します
=SUMPRODUCT(1/COUNTIF(A1:A3,A1:A3)) は引数は一つであり
COUNTIFの一つめの引数は配列を与えるので
1/COUNTIF(A1:A3,A1)+1/COUNTIF(A1:A3,A2)+1/COUNTIF(A1:A3,A3)
を計算しています
なので、一種類つまり3つとも同じ場合は1/3+1/3+1/3=1
二種類の場合、1/2+1/2+1/1=2 三種類の場合、1/1+1/1+1/1=3
となります
270名無しさん@そうだ選挙にいこう:2007/11/27(火) 13:32:34
>>263
ありがとうございます
解決できました
271268:2007/11/27(火) 13:45:38
>>269
解説どうもありがとうございました。
理解できたと思います。
COUNTIFの検索対象を配列に出来るとは目から鱗です。
272名無しさん@そうだ選挙にいこう:2007/11/27(火) 13:54:17
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 spinbutton,複数

Private Sub SpinButton9_Change()
TextBox9.Value = SpinButton9.Value
End Sub
Private Sub SpinButton10_Change()
TextBox10.Value = SpinButton10.Value
End Sub
Private Sub SpinButton11_Change()
TextBox11.Value = SpinButton11.Value
End Sub



こんな感じでたくさん同じコードがあるのですが、これをまとめるやり方をお願いします。
検索でクラスを使うと良い。とあったのですが、よくわかりませんでした。
273名無しさん@そうだ選挙にいこう:2007/11/27(火) 14:01:09
COUNTIFの第一引数が直接配列を取れるって意味ではないからね
レンジ形式だからね
274名無しさん@そうだ選挙にいこう:2007/11/27(火) 14:54:16
excel2003で質問です。

'1001-1

と表示されているセルを

1001-1

と表示させたいのですが出来るだけ簡単に沢山のセルを一括変換する方法を教えて下さい。
275名無しさん@そうだ選挙にいこう:2007/11/27(火) 15:04:20
ここは質問時上げるんでしたっけ?
276名無しさん@そうだ選挙にいこう:2007/11/27(火) 15:07:07
>>274
ctrl+H '1001-1 1001-1じゃ駄目なの?そういうことじゃなくて何か深い内容があるの?
277名無しさん@そうだ選挙にいこう:2007/11/27(火) 15:07:40
表示はともあれ、どのように入力されているのかを書かないと…。
278名無しさん@そうだ選挙にいこう:2007/11/27(火) 16:04:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 EXCEL関数 集計 グループ化等

いま勤務先のクレジットカードの利用金額の月毎の表を作っているのですが
毎日の利用者数がちがうため、一定の場所に収められないため
日付  金額
1   1000
    1000
    1000

2   1000
    1000

4   1000
このようになっています。このような形で1日〜20日の集計を出したいのですがうまくいきません。
どうしたらよいでしょうか?
一応グループ化などを行ってみましたがうまくいきませんでした。
よろしくお願いします
279exc:2007/11/27(火) 16:08:28
>>278
日付を全部埋めてピボットテーブルレポート使うと便利ですよ。

日付  金額
1   1000
1   1000
1   1000
2   1000
2   1000
4   1000
280名無しさん@そうだ選挙にいこう:2007/11/27(火) 16:45:32
日付が全部埋まってんなら
=SUMIF(A:A,"<=20",B:B)
で20日までの合計は出るんだけど。。。
281274:2007/11/27(火) 16:48:33
>>276
回答どうもです。
深い意味はありません。ただセルを一つづつ選択して’を消すには
セルの数が余りに多すぎるので一括して消したいのです。
ctrl+HはBSキーに割り当てているので消せませんでした。

>>277
csvファイルから読み込んだ'1001-1という文字列がexcelでも'1001-1と表示されています。
同じ文字をexcelに直接入力すれば’は表示されず1001-1と表示されます。
実際に入力されているのは'1001-1です。
282名無しさん@そうだ選挙にいこう:2007/11/27(火) 16:57:29
>>274
編集/置換
置換え後の文字を未入力にする
283274:2007/11/27(火) 17:12:33
>>282
すいませんが書かれている意味がわかりません。
具体的にどういう処理をするのでしょうか?
284名無しさん@そうだ選挙にいこう:2007/11/27(火) 17:22:45
>>283
メニューから編集を選ぶ → 置換を選ぶ
検索する文字列のところに ' と入れて「すべて置換」ボタンを押す
285sage:2007/11/27(火) 18:02:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 マルチページ

マルチページのページ数を4に増やしたいのですが、どこで設定するのでしょうか?
よろしくご教授願います。
286名無しさん@そうだ選挙にいこう:2007/11/27(火) 18:06:20
>>285
タブの部分を右クリックして新しいページ
287名無しさん@そうだ選挙にいこう:2007/11/27(火) 18:09:51
ツール→オプション→全般
のことを聞いているのだと思う
288名無しさん@そうだ選挙にいこう:2007/11/27(火) 18:10:07
>>285
ありがとう御座います。解決いたしました。

どうでもいいですが、×教授○教示でしたね。失礼しました。
289名無しさん@そうだ選挙にいこう:2007/11/27(火) 21:39:12
VBA使えない奴ほど使えない奴はいない
290名無しさん@そうだ選挙にいこう:2007/11/27(火) 21:48:23
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 割合

例えば1つの棒グラフで100の棒の割合で40や50を中に入れて
どのくらいの割合かを分かりやすく見せたいのですが、どうすればいいのでしょうか?
おねがいします
291名無しさん@そうだ選挙にいこう:2007/11/27(火) 21:59:01
>>289
だよな。
Excelに限らず表計算ソフトは、ワープロソフトと違ってマクロが使えてなんぼなのに
マクロも使えずMicrosoftOfficeSpecialistのExcel Specialist程度で
「Excel使えます」とか、ちゃんちゃらおかしい。
292名無しさん@そうだ選挙にいこう:2007/11/27(火) 22:04:21
>>290
積み上げ?
293名無しさん@そうだ選挙にいこう:2007/11/27(火) 22:58:03
>>291
可哀相にずっといじめられてたんだろ、ここでうっぷん晴らしちゃいな
294名無しさん@そうだ選挙にいこう:2007/11/27(火) 23:14:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 折れ線グラフ

国家の統計の値の推移を比較する折れ線グラフを作るのですが、
毎年すべての国で行われている調査ではないので、毎年の値を出すことが不可能です。

A国 1980年は100、1990年105
B国 1985年は102、1995年112
というグラフを作るときは、どう入力すればよいでしょうか?

----|A--|B--
1980|100|空欄
1985|空欄|102
1990|105|空欄
1995|空欄|112

では散布図みたいなのができてしまいました。
295名無しさん@そうだ選挙にいこう:2007/11/27(火) 23:15:41
>>291
お前の腐った脳ミソの方がもっとちゃんちゃらおかしいwww
まっ、いわゆる『クズ』だな。





296名無しさん@そうだ選挙にいこう:2007/11/28(水) 00:21:55
きっとVBAは使えても関数が使えない可哀相な子…
297名無しさん@そうだ選挙にいこう:2007/11/28(水) 00:36:17
298名無しさん@そうだ選挙にいこう:2007/11/28(水) 00:45:23
>>297
それです!できました・・・。
ありがとうございました。
299名無しさん@そうだ選挙にいこう:2007/11/28(水) 01:54:17
こんなグラフを作りたいんだけど、作り方おしえてくれ
何グラフにすればいいんだ?

http://f.hatena.ne.jp/kobarin/20070618203430
300名無しさん@そうだ選挙にいこう:2007/11/28(水) 02:01:57
>>299
100%積み上げ縦棒
301299:2007/11/28(水) 02:08:45
>>300

棒が2本あるんでこまってんだ。
2本を横にならべるにはどうすんだ。

まず、どういう表をつくればいいのかがわからん。
302名無しさん@そうだ選挙にいこう:2007/11/28(水) 02:20:36
>>301
 |1      2
-|―――――――――
A|0      739221
B|5102578 1944094
C|5723779 8143051

これで棒の重なり0にしたらサンプルと同じグラフができる
303名無しさん@そうだ選挙にいこう:2007/11/28(水) 02:21:47
>>301
データを2列に並べて書くと棒も2本になる。
2本の棒をくっつけるにはデータ系列の書式設定→オプションの間隔を0にする
304299:2007/11/28(水) 02:37:18
>>302-303
やってみます! 激しく感謝しる

305名無しさん@そうだ選挙にいこう:2007/11/28(水) 08:33:10
VBA使えない子達の必死な反応っぷりにワロタw
306名無しさん@そうだ選挙にいこう:2007/11/28(水) 08:59:49
>>305の必死な反応っぷりにワロタw
307名無しさん@そうだ選挙にいこう:2007/11/28(水) 09:24:58
これは痛い
やっぱ劣等感があるのかな?
308名無しさん@そうだ選挙にいこう:2007/11/28(水) 09:38:54
とりあえず難易度は
関数単発<VBA<関数の複雑なネスト
だな
309名無しさん@そうだ選挙にいこう:2007/11/28(水) 10:10:35
>>308
おおむねそうだと思うが、VBAはプログラミング言語経験の有無で
難易度があからさまに違うからなあ。

ひとつでも経験があればこんなに易しいものはないし、
まったく未経験ならしばらく手間取るのは仕方ない。
310名無しさん@そうだ選挙にいこう:2007/11/28(水) 10:11:32
マクロの記録がうまくいきません。
指定したセルのみの高さを20センチに変更したい。
範囲指定なら範囲全てのセルを。
アクティブセルを基準に相対的な位置を記録する相対参照でもなく、
当然絶対参照でもない。相対参照だと基準を軸に動くし、
絶対参照だとそのセルに飛ぶ。
以前は普通に記録し普通にボタンを作り、普通に使えていたのだが、
OSクリーンインストール後、再度記録しようとしたらまったくうまくいかない。
どうしたらいいのだろうか。。。
311310:2007/11/28(水) 10:16:30
別のファイルで作業中のファイル保存してみたら今度はうまくいきました。
指定した行やセルのみの高さを変更することができます。
どう作業が違うのか分からない・・・・
同じように作業しているのに出る結果が全然違う・・・
312名無しさん@そうだ選挙にいこう:2007/11/28(水) 13:37:58
>>308
関数の複雑なネストって・・・w
関数式はいくらネストしたってVBAの右には来ないよ
配列式のネストなら話は別だが
313274:2007/11/28(水) 16:04:02
>>284
お礼遅れてすいません。
うまく行きました。ありがとうございました。m(__)m
314名無しさん@そうだ選挙にいこう:2007/11/28(水) 16:25:40
>>312
{=SUM(IF(B1:B12="販売実績",C1:C12,""))}
だって関数のネストだよ。まあいいや、訂正。

難易度は
関数単発<VBA<複雑な配列式のネスト
315名無しさん@そうだ選挙にいこう:2007/11/28(水) 16:37:20
>>312
いろいろ人に教えたことのある身としては、
VBAの基本を理解できる人でも、
複雑な関数の組み合わせが理解できないという人は
非常に多かった。そんなもんだ。
316名無しさん@そうだ選挙にいこう:2007/11/28(水) 17:51:55
気持ち悪いな
317名無しさん@そうだ選挙にいこう:2007/11/28(水) 17:54:59
雑談は雑談スレでやれ

【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://pc11.2ch.net/test/read.cgi/bsoft/1151651536/
318名無しさん@そうだ選挙にいこう:2007/11/28(水) 18:43:57
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 プルダウンメニュー 値 リンクなど

プルダウンメニューを使用して連動した値をほかのセルに入力したいです。
たとえばAをプルダウンメニューで選択したら、隣のセルににXその隣のセルにはYとあらかじめ入力しておいた値を連動して入れていきたいのです。
ご教示のほどよろしくお願いいたします。
319名無しさん@そうだ選挙にいこう:2007/11/28(水) 20:06:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(VBAについてわからんが、頑張ってみます)
【5 検索キーワード 】 エクセル 置換 一斉 一気 など

ある膨大な間違った数値の入ったデータの数値を正しい数値に置換するのが目的です。
そのデータの他に、正しい数値のわかるファイルもあり、
A列に間違った数値、B列に正しい数値が入っています。

もし後者のデータを使って前者の間違っている数値を
一気に置換できるのでしたら、教えて下さい。宜しく御願いします。
320名無しさん@そうだ選挙にいこう:2007/11/28(水) 20:22:03
>>314
△だって関数のネストだよ
○だって配列数式内での関数のネストだよ
321d:2007/11/28(水) 20:46:51
>>319
こんな感じでどうでしょうか。^^

Sub 置き換え()
  Dim Dic As Object 'Dictionary
  Dim rngMoto As Range
  Dim rngSaki As Range
  Dim R As Range
  
  Set Dic = CreateObject("Scripting.Dictionary")
  Set rngMoto = Workbooks("正book.xls").Worksheets("Sheet1").Range("A1")
  Set rngMoto = Range(rngMoto, rngMoto.End(xlDown))
  Set rngSaki = Workbooks("誤book.xls").Worksheets("Sheet1").Range("A1")
  Set rngSaki = Range(rngSaki, rngSaki.End(xlDown))
  
  For Each R In rngMoto
    Dic(R.Value) = R.Offset(, 1).Value
  Next
  For Each R In rngSaki
    If Dic.Exists(R.Value) Then
      R.Value = Dic(R.Value)
    End If
  Next
  
  Set Dic = Nothing
End Sub
322名無しさん@そうだ選挙にいこう:2007/11/28(水) 20:55:42
VBA使えない奴が多いのはわかった。
323名無しさん@そうだ選挙にいこう:2007/11/28(水) 21:58:57
>>321
をいをい
324名無しさん@そうだ選挙にいこう:2007/11/28(水) 22:05:34
>>318
どこか別の場所に一覧表(対応表)を作っておいてVLOOKUP
325名無しさん@そうだ選挙にいこう:2007/11/28(水) 22:34:23
A列の数値は重複しないんだろうか
326名無しさん@そうだ選挙にいこう:2007/11/28(水) 23:27:41
>>319
正誤表が別のファイルにあって、一括置換するプログラム

Sub 訂正()
Dim objXLS As New Excel.Application
Dim EWB As Excel.Workbook

'正しいデータの書かれたファイルを開く
fname = "C:\正誤表.xls"
Set EWB = objXLS.Workbooks.Open(fname)

'修正前と修正後のデータを1つずつ取り出して置換
I = 1
While EWB.Sheets("Sheet1").Range("A" & I) <> ""
Cells.Replace What:=EWB.Sheets("Sheet1").Range("A" & I), Replacement:=EWB.Sheets("Sheet1").Range("B" & I), LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False
I = I + 1
Wend

'完了
EWB.Close
Set objXLS = Nothing
End Sub
327名無しさん@そうだ選挙にいこう:2007/11/29(木) 00:35:26
ここって、VB表現はありなの?
328名無しさん@そうだ選挙にいこう:2007/11/29(木) 00:40:59
329名無しさん@そうだ選挙にいこう:2007/11/29(木) 00:55:30
VBAの中で動けばなんでもアリじゃない?
330名無しさん@そうだ選挙にいこう:2007/11/29(木) 05:46:25
単発関数は、基本
VBAは、道具
関数ネストは、論理
それぞれ、比較する意味無し。
331名無しさん@そうだ選挙にいこう:2007/11/29(木) 07:56:10
>>324
有難う御座います!夕方、会社にもどりましたら試してみますね!
332名無しさん@そうだ選挙にいこう:2007/11/29(木) 08:22:03
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

一つ左のセルと二つ上のセルの数値の合計を出すという風にしたいのですがよろしくお願いします。

いつも=sum( でctrlキー押しながら指定してるので;;
333名無しさん@そうだ選挙にいこう:2007/11/29(木) 10:09:41
>>332
1つ式を作ったら、あとはコピペ。
セル番号はペーストした場所に応じて自動的に変わってくれる。
別のシートでも別のブックでも、同時に開いた状態ならそのままコピーできる。
334名無しさん@そうだ選挙にいこう:2007/11/29(木) 11:57:27
>>332
いきなりどのセルに入れても、左と二つ上を足す式ってのは作れるけど、
長くなるからあんまり省力化にはならない。
=OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),0,-1)+OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-2,0)

あと、計算式の入力にはこういう方法もある。
キーボードを「=」「←」「+」「↑」「↑」Enter、の順に押す。
覚えてしまえばマウスを使うより何倍も早くできる。
335名無しさん@そうだ選挙にいこう:2007/11/29(木) 12:10:12
>>334 相対アドレスで式つくればすむ話だろ B3=A3+B1 無理やりすぎw
336名無しさん@そうだ選挙にいこう:2007/11/29(木) 12:53:19
こんな単純なことをわざわざ質問してくるぐらいだから、相対参照は使いたくないんじゃないの?
正直、質問者の意図が今一つ理解できないんだよね。わざわざSUM関数を使う意味もよくわかんないし。
337名無しさん@そうだ選挙にいこう:2007/11/29(木) 13:01:29
>>335
「どのセルに入れても」って書いてあるでしょ。
それだと入力するセルに応じて式(セル番号)が変わるじゃん。
338 ◆adhRKFl5jU :2007/11/29(木) 13:09:15
>>334
その考えで数式を組むなら
=INDIRECT("RC[-1]",FALSE)+INDIRECT("R[-2]C",FALSE)
って方法もあるんだぜ
339名無しさん@そうだ選挙にいこう:2007/11/29(木) 13:23:02
>>338
私が勉強不足でしたすいません。
340名無しさん@そうだ選挙にいこう:2007/11/29(木) 13:56:27
みなさんありがとうございました;;
実は私もOFFSETでやろうとしていました・・
>>338さんの短くていいですね!
使わせてください!

m(。_。;))m ペコペコ…
341名無しさん@そうだ選挙にいこう:2007/11/29(木) 18:12:54
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

HPから表データをコピペしました。データの一部にURLリンクが入ってて
コピペでそのリンク情報も入っちゃいます。
現状、リンクのあるセルと無いセルがごちゃまぜなんですが
一気に全てのURLリンクを外す方法ってないでしょうか?
342名無しさん@そうだ選挙にいこう:2007/11/29(木) 18:27:53
>>3441
VBA使うのが手っ取り早いんで、VBA使う方法しか知らない
VBA使わずに出来るかどうかなんて無駄なことは考えたことも無いからなぁ
343名無しさん@そうだ選挙にいこう:2007/11/29(木) 18:39:14
>>341
リンクを外したいセル(範囲)を選択 → Ctrl+C → Ctrl+V → Ctrl+V

これでリンクはみんな外れる。
344名無しさん@そうだ選挙にいこう:2007/11/29(木) 19:04:16
でもそれだと…
345名無しさん@そうだ選挙にいこう:2007/11/29(木) 19:59:29
>>3441
大元のHTMLソースを書き換えてからコピペしなおすとかは?
346名無しさん@そうだ選挙にいこう:2007/11/29(木) 20:35:25
>>344
文字の青色とアンダーラインもリセットしたいなら、まず空白のセルを1つコピーしてから
目的の範囲を選択、「形式を選択して貼り付け」→「書式」のあと、Ctrl+C-V-V
347名無しさん@そうだ選挙にいこう:2007/11/29(木) 20:38:40
>>326 
ありがとうございます、ただ途中で引っかかってしまいました

>>While EWB.Sheets("Sheet1").Range("A" & I) <> ""

ここの意味について教えていただけないでしょうか?
自分でも調べてみますが・・・
348名無しさん@そうだ選挙にいこう:2007/11/29(木) 20:39:58
ラルク-アン-エクセルに改名してほしいのですが
どうすればいいですか
349名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:00:06
>>347
置換用のデータをA1、B1から順に取り出していき、A2、A3と進んでいって、
A列のセルが空白だったら終了するという意味です。

ファイル名とシート名の部分は自分の用意したファイルに合わせて書き換えてください。
シート名を書き換える時は3ヶ所とも書き換えてください。
350名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:03:57
342
この子VBAにとり憑かれてるネ!可哀想、、、
応用力なんて微塵もないんだろうなぁー
351名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:05:08
>>348
マイクロソフトの株を51%買えば何でも思い通りになるぞ。
18兆円ぐらいあれば大丈夫。
352名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:05:27
応用力ない奴はVBA使えないんじゃない
353名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:14:08
この子(笑)
354名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:17:02
>>350はFOMで出来る気になっちゃった
役立たず派遣主婦か?
355名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:28:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003&2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 印刷 分割 罫線

すみません、お願いします。表現が難しいのですが、
A4用紙で印刷した時、印刷した用紙が6分割又は8分割になるようにセルを設定して
罫線を引きたい(切り取り線みたいな形で、切ると6枚・8枚に)のですが、
簡単にできる何かよい方法はありませんでしょうか?
(余白は0でヘッダ・フッタも0で設定・垂直水平に設定としています)
宜しくお願いします<(_ _)>
356名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:29:58
>>349
ありがとうございます、どうやら走ってるっぽいです
ただ結構時間かかりそうですね
VBAって時間はかかるものなんでしょうか?
かかるのは構わないのですが、フリーズしてないか心配なので・・・

ちなみに、正誤表も元データも10000行以上あります
357名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:30:36
>>342
つかえねーwww
358名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:42:20
>>356
もう手遅れかもしれませんが、途中経過を確認する必要がなくて、
セルの内容を大幅に書き換えるようなVBAを動かす場合、
サブルーチンの最初に以下の2行を追加すると、処理スピードが何倍にも速くなります。

ActiveSheet.EnableCalculation = False
Application.ScreenUpdating = False

上の2行を追加した時は、必ずサブルーチンの最後の部分に以下の3行も書き足してください。

Application.ScreenUpdating = True
ActiveSheet.EnableCalculation = True
ActiveSheet.Calculate

あと、結果が未知のVBAを使う時は、行数の少ない試験用のデータで動作を確認してから
本番に移った方がいいですよ。
359名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:46:38
>>356
よほどボロPCとくされコードじゃなきゃ
大して時間かからない
360名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:51:48
>>355
Excelで決まった間隔の線を引くのは非常に難しい。簡単にやる方法はない。
セルの幅や高さをミリ単位で設定するためのアドインをネットで探し、自分で紙の大きさを測って、
実際に印刷してみて、ずれていたら微調整という作業を繰り返すしかない。

あと、エクセルの設定で余白を0にしても、プリンターの仕様で余白が0にできないこともあるので注意。
また、同じシートを何枚も印刷すると、1枚ごとに印刷位置がちょっとずつずれることもあるので、
厳密にやるのは不可能だということを念頭に置いておくこと。
361名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:58:10
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 Excel 改行

長いひとつながりのテキストを、
特定の「A」という文字の前で改行(列を変える)したい
と思っているのですが
なにかいい手はありませんか?
セル内改行でなく、別セルに改行したいのですが
よろしくおねがいします。
362名無しさん@そうだ選挙にいこう:2007/11/29(木) 21:58:49
>>355
Excelは表"計算"ソフトであって、図表作成ソフトではない

用途に相応しくないことを無理矢理やるのは、それを自分の力(技術や労力)のみで出来る人のみってことで
自分で出来ない人は、用途に相応しいソフトを使ってください
363名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:12:15
マクロとVBAの違いってなんですか?
MOSスペシャリストを最近とったのですが、全く触ってません。
これから勉強するにあたり、どっちを先に勉強したらよいのですか?

低レベルな質問ですいません。。。
364名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:21:30
>>363
VBAがマニュアル車。マクロがオートマ車
365名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:22:54
別プロシージャにシートの参照を渡すとき、受け側はByValとByRefどちらがいいの?
366名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:22:55
>>363
マクロの中身はVBAでできている。マスターしたいならVBAをきっちり覚えるべし。
367名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:24:51
厳密に言えば違うけど、いまは同じものを指してると思っていいです。
368名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:25:35
>>365
処理の内容による。
369名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:29:04
マクロは機能
VBAは Visual Basic for Applications という言語名
370名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:35:55
>>361
これで

Sub 改行()
dl = "A" '区切り文字を決める
ar = Split(Range("A1"), dl) 'セルA1から文字列を取り出して分割
For i = 1 To UBound(ar)
ar(i) = dl + ar(i) '区切り文字そのものが消えて困る場合は元に戻す
Next i
Cells(1, 2).Resize(1, UBound(ar) + 1).Value = ar 'セルB1以降に分割された文字列を入れていく
End Sub
371名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:40:17
>>365
シートの参照ならByRefで十分だと思うが、ByValの方がいい処理って思いつかないな。
>>368教えてちょ
372名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:43:27
>>314
複雑な配列式のネストなんてほとんどヴァカのやることだぞ?

373名無しさん@そうだ選挙にいこう:2007/11/29(木) 22:54:48
いつの時代もスピードとメンテ性のどっちをとるかでみんな悩んでるんだよ。
配列式のネストはブラックボックスにはいいけど、あとで修正する身にもなってくれ。
374363:2007/11/29(木) 22:54:55
たくさんのレスありがとう

じゃあ素直にVBAの入門書でも買って覚えてみます。
>>364の例えは何気にわかりやすかったw
375名無しさん@そうだ選挙にいこう:2007/11/29(木) 23:18:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 作業時間 個数 仕事
エクセルにて計算をしたいのですが、個数×1つあたりの作業時間(分)=何日何時間何分と表示させたいのですが、どうやれば良いのでしょうか?。セルの書式設定あたりの調整が必要だと思うのですが、わかりませんでした。
どうかお願いします。
376名無しさん@そうだ選挙にいこう:2007/11/29(木) 23:24:41
>>375
書式設定のユーザー定義で
d"日"hh"時間"mm"分"
377375:2007/11/29(木) 23:42:20
回答ありがとう御座います。
しかしそれでは、できなかったのです。
A | B|書式d"日"hh"時間"mm"分" c|
1|個数 |必要作業時間| かかった作業時間|
2|1  |      5|5日00時間00分
3|100 |      5|14日00時間00分
4|1000 |     10|18日00時間00分
となってしまいます、C2は5分、C3は8時間20分、C4は?日?時間?分となって欲しいのです。
可能ですか?。

378名無しさん@そうだ選挙にいこう:2007/11/29(木) 23:51:06
>>370
ありがとうございます!できました(^▽^)
379名無しさん@そうだ選挙にいこう:2007/11/29(木) 23:52:02
書式設定では無理かな
関数を組み合わせて地道にやるしかない
380名無しさん@そうだ選挙にいこう:2007/11/29(木) 23:54:03
>>377
とりあえずB列に入力するのは
0:5
0:5
0:10
381名無しさん@そうだ選挙にいこう:2007/11/29(木) 23:55:52
382名無しさん@そうだ選挙にいこう:2007/11/29(木) 23:58:23
>>377
Excelで数字の1ってのは1日のことだから、時間単位にするには24で割って、
さらに分単位に直すには60で割らないとだめなのよ。
つまり、C列に入れる式は
=A*B
じゃなくて
=A*B/24/60
ってことね。
383名無しさん@そうだ選挙にいこう:2007/11/30(金) 00:05:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 可
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 レーダーチャート くもの巣グラフ

レーダーチャートでグラフを作成中なのですが、離れすぎた値をうまい具合に収める方法がわかりません
一つの数値だけにまっすぐ伸びていくような感じになってしまいます。改善策ありませんか?
また、普通の数字と、パーセントは同じグラフの中に入れれますか?
384名無しさん@そうだ選挙にいこう:2007/11/30(金) 00:05:30
>>380なら割らなくてもいいけどな。
385名無しさん@そうだ選挙にいこう:2007/11/30(金) 00:11:31
>>384
入力が面倒だよ
386名無しさん@そうだ選挙にいこう:2007/11/30(金) 00:11:50
>>383
軸の書式設定を対数目盛にするのはどう?
387名無しさん@そうだ選挙にいこう:2007/11/30(金) 00:13:13
>>384
表の見た目が変わっちゃうし入力の手間も増える
388名無しさん@そうだ選挙にいこう:2007/11/30(金) 00:13:37
>>386
さっきより形になりました!
ありがとうございます!!
389375:2007/11/30(金) 00:39:53
できました!!。とても助かりました。
本当にありがとうございました。
390355:2007/11/30(金) 00:51:15
>>360 >>362 有り難うございました。微調整でなんとかやってみます。
391名無しさん@そうだ選挙にいこう:2007/11/30(金) 00:57:30
WindowsXP, Excel2003
VBA; たぶん使えるけどできれば避けたい

縦方向と横方向を入れ替える形で、他のセルを参照したいのですが、
(縦方向に "=A1", "=B1", "=C1", "=D1", ... という値を連続で入力したい)
何か簡単にできる方法はありますでしょうか?
392名無しさん@そうだ選挙にいこう:2007/11/30(金) 01:06:53
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP Home SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 近似 切片 日付

体重を記録してってグラフに出しているというお恥ずかしい状況なのですが
横軸に日付、縦軸に体重の折れ線グラフを作り、
線形近似で直線を出したとき、切片の指定がうまくいかず困っています。

具体的には、1900/1/1が日付のスタートの仕様になっているため
記録をとり始めた時の体重をそのまま切片に指定してしまうと。
1900/1/1に切片がとられてしまいます。

5のキーワードで検索したところ、yahooでは一番上に教えてgooでまさに同じ内容の
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1211534362
というものがあるのですが、もう少しまともな方法は無いものでしょうか?

(x,y)=(○,△)を通る線形近似、という指定が出来れば楽なんですが・・・
393名無しさん@そうだ選挙にいこう:2007/11/30(金) 01:22:14
excel2003使っています。
以下のようなデータがあったとして、

種類  商品   金額
果物  みかん  200
果物  りんご   100
果物  ブドウ   300
魚    鯛     300
魚    サンマ  100
野菜  レタス   100
野菜  トマト   150
野菜  キャベシ 200

これを以下のように集計する機能があったようなウヤムヤな記憶ですが、
どのようにすれば出来るでしょうか?

種類  金額
-果物  500             ←「果物」の前の+をクリックすると
    みかん  200          展開して、+が-になる。
    りんご   100        ←展開した行には、その種類の内訳が出る。
    ブドウ   300
+魚    400
+野菜  450
394名無しさん@そうだ選挙にいこう:2007/11/30(金) 01:24:31
>>393
データ → 集計
395名無しさん@そうだ選挙にいこう:2007/11/30(金) 02:05:56
>>358-359
すいません、終わりましたw 
本当に助かりました、なんといったらいいのかわからなくなるくらいありがたいです
>>358のものに関してはまだ使うことがあるので、是非利用させてもらいます

本当にありがとうございます。
396名無しさん@そうだ選挙にいこう:2007/11/30(金) 02:26:12
くだらない事お聞きします。
関数を使って割り算をしたいときはどの関数を使えばいいのでしょうか?
MODは除数のあまりしか出してくれないのですが・・・
素直に/で計算???
397名無しさん@そうだ選挙にいこう:2007/11/30(金) 02:36:24
>>392
体重のデータの隣にもう1行(または1列)用意して、そこに本来の日付を入れておけば
好きな範囲のグラフが作れると思うんだけど。
そういうのじゃだめなの?
398名無しさん@そうだ選挙にいこう:2007/11/30(金) 02:37:23
>>396
50÷8 = 6余り2 の 6を出したいってこと??
それならROUNDDOWN関数(切捨て)を使う

6.25という答えが欲しいなら、普通にA1/A2
関数というのは、基本的に四則演算で出来ないことをするためのものだと思うが
399名無しさん@そうだ選挙にいこう:2007/11/30(金) 02:37:42
>>396
そうです。
400396:2007/11/30(金) 02:40:52
ありがとうございます。
参考になりました!
ラウンドダウンだ。
401名無しさん@そうだ選挙にいこう:2007/11/30(金) 02:52:35
サークルで13人で旅行に行きます。
運転手・幹事共に割り引くという習慣がありますので、二人の分を25%割引し
割り引いた分を他の11人に負担させる計算はどのようにしたらいいのでしょうか?
402名無しさん@そうだ選挙にいこう:2007/11/30(金) 03:07:08
>>401
つ【電卓】
403名無しさん@そうだ選挙にいこう:2007/11/30(金) 03:14:25
授業中ノートはきちんととりましょう
404名無しさん@そうだ選挙にいこう:2007/11/30(金) 03:15:46
>>401
それってExcel関係あんの?
あと、配分方法がよくわからないんだけど、
最終的な金額が25%差になるようにするのか、
それともまず13等分してから、割り引いた額をさらに11人に上乗せするの?
405名無しさん@そうだ選挙にいこう:2007/11/30(金) 03:23:53
学校の宿題か?
406名無しさん@そうだ選挙にいこう:2007/11/30(金) 03:30:27
関数の使い方を聞きたかったんじゃないの
407名無しさん@そうだ選挙にいこう:2007/11/30(金) 06:36:31
考え方すら分かってないのに関数使うことできないだろ
408exc:2007/11/30(金) 07:19:03
>>401
この類の問題はゴールシークやソルバー使うと楽にできるよ。
13人の旅費合計が目的の値になるように一人当たりの負担額をexcelに求めさ
せればいい。
409名無しさん@そうだ選挙にいこう:2007/11/30(金) 07:41:14
>>396
>>398
小数点以下の切り捨てならROUNDDOWNは無駄だぞ?
INTを使え
=INT(50/8)
410名無しさん@そうだ選挙にいこう:2007/11/30(金) 07:42:04
関数と演算子の区別がついてないやつがいるな
411名無しさん@そうだ選挙にいこう:2007/11/30(金) 07:48:00
>>373
意味不明
メンテ性が悪ければいいとこ何もないじゃん
スピードが速いとでも思ってるの?
412名無しさん@そうだ選挙にいこう:2007/11/30(金) 07:48:19
>>409
マイナス値も想定するとINTは駄目
413名無しさん@そうだ選挙にいこう:2007/11/30(金) 07:56:16
>>412
そんなのは用途次第
-6.2を-7にするケースも多い
-6にしたければTRUNCを使えばいいだけの話
414名無しさん@そうだ選挙にいこう:2007/11/30(金) 07:57:55
>>413
お前この流れで-6.2をー7にする用途だと思ったの?バカだろ
415名無しさん@そうだ選挙にいこう:2007/11/30(金) 08:00:19
>>414
バカはお前
何で小数点以下の切捨てにROUNDDOWN使うんだよ
416名無しさん@そうだ選挙にいこう:2007/11/30(金) 08:23:19
はいはい えらいえらい
417名無しさん@そうだ選挙にいこう:2007/11/30(金) 08:45:10
>>415
さて小数点以下という
指定された桁数で切り捨て にはどちらを使うべきかな( ̄ー ̄)ニヤリッ

指定された桁数で切り捨て→ROUNDDOWN
指定した数値を超えない最大の整数を返す→INT
418名無しさん@そうだ選挙にいこう:2007/11/30(金) 08:54:39
>>417
お前基地外女か?
話の流れでマイナスがどこに出てるのか知ららいが-6.2を6にしたければTRUNCだ
ROUNDDOWNはバカ
419名無しさん@そうだ選挙にいこう:2007/11/30(金) 08:57:47
>>417が読解力と応用力のないゆとりなのはわかった
420名無しさん@そうだ選挙にいこう:2007/11/30(金) 09:03:43
>>324
できました!有難う御座いました。
421名無しさん@そうだ選挙にいこう:2007/11/30(金) 09:17:01
元の質問は数値を切り下げる方法ではなく商の整数部を取り出す方法ではないのか?
話の流れからそう判断したんだが。
422名無しさん@そうだ選挙にいこう:2007/11/30(金) 09:17:39
>>401
運転手と幹事は0.06を掛ける
他の者は0.08を掛ける
こういう複雑な計算は
エクセルに限るなw
423名無しさん@そうだ選挙にいこう:2007/11/30(金) 09:23:21
小数点以下の処理は忘れずになw
424名無しさん@そうだ選挙にいこう:2007/11/30(金) 09:24:36
>>421
悔しさのあまりマイナスを持ち出したやつがいる
TRUNC関数を知らなかったらスイw

425392:2007/11/30(金) 09:32:34
>>397
僕の言い方が悪いんでしょうか…

1900/1/1が起点になっているのはExcelの仕様です。
横軸に日付、縦軸に体重として散布図でグラフを作って
もちろんグラフの範囲はデータのある期間になってますが
線形近似の切片を指定するとX=1900/1/1でのY(体重)と判断されます。
なお常識なのだとは思いますが、日付のデータはおそらく
1900/1/1を「1」として1日進むごとに+1していくものです。
携帯からなので正確な計算はしませんが、2007/11/30は大体100年ちょっと経っているので
「37000」くらいの数値になります。
これをセルの書式を「日付」とすると勝手に変換して読み込むようです
426名無しさん@そうだ選挙にいこう:2007/11/30(金) 09:56:01
>>423
割り勘を1円単位で計算するとウザがられるから100円単位に切り上げたのち、
超過分を総合計からこっそり引いて幹事のフトコロに入れる処理を忘れちゃいかんよ。
427名無しさん@そうだ選挙にいこう:2007/11/30(金) 10:07:45
>>425
ふつう切片はxが0の時のyの値だからしかたない
それと1900/1/0基準ではないか?
428名無しさん@そうだ選挙にいこう:2007/11/30(金) 10:44:38
>>396
切り捨て系の関数でみんな熱くなってしまったが、
君はMOD()が機能的に近いと分かったいるなら、ヘルプでMOD()を出して「関連項目」をクリックしてみようと思わなかったのか?
429名無しさん@そうだ選挙にいこう:2007/11/30(金) 11:18:34
>>426
そこまでいくと、Excelの練習問題としてちょうどいいかもなw
「旅費が××万円だったとき、幹事の取り分はいくらになるでしょう?」って。
430392:2007/11/30(金) 12:06:37
>>427
そうですね、切片の日付はコピペったミスです…

切片の数学での意味はもちろん分かっているので、だからこそ代替方法を、
例えば(x,y)=(○,△)を通る〜という指定が出来ないのか、という質問なのですが
やはり無理なんでしょうか?
431名無しさん@そうだ選挙にいこう:2007/11/30(金) 13:34:59
>>430
グラフのみの使用ではあなたが検索した「データをずらす」
それ以外も使っていいなら計算式を使って切片等を自動で求めるか
ゴールシークや分析ツールで工夫してみるとかくらいしか思いつかない
432名無しさん@そうだ選挙にいこう:2007/11/30(金) 15:56:35
Excel2000 OSW2Kです

セルの編集について質問です
ロータス123ではセル編集時に(F2)キーを押せばマウスでダブルクリックしなくても編集
操作ができました

Excelでそのようなショートカット的な機能はありますか?

できればマウス操作無しで表計算をしたいです

よろしく御願い致します



433名無しさん@そうだ選挙にいこう:2007/11/30(金) 16:05:52
>>432
F2
434名無しさん@そうだ選挙にいこう:2007/11/30(金) 16:14:24
VBAでお願いします。

A=現在時刻  '=NOW()
C=昨日の時刻
とした時、If A - 0.002083 < C And C < A + 0.001389 Then
にすると、日にちの分が計算されてしまいます。
AとCに時刻(小数点)だけ取得する方法を教えてください。
(TIMEVALUE(A)でやってみましたがダメでしたorz)

435名無しさん@そうだ選挙にいこう:2007/11/30(金) 16:45:23
1の剰余で比較すればいいんじゃね?
436名無しさん@そうだ選挙にいこう:2007/11/30(金) 17:13:55
>>435
了解です。CPUに負担かかりますが、これで対応します。

Do While A > 1
A = A - 1
Loop
437名無しさん@そうだ選挙にいこう:2007/11/30(金) 17:28:18
F2 おしてもダメなんですけど
どこかに設定があるのでしょうか?

すみませんExcel初心者のモンで
438名無しさん@そうだ選挙にいこう:2007/11/30(金) 17:36:40
>>437
ツール →オプション →編集 →セル内で編集する
439名無しさん@そうだ選挙にいこう:2007/11/30(金) 17:37:36
>>434
A=A-INT(A)
440名無しさん@そうだ選挙にいこう:2007/11/30(金) 17:46:42
>>436
A=MOD(NOW(),1)
C=MOD(昨日の時刻,1)
441名無しさん@そうだ選挙にいこう:2007/11/30(金) 17:53:36
>440
それはワークシート関数ずら。
442434:2007/11/30(金) 17:55:58
>>439
ありがとうございます。
こっちの方が処理早いですね。
443名無しさん@そうだ選挙にいこう:2007/11/30(金) 18:11:23
在 日 参 政 権 付 与 反 対 デ モ に 来 れ る 者 援 軍 求 む !
http://sports11.2ch.net/test/read.cgi/offmatrix/1196265306/

外国人参政権がなぜいけないか
http://jp.youtube.com/watch?v=reIRrRDzFxE
【政治】 「放置すると、日韓関係にヒビ」 外国人参政権付与、成立への流れ加速も…公明に各党同調、自民反対派は沈黙、首相次第か★20
http://news22.2ch.net/test/read.cgi/newsplus/1196405135/

この法案が成立したオランダじゃ、永住イスラム人がどんどん増え
そのせいで今もどんどん文化と国そのものがぶち壊されちまってる。
そして、オランダ以外のこの法案が成立した国々でも全く同じことが起こってる。

永住外国人にはかなりありがたい法律だけど、国民にとっちゃ百害あって一利なし。

そ ん な 悪 法 が 日 本 で も 成 立 し よ う と し て る ん だ。

こんな大事になのに、マスコミは沈黙を決め込んでいる。
だから 俺らの力で何がなんでも阻止しなきゃならない。
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
このコピペをみた奴はMixiや自分のブログにこのことについて記事を書いてほしい。
どんな簡単な記事でもいい。アドレスを貼るだけでもいい。
もしくは、このコピペをどっかに投下するのでもいい。
とにかくどんな方法でもいいから、できるだけ多くの人にこのことを伝えてほしい。


お願いだ。今回は冗談抜きで日本の未来が危ない。
444名無しさん@そうだ選挙にいこう:2007/11/30(金) 18:17:12
時計関連のネタついでに質問だけど、エクセル上でリアルタイムを表示し続けるって結構難しいこと?
とある理由でVBAを先週くらいから使い始めたんだけど、単に時刻(タイマーでも)を表示することが
結構困難でいまいち希望の動作ができなかった。

ウェブでチラ見してもいまいちパッとしないよね。
445名無しさん@そうだ選挙にいこう:2007/11/30(金) 18:39:19
Sub Sample()
Application.OnTime Now + TimeValue("0:00:01"), "Sample"
Range("A1").Value = Now
End Sub

できたぞ
446名無しさん@そうだ選挙にいこう:2007/11/30(金) 18:40:16
>>444
あんまりいい方法じゃないけど、特定のセル(この場合はA1)に時計を表示し続けることは可能。

Sub 時計()
Application.OnTime (Now + 1 / 24 / 3600), "時計"
Range("A1") = Format(Now, "hh:mm:ss")
End Sub
447446:2007/11/30(金) 18:43:42
あ、一歩遅かったか…

とりあえず、書式を設定しないと秒が表示されないから、それだと1秒で回す意味がないぞ>>445
448名無しさん@そうだ選挙にいこう:2007/11/30(金) 18:54:02
>>445
まぁ大体同じかな。俺が作ってた奴と。
たださぁ、それ。一秒ごとにマクロ実行するからちらつくんだよね。
もちろん描写falseにしてるけど。
なんかいい方法ないかなァ。

っておお!
>>446はちらつかないジャン。
これ貰うわ。
449名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:04:35
関数の値を固定する方法ってありますか?

例えば=rand()をその時出ている数字で固定するとか。
いちいち再計算して遅くなってしょうがないんです。(T-T)
450名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:06:41
カリキュレイト=マニュアルとかなかったっけ?
451名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:08:17
【1 OSの種類         .】 WindowsXP Pro
【2 Excelのバージョン   】 Excel2003

会社であてがわれたパソコンにインストールされているExcle2003なのですが、
少し挙動が違うので、質問させてください。

結合セルを含むように、行番号や列番号をクリックしたときの動作です。

例えば、セル範囲B2からE5が結合されているとします。列番号のCをクリックすると
C列のみが選択されるはずですが、B列からE列までが選択されてしまいます。
同様に、行番号の3をクリックすると3行目から5行目が選択されてしまいます。

結合セルにかかるように、列番号や行番号をクリックすると、結合範囲に含まれる、行や列がすべて
選択状態になってしまいます。

私のパソコンだけそのような動作になってしまうので、シートの修正が非常にやりにくいです。

いろいろ調べましたが、解決できていません。厄介なことにOffice2003をインストールしなおしたのですが、
それでも、修正されません。OSごとのインストールが会社の管理基準に抵触するので、おいそれとは
できないのです。

なにか特別な設定でもあるのでしょうか。ご存知の方がいましたら、どうか教えてください。
お願いいたします。
452名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:08:59
あぁ、やっぱり>>446でも一秒ごとにチラチラしてしまうなぁ。
マウスポインタが脈打ってるみたいになる。
453名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:14:52
もう、いっその事
Sub test()
Call Shell(Environ("ComSpec") & " /c start timedate.cpl")
End Sub
とか
454名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:19:50
>>438
どうもありがとうございます
できました

ついでに
MacOS10.5  Excel2004
の場合はどんな感じでしょうか?

よろしくお願い致します

455名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:20:22
仕方ないな。フラッシュの時計を配置するか。
456449:2007/11/30(金) 19:23:50
>>450
手動計算にすると、もどせなくなる人続出・・・たぶん
457名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:26:45
Excelに時刻表示するよりtclockでも入れた方がいいんじゃないの
458名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:32:18
>>457
いにゃ、ティークロックは入れてるけどそういうのとはチと違うんだよね。
質問ではリアルタイムの表示としたけど、
実際欲しいのはタイマー。

とある動作をしたあとにタイマー表示していくみたいな。
んでリアルタイムが取れればC=A-NOWとかで簡単に出したいな。って考えていたけど、
どうもエクセルVBAは時間が苦手みたいだな。
459名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:37:34
ごめん。とある動作のときにA=Now()
タイマーC=Now-Aってことで>458は。

まぁアレだわ。時計を表示するなんてありふれた内容のものが
ウェブを見てる限りなかなか上手く言ってないところを見ると、
これはエクセルVBAですべき内容じゃないだろうな。
諦めて他の手使うよ。
どうもありがとう。
460名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:46:45
>>459
このスレで扱うのはVBAまでって決まってるから回答はしないけど、
ActiveXを使うと、もうちょっとマシなもんができるよ。ぐぐってみ。
461名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:47:54
>>456
つまり自動計算の設定のまま自動計算を止めたいって事デスカ?
462名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:48:34
>>460
('A`)メンドイからいいわ。
463名無しさん@そうだ選挙にいこう:2007/11/30(金) 19:48:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 フィルタオプション 重複 

フィルタオプションで、重複のデータを削除したのですが、
完全には削除できません。完全に削除するにはどうしたらよいのでしょうか。

2ch語辞典=http://www.media-k.co.jp/jiten/wiki.cgi?mycmd=search&mymsg=$TEXT
2ch語辞典=http://www.media-k.co.jp/jiten/wiki.cgi?mycmd=search&mymsg=$TEXT
2ch鯖勝手な監視所=http://users72.psychedance.com/
2ch鯖勝手な監視所=http://users72.psychedance.com/

どうみても、同じデータだと思うのですが、フィルタオプションしても変化なし。
どういう判断で、違うデータと認識しているのでしょうか。
どうかよろしくお願いします。
464449:2007/11/30(金) 20:06:21
>>461
そう。
vlookupとかオートフィルで大量に入ってるんですが、
もう変更の可能性がない分は、氏名とかセルにそれが
普通に代入されている状態にしたいんです
465名無しさん@そうだ選挙にいこう:2007/11/30(金) 20:14:17
タイマーとか特に何もいらんだろ
sub hoge()
dim time1
time1 = time
処理
debug.print "実行時間=" & format(time - time1, "n:ss")
end sub
466449:2007/11/30(金) 20:17:44
とりあえず、計算手動で行きます。
サンクス
467名無しさん@そうだ選挙にいこう:2007/11/30(金) 20:19:03
>>464
入力終わったら値の貼り付けで数式解除すればいいじゃん
468名無しさん@そうだ選挙にいこう:2007/11/30(金) 21:45:30
エクセルでなんとか好きなあの子とセックスしたいのですが
どういう関数を使えばいいですか?
469名無しさん@そうだ選挙にいこう:2007/11/30(金) 23:26:20
>>467
値のはりつけ??
それってどうやるんですか・・・すんません
470名無しさん@そうだ選挙にいこう:2007/11/30(金) 23:59:09
>>468
とりあえず好きなあの子をエクセルファイルにしろ
話はそれからだ
471名無しさん@そうだ選挙にいこう:2007/12/01(土) 00:07:05
VBAがせっせと活動してる待ち時間に
エロいこと考えて勃起してる俺だから
関数やVBAの挙動をみるだけで濡れる女がいるかもしれない。
472名無しさん@そうだ選挙にいこう:2007/12/01(土) 00:26:14
>>469
式を消して結果だけを残したいセルを範囲選択してコピー、選択した範囲内を右クリック、
形式を選択して貼り付け、値、OK
473名無しさん@そうだ選挙にいこう:2007/12/01(土) 00:27:01
このド低脳がぁーーーーーーーーーーーーッ!
474名無しさん@そうだ選挙にいこう:2007/12/01(土) 00:41:22
ごめん
475名無しさん@そうだ選挙にいこう:2007/12/01(土) 10:56:09
確率n%を3回試行した場合に
3回とも成功 2回とも成功 1回成功 全部失敗の数字を出したいんですが
どういう計算式作ればいいでしょうか?
476名無しさん@そうだ選挙にいこう:2007/12/01(土) 11:12:35
○○○ 3回とも成功=n%^3

○××
×○×
××○ 1回だけ成功=n%*3

○○×
×○○
○×○ 2回だけ成功=n%^2*3

××× 全部失敗=(1-n%)^3

あんまし自信なし
477名無しさん@そうだ選挙にいこう:2007/12/01(土) 11:27:57
>>475
エクセルの問題じゃない

【sin】高校生のための数学質問スレPART153【cos】
http://science6.2ch.net/test/read.cgi/math/1196074672/l50

こっち池
478名無しさん@そうだ選挙にいこう:2007/12/01(土) 12:27:33
>>475
計算式というか、そのまんまBINOMDISTワークシート関数かな
479あろんそ:2007/12/01(土) 14:15:51
とあるネトゲ制作会社に内定が決まりました。
本採用の条件として、いくつかの課題が出されました。
しかし全く分かりませんので、どうかアドバイスを
していただけないでしょうか?
よろしくお願いいたします!!


1.エクセルのオートシェイプ機能などを用いて
 下記WEBサイトの仕様書(各ページ仕様、ページ遷移図)を作成してください。
 http://www.emotion-puzzle.com/

2.2つのcsvファイルが同じであることをエクセルの関数を使って証明してください。
480名無しさん@そうだ選挙にいこう:2007/12/01(土) 14:25:55
>>479
そういうのを自分であれこれ調べてできることが条件なんだと思うが。
他人に任せるのは違うんじゃないか?

「全く分からない」というのも、「何も試していない」ってことだろ?
481名無しさん@そうだ選挙にいこう:2007/12/01(土) 14:30:53
できないのに入社したら余計苦労するよ。つかえねーっていわれてクビになるのがオチ
つーか1はつくればいいんだし、2はちょっと考えればだれでもできそうだが
482391:2007/12/01(土) 14:41:11
自己解決したので報告。簡単なのに思いつくまで時間かかった

(手順1) "=A$1", "=B$1" と横に記入したセルを延長する
(手順2) 手順1で作った部分を選択して、行列入れ替えで数値のみコピー
483名無しさん@そうだ選挙にいこう:2007/12/01(土) 14:58:34
>>482
参照だったらこれでよくね?
A1:D1を元データとすると、A2:A5を選択しといて
=TRANSPOSE(A1:D1)
でCtrl+Shift+Enter
484391:2007/12/01(土) 15:15:03
Thanks、専用の関数があったとはorz
おかげで、次はもっと楽できそうです
485名無しさん@そうだ選挙にいこう:2007/12/01(土) 15:58:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 VLOOK 以上 以下

例) A  1〜10
B 11〜20
C 21〜30
   D 31〜…

と言う表を作りました。
数字を入れたらアルファベットの部分を返すような式を作りたいです。
IFを入れて作ってみたりしたのですが、うまく行かないのと、仮にうまく行っても、結構な量なので賄いきれない気がします。
どなたか教えて下さい。
お願い致します。
486名無しさん@そうだ選挙にいこう:2007/12/01(土) 16:22:04
逆につくると楽。これなら単純なVLOOKUPが使える。
1 A
2 A
3 A
省略
11 B
12 B

1 A
11 B
21 C
31 D
この形式にすれば、LOOKUPを使えばできる。こっちのほうがいいかも。
487名無しさん@そうだ選挙にいこう:2007/12/01(土) 16:49:55
行数が100万を超えたらできないポ
値が大きいんだったらLookup使うか、ceilingとvlookupのネストがいいかも
488名無しさん@そうだ選挙にいこう:2007/12/01(土) 17:00:41
表を左右逆にすればVLOOKUPだけでできるんじゃないか?

A列 B列 C列
 1  10  A
.11  20  B
.21  30  C
489名無しさん@そうだ選挙にいこう:2007/12/01(土) 17:11:49
始まりと終わりの数字が別々の列に入ってて、数字の範囲が切れ目なく連続していればMATCHで検索できる。

例えば表の中にこんな部分があって、5に対応するアルファベットは存在しない、みたいな特別なケースがあると、
この方法は使えなくなる。

A 1〜4
B 6〜10
490名無しさん@そうだ選挙にいこう:2007/12/01(土) 17:23:17
A 1 10
B 11 20
C 21 30

=INDEX(A1:A4,MATCH(検索値,B1:B4))
が俺の基本形
491名無しさん@そうだ選挙にいこう:2007/12/01(土) 22:33:22
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ActiveCell count union セル 選択行

入力用シートの選択行の各列の文字列を抜き出し、帳票のフォームに反映するマクロを作成したのですが
作業者に「複数行を選択して、連続で表紙を印刷できるようにして欲しい」と言われたのですが
複数行の行番号を配列変数に代入する方法がわかりません。

単一行の表紙コピペのコードはこんな感じです。
Sub P_GetRow()
Tg_R=ActiveCell.Row
call P_GetValue(Tg_R)
call P_SetValue
End Sub
Sub P_GetValue(Tg_R)
FrmOrderNum = shtDB.cells(Tg_R, 3)
End Sub
Sub P_SetValue(Tg_R)
shtForm.cells(5, 4) = FrmOrderNum
shtForm.PrintOut
End Sub

現在はこんな感じですがSub P_GetRowのTg_Rを配列変数なりに変更して
選択行を連続で印刷したいです。宜しくお願いします。
492名無しさん@そうだ選挙にいこう:2007/12/01(土) 22:39:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】むりぽ
【4 VBAでの回答の可否】 むりぽ
【5 検索キーワード     】IF


入団テストで
投手は遠投、スローイングが上限200点まで
バッティング、ノック、ベースランニングが上限100点まで

野手はノック、バッティングが上限200点まで
遠投、スローイング、ベースランニングが上限100点まで

というものがあったとして
投手は合計点が420点、遠投140点、スローイング120点、その他3つは50点以上取れば合格
野手は合計点が420点、バッティング140点、ノック120点、その他3つは50点以上取れば合格

これを受験者が投手か野手か入れて、得点を入れたら判定が出るように教えて下さい。
まず何の関数を使えばいいのか全くわからん。
493名無しさん@そうだ選挙にいこう:2007/12/01(土) 22:51:59
A    B  C        D         E    F          G
1 番号 遠投 スローイング バッティング ノック ベースランニング  合計

F1=IF(AND(G1>=420,B1>=140,C1>=120,SUM(D1:F1)>=50),"合格","不合格")

野手も同じような感じで
494名無しさん@そうだ選挙にいこう:2007/12/01(土) 22:58:29
それぞれの種目の判定セルをまず作る

バッティングの判定
=IF(守備位置のセル ="投手", IF(バッティングのセル>=50, 1, 0) , IF(バッティングのセル>=140, 1, 0))
他のも同じように作る


んで それぞれの判定セルを足して
=IF(総合判定セル=6 ,"合格" ,"不合格")

ってやればいいんじゃない?
495名無しさん@そうだ選挙にいこう:2007/12/01(土) 23:05:00
>>491
> 複数行の行番号を配列変数に代入する方法がわかりません。
行番号を配列に入れる必要なんて無し
選択範囲の上端行と下端行だけわかれば、その範囲でループすれば良い
Dim Tg_R As Long
With Selection
  For Tg_R = .Row To .Row + .Rows.Count - 1
    Debug.Print Tg_R & "行目を処理"
  Next Tg_R
End With

又は選択範囲を1列範囲にした状態で各セルの行番号を取得する方法もある
Dim Tg_R As Long
Dim r As Range
For Each r In Selection.Resize(, 1)
  Tg_R = r.Row
  Debug.Print Tg_R & "行目を処理"
Next r
こっちの場合はRowで行番号取るより、Offsetで直接値取りに行った方がいいけどね
496名無しさん@そうだ選挙にいこう:2007/12/01(土) 23:11:59

┏━━┳┓┏┳┳━┳┳━━┓┏━━┳━━┳━━┳━━┓
┃┏━┫┗┛┃┃┃┃┃┏┓┃┃┏━┫┏┓┃  ━┫  ━┫
┃┗━┫┏┓┃┃┃  ┃┏┓┃┃┏━┫┏┓┫  ━┫  ━┫
┗━━┻┛┗┻┻┻━┻┛┗┛┗┛  ┗┛┗┻━━┻━━┛

.                 _∧∧_,
                // 中\ \
              ./  (  `ハ´)、 `、
             / /\ \つ  つ、ヽ
             | |  ,\ \ ノ  | |
             ヽヽ  し \ \) / /
              \ `\_____\' //
               ヽ、 ____,, /
チャイナ・フリー
http://ja.wikipedia.org/wiki/%E3%83%81%E3%83%A3%E3%82%A4%E3%83%8A%E3%83%BB%E3%83%95%E3%83%AA%E3%83%BC

チャイナ・フリー(China Free)とは「〜を使用していない」という
意味のFreeと、「中国産」を意味するChinaを組み合わせた造語で、
中国産の原材料を使用していないことを意味する。

中国製品の安全性問題、
中国産食品の安全性が世界的に大きな問題となる中で
2007年7月にアメリカ合衆国内で使われ始めた。それに関連し、
米国の健康食品会社が、中国産食品や製品に対する
不信感の高まりに対処するため、自社製品に
「CHINA FREE」と記したシールを貼るようになったのが始まりである。

中国製品購入禁止条例案を審議 米フロリダ州パームベイ
http://sankei.jp.msn.com/world/america/071201/amr0712011714008-n1.htm
497名無しさん@そうだ選挙にいこう:2007/12/01(土) 23:16:21
>>495
ありがとうございます。
しかし選択範囲が連続していれば問題無いんですが、連続していない場合もあるんです。
その為、どうしても選択行の行番号を全て取得せざるを得ないんです。
後だしになってしまって申し訳ないです。
498名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:08:40
.Resize(, 1)を外して、作業者に2列以上に跨らないように選択させれば良い
499名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:18:34
>>493
>>494
ありがとう

パソ移って打ってたのだが・・・ 


    A     B     C     D     E         F     G           H
1  なまえ  投/野   遠投 スローイング バッティング ノック ベースランニング   合計
2  太郎                                                  H2

H2は
=IF(OR(B2="野手",IF(AND(SUM(C2:G2)>=420,D2>=140,E2>=120,C2>=50,F2>=50,G2>=50),"合格","不合格",
         B2="投手",IF(AND(SUM(C2:G2)>=420,C2>=140,g2>=120,D2>=50,F2>=50,G2>=50)"合格","不合格")

初歩から分かって無いのがいたいと思いながら、迷走している。誰か間違え箇所の指摘を・・・
500名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:25:54
ORじゃないだろ。IFを二重にしないといかん。
投手と野手分けて入力したほうが式が簡単になるぞ
501名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:28:07
Excelファイルを作成し、パスワードを入力しないと開かないようにするのにはどうやればよいのでしょうか?ファイルを開けようとすると(パスワード 読取り キャンセル と表示されるようにしたい)誰かお願いします。
502名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:32:39
>>501
ファイル>名前を付けて保存>ツール>全般オプション>読み取りパスワード
503名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:34:30
>>502
ありがとうございます。
504名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:35:31
>>498
おお!できました!
本当にありがとうございます。

自分なりに配列変数使ってやってみたら一応できたんですが
Sub Count3()
Dim i As Integer
Dim myRowCount As Integer
Dim StRowNum As Integer
Dim EnRowNum As Integer
Dim j As Integer
Dim k As Integer
Dim Tg_Row() As Integer

For i = 1 To Selection.Areas.Count
StRowNum = Selection.Areas(i).Row
myRowCount = Selection.Areas(i).Rows.Count
EnRowNum = StRowNum + myRowCount - 1
For j = StRowNum To EnRowNum
k = k + 1
ReDim Preserve Tg_Row(k)
Tg_Row(k) = j
Next j
Next i
i = k
For k = 0 To i
Debug.Print (k) & "行目を処理"
Next
End Sub

糞長いし分かりにくいしよくわからなくなってしまいました。
本当にありがとうございます。
505名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:39:38
便乗で似た質問なんだけど、マクロ無効になってると開けないようにするにはどうしたらいいの?
マクロセキュリティが高や最高でマクロ自動無効の場合か、マクロセキュリティが中でマクロ無効を選択した場合は
「マクロを有効にしないと開けません」みたいなメッセージを出すようにしたいんだけど。
506名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:41:01
>>499
>>500の言うように投手シートと野手シートを作ってそれぞれでやるか
各項目ごとで判定して(合格なら1をたてる)、1の合計数=項目数なら合格ってやった方がいい。
各項目の判定列は非表示にすりゃあ問題ない
507名無しさん@そうだ選挙にいこう:2007/12/02(日) 00:44:07
>>505
ブックにパスワードを設定する
マクロ有効なら自動でパス入力して開く
508名無しさん@そうだ選挙にいこう:2007/12/02(日) 05:42:37
エクセルの2007を使ってます。

セルの書式設定なんですが・・・

日付で、種類を [ 2001/3/14 ] に選んでOKにしました。
それから上書き保存して終了したんですが、
次に開いたときには、セルの書式設定は
何も関連付けされていない状態に戻ってしまいます・・・
考えられる原因は何かありますでしょうか?

それから、セルの幅が狭いと、日付は######って表示されますが、
セルの幅を広く固定することはどうすれば良いのでしょうか?

エクセルを覚えたてで・・・教えていただけると嬉しいです
509485:2007/12/02(日) 08:29:00
>>486-490
ありがとうございました。
明日、会社に行ったら試してみます。
510名無しさん@そうだ選挙にいこう:2007/12/02(日) 11:41:26
>>508
例えばB列の幅を広げたいときは、列番号がABCと書いてある一番上の列の、
BとCの境界線のところにマウスポインタを当てる。
そうすると矢印が ←|→ という形に変わるから、そこでダブルクリックな。

書式は、何か操作ミスをしてるかデータがおかしいかどっちかだろう。
初心者は自分が何をやったかまったくわかってないことが多いから、
もういっぺんデータを入れて書式を設定してみ。
あと、数字、英字、記号はすべて半角で入れること。
511名無しさん@そうだ選挙にいこう:2007/12/02(日) 14:17:22
今ものすごく悩んでいるのですが…
43 39 51 71 46 40 49 54 51 43 64 60 91 45 31 41 45 37 37 39
の20個のデータから正規分布のグラフを描きたいのですがどのようにしたらいいのでしょうか?
512exc:2007/12/02(日) 14:59:36
>>511
ヒストグラムを書きたいのでしたら分析ツールやピボットグラフが使えます。
個人的にはピボットグラフを推薦します。
513名無しさん@そうだ選挙にいこう:2007/12/02(日) 20:59:00
>>ヒストグラムじゃなくて正規分布曲線が書きたいんですが…
514名無しさん@そうだ選挙にいこう:2007/12/02(日) 21:36:06
学校の宿題?
「NORMDISTで関数」でぐぐれ。
515名無しさん@そうだ選挙にいこう:2007/12/02(日) 23:26:40
エクセル関係の質問じゃないかもしれないけど、
あまりPCに詳しくないので質問。

2003使ってるんだけど、エクセル開くたびに
「オートメーションエラーです。エラーを特定できません」
って出るんだが、何をしたらいいのかさっぱりわからん。
自分が使ってたわけじゃないからどういう経緯でこうなったかもわからないんで
考えられる原因だけでも教えてもらえるとありがたい。

超初心者みたいな質問でゴメン。使ってて別に問題があるわけじゃないんだけど
なんか気になるのでよろしく頼みます。
516名無しさん@そうだ選挙にいこう:2007/12/02(日) 23:40:47
いらんアドインと参照設定を外すんだ
517名無しさん@そうだ選挙にいこう:2007/12/02(日) 23:41:04
>>515
それはVBA関係のエラーだから、変なアドインが登録されてる可能性がある。
ツールバーに標準以外のボタンがあればまず疑う。
518名無しさん@そうだ選挙にいこう:2007/12/02(日) 23:50:33
うだうだ足掻いてみたけど全然わかりません。
コンボボックスで、A/B/Cがえらべるようになっていて、
それぞれにちがうマクロを割り当てたいです。
VBAでやるんでしょうが…

【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ コンボボックス
519名無しさん@そうだ選挙にいこう:2007/12/02(日) 23:54:47
>>518
ListIndexプロパティで何番目の項目が選択されたか判定して分岐する
520名無しさん@そうだ選挙にいこう:2007/12/03(月) 00:18:11
>>519
ありがd。明日職場で再度チャレンジしてみます。
わからんわからんばかり言ってても始まらないしね。
521名無しさん@そうだ選挙にいこう:2007/12/03(月) 00:38:04
>>516-517
アドインの設定いじくったり
Excelを再インストールしたらでなくなった。
dクス
522名無しさん@そうだ選挙にいこう:2007/12/03(月) 05:50:48
【3 VBAが使えるか    .】 いいえ(これから使いたいので勉強中) 【4 VBAでの回答の可否】 可

A1の値がが10以上ならB1に”10以上”と入力、5以下なら”5以下”と入力。
という簡単な物なのですが、基礎がわからないので質問させてください。

@
if range("a1").value >= 10 then range("b1").value = "10以上"
if range("a1").value <= 5 then range("b1").value = "5以下"
A
if range("a1").value >= 10 then
 range("b1").value = "10以上"
end if
if range("a1").value <= 5 then
 range("b1").value = "5以下"
end if
B
if range("a1").value >= 10 then
 range("b1").value = "10以上"
elseif range("a1").value <= 5 then
 range("b1").value = "5以下"
end if

@〜Bどれも目的の動作をしてくれたのですが、
質問1:@とAについて、then のあとに改行があればend ifが必要であり、
    その表記が違うだけで@とAはまるっきり同じものと捕らえて合ってますか?

質問2:AとBについて、一つ目の条件をend ifで終えて、二つ目の条件をまたifで始めるのと、
    二つ目の条件をelseifで表記するのとでは何が違うのでしょうか?

質問3:Bについて、どの参考サイトを見ても、elseifで複数の条件分岐があったあと、
    最後にelse(=どの条件にも当てはまらないときの処理)が使われているのですが、
    そういった処理の必要が無い場合、これは無くても問題ないのでしょうか?
523名無しさん@そうだ選挙にいこう:2007/12/03(月) 09:45:46
質問1:そのとーり
質問2:例えばa1が10以上の時 5以下のはずが無いのだが
     Aではその評価が実行される。
質問3:無くても良い
524名無しさん@そうだ選挙にいこう:2007/12/03(月) 09:56:10
回答1:
 合ってる

回答2:
 この条件では結果は変わらないけど、前者の条件に一致した際に後者の条件が評価されるか否かが違う
 Aでは前者の条件の一致不一致に関係なく後者の条件が評価されるが、Bでは前者の条件が不一致の場合のみ後者の条件が評価される

 条件を「>=10 → 10以上、<=5 → 5以下」から「<=5 → 5以下、<=10 → 10以下」にしてみると結果も違うよ
 この条件でA1が3の場合、Aの書き方だと<=5に一致し"5以下"が入力されたあと、<=10の条件も評価され
 これにも一致するので更に"10以下"が入力され、結果"10以下"が入力された状態で処理が終わる
 対してBの書き方だと<=5に一致し"5以下"が入力されたら、<=10の条件は無視され一致していても"10以下"の入力は行われず
 結果"5以下"が入力された状態で処理が終わる

回答3:
 問題ない
 ElseIfが無くてもIf文が成立するように、Else文が無くてもIf文は成立する
 解説サイトでは使える物を説明しなかったら不備になるので書いてあるだけ
 例文とかではなく構文解説では[ ]で囲ってあると思うが、[ ]ってのは省略可能って意味

捕捉:
 If文ではなくSelect Case文を使うとこうなる
  Select Case Range("A1").Value
    Case Is <= 5
      Range("B1").Value = "5以下"
    Case Is >= 10
      Range("B1").Value = "10以上"
  End Select
 因みにこれはBと同じ意味を持つ
 >>522の条件では@、A、B、更に上のSelectも同じ結果になるがコードの意味には違いがある
 @とAは表記が違うだけで意味は同じだが、@とBまたはAとBは「回答2」で説明したように意味も違う
 今回のような場合、前者の条件に一致したら後者の評価を行う意味はないので
 Bもしくは上にSelect文が正解であり、@とAは「(この条件では)結果に不都合はないが不正解」ということになる
525522:2007/12/03(月) 10:33:46
>>523-524
非常に詳しい説明いただきありがとうございました。
理解できました。
526名無しさん@そうだ選挙にいこう:2007/12/03(月) 12:24:13
どなたかよろしくお願いします。

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 グラフ X軸 数値 項目軸

あるウェブサイトの、1ヶ月間のページビュー数推移の折れ線グラフを作っています。
(X軸を日付、Y軸をページビュー数とした折れ線グラフで期間は2007/11/1〜30です)
なるべく週単位で見やすくしたいので、現在X軸は
Y軸との交点 1
目盛ラベルの間隔 7
目盛の間隔 1
で設定しており、1日ごとに目盛があって日付が1、8、15、22、29と表示されています。
この表示させる日付を月曜日にして、5、12、19、26と表示させることはできますか?
527名無しさん(新規)::2007/12/03(月) 13:30:32
excelの初級受けようと思うんだけど
参考書読んだ程度で受かる?
528名無しさん@そうだ選挙にいこう:2007/12/03(月) 13:41:16
>>526
出来ます
過去ログにもGoogleにもいっぱいヒントがあるので頑張って

>>527
Excelの「何の」初級か知らないが
参考書読んだ程度で何かの試験に受かるかどうかはあなたの頭の出来次第
そんなことにも気付かず、こんなアフォみたいな質問しちゃうような頭の出来では
余程簡単な物でなければ落ちるだろうけど
529名無しさん@そうだ選挙にいこう:2007/12/03(月) 14:08:42
>>527
どういう試験なのかわからないんで断言はしないが、
たとえば「車の運転の仕方を書いてある本」を読んだだけで
運転免許が取れるものかどうか考えてみ。
530名無しさん@そうだ選挙にいこう:2007/12/03(月) 15:37:29
【1 OSの種類         .】 Windows XP home
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 format timevalue

A1には正の整数が入力されており、A1の値を秒数として読み込み、
A1秒後に他処理を行う。というマクロを教えてください。

例えばA1に75と入力されていれば、75秒後にmsg="時間です"のように
したいと考えています。

どうぞよろしくお願いします。
531名無しさん@そうだ選挙にいこう:2007/12/03(月) 15:56:36
>>527
参考書だけで受かる人もいれば、受からない人もいる。
実際に本を読みながらパソコンを操作してみた方が確実なのは間違いない。
532名無しさん@そうだ選挙にいこう:2007/12/03(月) 16:01:45
>>530
いくつか方法はあるけれど、たとえばこんなん。

Sub TimerSet1() 'タイマーをセットして起動
Application.OnTime (Now + Cells("A1") / 24 / 3600), "Timeout1" '時間になったらTimeout1関数を実行
End Sub

Sub Timeout1()
Msgbox("時間です")
End Sub
533名無しさん@そうだ選挙にいこう:2007/12/03(月) 16:21:02
>>532
なるほどありがとうございました。
ところで
(Now + Cells("A1") / 24 / 3600)
の (Cells("A1") / 24 / 3600) はどういうデータ(?)なのでしょうか?

知ろうと思って
msg=(Cells("A1") / 24 / 3600)
としたら、型が一致しませんと警告が出ました。
534名無しさん@そうだ選挙にいこう:2007/12/03(月) 17:53:22
【1 OSの種類         .】 Windows XP Pro
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル データ 排除 など

本体のデータから、別に用意したデータ(シートを2つ用意しても大丈夫ですが)の
A列にある数字だけを排除したいのですが、できますか?
このスレに質問したことをきっかけにVBA勉強してますが、さっぱりですorz

排除すべき数字の載ったデータは、本体の方に無い数字も含まれてます
例えば・・・

本体F 排除F 結果F
0     0     ×
1            1
2            2          
      3
      4
5            5
6     6     ×
7            7

といった感じになります、×という表示までは要りませんが
0とか6は排除対象ですから排除したいですし、3とか4はスルーしてほしいです
こういったことはできますでしょうか?
大変申し訳ありませんがお手すきの方、教えて下さい、お願いします。
535533:2007/12/03(月) 18:24:06
>>532
解決しました。ありがとうございました。
536名無しさん@そうだ選挙にいこう:2007/12/03(月) 19:05:57
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】 日付

すみませんが教えてください
日付と日数についてです。

   A      B      C
1 AorB  1月1日   ××日



C1に=IF(1A="A",1B+100,IF(1A="B",1B+150,""))
交通事故が1月1日発生、Aの場合100日目××。Bの場合150日目××。までできましたが
C1に日付がでます。それぞれA、Bの設定日数が超えた場合”以上”と表示したいのですが
どうすればよいでしょうか?



537名無しさん@そうだ選挙にいこう:2007/12/03(月) 19:31:02
近似曲線を描く際、プロットされるデータ系列は15個以上にはできないのでしょうか?
538exc:2007/12/03(月) 19:52:07
>>534
C列に
=IF(A1=B1,"×",IF(A1="","",A1))
としてはいかがですか。
539exc:2007/12/03(月) 19:56:00
>>536
C1のセルの書式設定が日付になっていませんか?
540山屋:2007/12/03(月) 19:59:03
★毎月毎月、お金で悩む日々・・。毎日が楽しくありませんでした。★
  ☆☆  そんな時、このビジネスに出会いました  ☆☆
     パソコンを好きな時間にいじるだけで!!??
    すっごいことが起きたんですっっ!!!!  きっかけは
★  ココ→ http://www.bravo-hbl.com/yamaya/  ★
541名無しさん@そうだ選挙にいこう:2007/12/03(月) 20:04:31
>>539
日付は必要なので出るようにしております。
542名無しさん@そうだ選挙にいこう:2007/12/03(月) 20:24:25
>>538 
これは書き方が悪かったですね・・・
わかりやすくするように書きましたが、
実際は数字がばらばらなので困ってます
543exc:2007/12/03(月) 20:50:12
>>541
>>542
具体的なデータを例に挙げてほしいな。
544名無しさん@そうだ選挙にいこう:2007/12/03(月) 21:09:33
>>543 わかりました、とりあえず簡単に

元データはこんな感じだとします
383       
446
177
177
53
109
150
166
193
210
267
360
372
440
95
199
214
365
199
438
91
200
336
411
414
196
59
60
91
545名無しさん@そうだ選挙にいこう:2007/12/03(月) 21:12:37
排除したいデータ
131
132
133
134
136
138
139
140
141
142
143
144
147
148
149
150
151
152
155
156
157
158
159
161
162
163
164
165
166
この状況なら、150とか166だけを取り除けられればいいです
実際はもうちょっといい感じで取れると思いますが、結構無い数字も多いので
546名無しさん@そうだ選挙にいこう:2007/12/03(月) 21:42:01
元データがA1から、排除データがB1からとして、C1に
=IF(ISERROR(VLOOKUP(A1,B:B,1,FALSE)),A1,"×")
で、下までずーっとコピー
547名無しさん@そうだ選挙にいこう:2007/12/03(月) 21:45:10
>>543
具体的に書きました。
B1に平成20年1月1日入力、A1は入力規制でAorB選択、すると
C1にAなら100日目は4月11日、Bなら150日目は5月31日と表示されます。
C1に表示された日を超えない場合”以内”超えた場合”以上”と表示したい。
入力していない場合は空欄表示。

こんな感じですがよろしくお願いします。




548exc:2007/12/03(月) 21:45:24
>>545
A B C
131 x 383
132 x 446
133 x 177
134 x 177
136 x 53
138 x 109
139 x 150
140 x 166
141 x 193
142 x 210

と入力してください。
そしてD1に=VLOOKUP(C1,A:B,2,FALSE)と入力して数式を下にコピーしていけば
排除したいデータだけxになりますよ。
549名無しさん@そうだ選挙にいこう:2007/12/03(月) 22:02:55
図をセルに固定することはできますか?
IF文で図を選びたいのです。
550名無しさん@そうだ選挙にいこう:2007/12/03(月) 22:08:02
>>547
>C1に表示された日を超えない場合”以内”超えた場合”以上”と表示したい。
何を超えない場合?今日の日付?
”以内”、”以上”はどこに表示?C1?
C1に表示だとすれば、100日目あるいは150日目の日付と並べたいの?
551名無しさん@そうだ選挙にいこう:2007/12/03(月) 22:09:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】ごくごく初歩的なことなら
【4 VBAでの回答の可否】 おk
【5 検索キーワード     】時間 指定 ファイル名 指定 

すでに雛形は作っているファイルに必要な部分を記入したあとに
ファイル名をつけて保存するを選んだときに
自動で当日の日付を入れるようにしたいのですが
ご助言お願いします。

例: 今日の献立20071203
552exc:2007/12/03(月) 22:11:28
>>547
C1には何が表示されますか?
日を超えるというのは何と何を比較してるの?
ここもう少し詳しく。
553名無しさん@そうだ選挙にいこう:2007/12/03(月) 22:13:39
>>551
Dim Save_File, Save_Filename As String
Save_Filename = Format(Date, "yyyymmdd")
Save_File = Application.GetSaveAsFilename(Save_Filename)
On Error GoTo ERR1
If Save_File <> "False" Then
ActiveWorkbook.SaveAs Filename:=Save_File
End If
これでどうだろう。
554名無しさん@そうだ選挙にいこう:2007/12/03(月) 22:19:29
>>547
=IF(B1="","",IF(A1="A",IF(B1>TODAY()-100,"以内","以上"),IF(B1>TODAY()-150,"以内","以上")))
555名無しさん@そうだ選挙にいこう:2007/12/03(月) 22:20:30
VBAはボタンになにかを設定して発動させることしかできないのですが
>>553のようなのはどのように使えばよいのでしょうか
すいません。
556名無しさん@そうだ選挙にいこう:2007/12/03(月) 22:51:01
ボタンに設定して発動させるんだ
557名無しさん@そうだ選挙にいこう:2007/12/03(月) 23:16:46
ていうか>>553はそのままじゃ動かんな

あと
>ファイル名をつけて保存するを選んだときに
これは無理
558名無しさん@そうだ選挙にいこう:2007/12/03(月) 23:19:26
>>546>>548 
できました、本当にありがとうございます
有効活用させてもらいます
559名無しさん@そうだ選挙にいこう:2007/12/03(月) 23:25:47
>>550,552
レスありがとうございます。
C1にはA、B選択で選んだ100日目と150日目の年月日が表示されます。
A1は1月1日と入力
A選ぶと4月11日”以内”、4月12日は”以上”
B選ぶと5月31日”以内”、6月1日は”以上”
以内、以上を表示するのは別のセルでも結構です。

比べるのはそれぞれ100日目、150日目日の値です。

C1で求められる”以内以上”は今日の日付で自動更新されるのでしょうか?

560名無しさん@そうだ選挙にいこう:2007/12/03(月) 23:49:42
>>559
100日目、150日目日と何を比べるのかと聞いてるんだが。
まぁ今日の日付なんだろうけど。

だとしたらこれですむ
=IF(C1="","",IF(C1<TODAY(),"以上","以内"))
561exc:2007/12/03(月) 23:54:08
>>559
>A1は1月1日と入力
多分「B1は1月1日と入力」の間違いかな。

C1の値と何かを比べたいのだと思います。
それは何ですか?
562名無しさん@そうだ選挙にいこう:2007/12/04(火) 05:30:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい (書けはしない)
【4 VBAでの回答の可否】 可

シートAに数字列がA列にあります。
シートBに数字列がD、E列にあります。
数字列はA列内では重複はありませんが、D、E列内では繰り返しが沢山あります。

D、E列にあってA列にない不一致な数字列を知りたいです。
抽出という形でも良いのですが、できればシートBの不一致な数字列に背景色を付けるような形がベストです。
繰り返しを無視せず、全てに背景色がつけたいです。

お願いします。
563名無しさん@そうだ選挙にいこう:2007/12/04(火) 08:13:08
>>562
まずE1に
=MATCH(C1,Sheet1!$A:$A,0)
という式を書く。E1をF1にコピー。E1とF1を選択して、Ctrlを押しながらフィルハンドルをダブルクリック。
C列とD列全体に条件付き書式を設定、式を
=ISERROR(E1)
にする。

これで、好きな書式が適用されるようになる。
564名無しさん@そうだ選挙にいこう:2007/12/04(火) 10:09:48
>>553
Dim はコンマで複数の宣言は出来んよ。
565名無しさん@そうだ選挙にいこう:2007/12/04(火) 13:19:58
560、561
C1はABで求められた指定日と今日を比べたいのです。必ずTODAY関数は必要でしょうか?C1値の以内以上を1ヶ月のトータル書き出した場合、指定日が過ぎると全て変わってしまうおそれがあるのではないでしょうか?
566exc:2007/12/04(火) 14:34:39
>>565
「今日」と「指定日」を比較するのではなく,「ある日」と「指定日」を比較したいということでしょうか。
today()の代わりにどこかのセルを参照するのではだめ?
567名無しさん@そうだ選挙にいこう:2007/12/04(火) 18:02:16
>>564
おまえは何を言ってるんだ
568名無しさん@そうだ選挙にいこう:2007/12/04(火) 18:09:54
>>567
× Dim Save_File, Save_Filename As String
○ Dim Save_File As String, Dim Save_Filename As String
ってことじゃないのか?
569名無しさん@そうだ選挙にいこう:2007/12/04(火) 18:11:51
それで正解
570名無しさん@そうだ選挙にいこう:2007/12/04(火) 19:24:51
× Dim Save_File As String, Dim Save_Filename As String
○ Dim Save_File As String, Save_Filename As String
571名無しさん@そうだ選挙にいこう:2007/12/04(火) 19:51:41
>>554
関数ありがとうございます。
”B”に対応するにはどうすればよいでしょうか?



572名無しさん@そうだ選挙にいこう:2007/12/04(火) 19:56:18
>>571
おまえ説明へたくそすぎるからファイルうp汁
何が聞きたいかわからん
573名無しさん@そうだ選挙にいこう:2007/12/04(火) 20:02:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

価格 人数
500 1
1200 1
1500 2
1800 1
1980 1
2000 2
2100 1
2500 1
2800 1
2980 2
3000 4
3500 1
3800 1
3980 2
4000 1
4500 1


こういうのがあるんですが、横軸を価格、縦を人数
にしたいのですが、横軸を100円の一定にしたいのです。
下2桁は四捨五入で。

どのようにすればよいのでしょうか
574名無しさん@そうだ選挙にいこう:2007/12/04(火) 20:03:03
すいませんよくわからないですね。。。
横軸を価格、縦を人数の「グラフ」にしたいです。
575名無しさん@そうだ選挙にいこう:2007/12/04(火) 20:05:24
>>566
他のセルを参照してもOKです。

現在は
    A    B     C     D
1  AorB  開始日  期限日

=IF(A1="A",b1+100,IF(A1="B",b1+150,""))
の式と=IF(today>C1,"以上","")をD1に表示
という2段階の式を使っています。

たとえば4月2日が期限とすると
別セルにD1の値を別に毎日表示させ
4月
1日以内 
2日以上
3日以上、となるわけですがtoday関数で比較した場合、
毎日D1の値が変化させないためにはどうすればよいでしょうか?
576名無しさん@そうだ選挙にいこう:2007/12/04(火) 20:29:49
ちょっとお聞きしたいんですが…
ENTERをクリックしていくと下にポイント(?)がずれるじゃないですか…
あれを右に動かす方法ってありますか?
577名無しさん@そうだ選挙にいこう:2007/12/04(火) 20:30:36
TABキー
578名無しさん@そうだ選挙にいこう:2007/12/04(火) 20:39:16
>>576
オプションを一通り確認すると幸せになれると思う
579名無しさん@そうだ選挙にいこう:2007/12/04(火) 20:40:17
>>572
Bに対する対応は自己解決しました。
ありがとうございます。
580名無しさん@そうだ選挙にいこう:2007/12/04(火) 21:30:08
【1 OSの種類     .】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか  .】 ?
【4 VBAでの回答の可否】 否

過去のファイルを見ていたら、列も行も2桁のアルファベットのシートが出てきました。
数字を入れると、その番号に対応した人の名前が出てくるので、テンプレが1個で済みます。
改良したいのですが、シートの見方が分からないので、どうやって作るのか教えて下さい。
もしくは検索ワードを教えて頂けると助かります。
581576:2007/12/04(火) 21:31:52
解決しました><
どうもありがとうございました!!
582名無しさん@そうだ選挙にいこう:2007/12/04(火) 21:39:27
外部テキストファイルがあり、その中のデータをセルに入力する方法についての質問は
>3の★VBAについてに従うとスレ違いの質問になりますか?
583名無しさん@そうだ選挙にいこう:2007/12/04(火) 21:44:04
>>580
>>572


質問者へ。

回答者はあなたの環境や状況、知りたい内容を、あなたのレスからでしか読み取れません。
書き込みボタンを押す前に、誰が読んでも理解できる質問内容かどうかを確認してください。
584名無しさん@そうだ選挙にいこう:2007/12/04(火) 21:44:57
わからないなら黙ってて
585名無しさん@そうだ選挙にいこう:2007/12/04(火) 21:47:02
>>583
エスパー系のスレで回答経験積んでごらん
あらゆる質問者の意図や思考が手に取るようにわかる能力が身に付くと思う
586名無しさん@そうだ選挙にいこう:2007/12/04(火) 21:49:51
といったものの、>>580の質問はかなりのエスパーですら頭を抱える内容とおもふ
587580:2007/12/04(火) 22:10:27
>>583-586
説明が下手でスミマセン。
通常のシートは
  A B C D…
1
2
3

って感じだと思うんですけど、行番号がR1C1(?)みたいな番号なんです。
例)のようなテンプレに、番号を入れると対応する人の名前や情報が出てきます。
例)
  番号__
 国語 〇〇点
 理科 〇〇点
 社会 〇〇点
 数学 〇〇点
 英語 〇〇点

これを変形させて違うファイルを作りたいのですが、普通に関数とか使えるのでしょうか?
また、R1C1みたいな形式にする理由はなんなのでしょうか?
説明が足りなかったらすみません。
588名無しさん@そうだ選挙にいこう:2007/12/04(火) 22:13:09
書いている文字は日本語なのは確かなのに、意味がさっぱり判らん w >>580
589名無しさん@そうだ選挙にいこう:2007/12/04(火) 22:13:54
それはおまえがゆとりだから
590名無しさん@そうだ選挙にいこう:2007/12/04(火) 22:15:14
>>585 の >>580へのレスまだーー?
591名無しさん@そうだ選挙にいこう:2007/12/04(火) 22:16:55
説明が下手というか、なんというか、自覚してる時点で質問者失格だぜ。
>通常のシートは○○だったと・・
>通常例
>でも行番号がR1C1(?)みたいな番号なんです。

笑わせたいのか嫌がらせなのか知らないけれど、普通に質問するならさ、
通常のシートの例なんて載せるより、どう考えても聞きたい方(R1C1(?))の
状況を図示するでしょ?ホント意味がわからん。
592名無しさん@そうだ選挙にいこう:2007/12/04(火) 22:20:04








                      素敵過ぎる流れ







593名無しさん@そうだ選挙にいこう:2007/12/04(火) 22:24:21
>>591
エスパー以外には興味ありません!
594名無しさん@そうだ選挙にいこう:2007/12/04(火) 22:36:09
>>587
行番号がR1C1みたいなのは、おそらく
[ツール]-[オプション]-[全般]で「R1C1参照形式を使用する」にチェックが入ってるんじゃないかな?
たぶん、それを作った人がその方が使いやすかったんだと思う。

でも、それと「番号を入れると別のシートのデータを表引きしてくる」ってのはあんま関係ない。別の話。

表引きをする方法はいろいろあるけと、だいたvlookup関数、index関数、match関数、lookup関数あたりを
使ってるはず。>>587の「○○点」のセルを選択すると、数式か関数式が入ってんじゃない?
まずはその関数の名前を調べて、で、関数の使い方を調べれば応用できんじゃ?
595 ◆adhRKFl5jU :2007/12/04(火) 22:51:58
>>580
エスパーしてみる

ツール - オプション - 全般で R1C1参照形式を使用するにチェックを入れるとR1C1形式のシートになる
こうすると通常の セル参照 A1とかB1は数式に入れても正しく機能しない
A1は R1C1、B1は R1C2 と入力することで同じような数式を作ることが可能になる
ちなみに R1C1 の「R」は行をあらわし「C」は列を表す。
つまり「R1C1」というのは「行が1で列が1」 = A1セル という意味。
同じように「R3C2」は「行が3で列が2」 = B3 という意味
なお、「RC」というように数字を省略するとその式が入ったセルを表す
例えば「R1C」 は 「行が1で列がその式が入っている列と同じ列」。
その他、色々利用方法はあるがあとは「R1C1参照形式」でググってくれ

>R1C1みたいな形式にする理由はなんなのでしょうか?
これに関してはプログラマーはA1というセル参照よりR1C1というセル参照の方がなじみがあるからじゃないかな


596 ◆adhRKFl5jU :2007/12/04(火) 23:02:32
>これに関してはプログラマーはA1というセル参照よりR1C1という
>セル参照の方がなじみがあるからじゃないかな

作った人が必ずしもプログラマーとは限らないな
↑は取り下げ
597名無しさん@そうだ選挙にいこう:2007/12/04(火) 23:08:05
>>588
本当にスミマセン

>>594>>595
ありがとうございました。
初めて見る形式だったので、頭が固まってしまいました。
それを作った人はプログラマーさんだったのかな。
分かりづらい文章に対して親切な説明、本当にありがとうございました。

>>591
引用符を使うならちゃんと引用してくださいね。
598名無しさん@そうだ選挙にいこう:2007/12/04(火) 23:09:10
>>596
はい。
599exc:2007/12/04(火) 23:34:30
>>575
today()は今日の日付を返す関数ですから,日付が変わる度に値が変わります。
それがいやな場合はtoday()を使わず他のセルの値を参照しましょう。

=IF(today()>C1,"以上","")
ではなく,期限日と比較したい日付をセルE1に入力しておいて
=IF($E$1>C1,"以上","")
としてはいかがですか。
600名無しさん@そうだ選挙にいこう:2007/12/04(火) 23:49:45
>>599
ありがとうございます。todayは値が変化するのですね。

比較したい日付が×年の1ヶ月間の場合
すべて羅列するのでしょうか?
601名無しさん@そうだ選挙にいこう:2007/12/04(火) 23:59:31
【1 OSの種類】
WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 できないのでやめてください
検索キーワード AVERAGE



   A   B   C   D   E   F   G   H
1     
2     名前 テスト 追試1追試2追試3追試4 判定
3      A  10   20  30  40  50  no
4      B  85                   おk

追試3回目で受かった人→テスト*4+追試1*3+追試2*2+追試3*1が60以上のとき合格にしたいとき、
=IF(AVERAGE(C4*COUNT(C4:G4)+D4*COUNT(D4:G4)+E4*COUNT(E4:G4)+F4*COUNT(F4:G4)+G4*COUNT(G4:G4))>=60,OK,no)

こんな感じだと合格祭になってしまうんですが、何処がおかしいのか指摘お願いします。
602名無しさん@そうだ選挙にいこう:2007/12/05(水) 00:03:25
【1 OSの種類     .】 WindowsXP
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか  .】 真似事程度
【4 VBAでの回答の可否】 可

EXCELから[プリンターとFAX]の中のプリンターを起動する方法を教えてください
EXCELファイルを開く時に印刷スプールも起動して見えるようにしたいのですが
現在は手動でプリンターのショートカットで起動しています。
ぐぐっても見当がつきません><
603名無しさん@そうだ選挙にいこう:2007/12/05(水) 00:17:39
>>601

=IF(C4*4+D4*3+E4*2+F4>=60,"OK","no")
604名無しさん@そうだ選挙にいこう:2007/12/05(水) 00:26:52
>>601
>テスト*4+追試1*3+追試2*2+追試3*1
この計算式自体微妙じゃない?
10*4+20*3の時点で60点超えちゃう。
605名無しさん@そうだ選挙にいこう:2007/12/05(水) 00:31:00
>>603>>604
そういわれてみればそうだ。
つーか俺の説明が糞だった

本当は追試1*3+追試2*2+追試3*1の平均60以上のとき合格にしたいときだった…

すいませんお願いします
606名無しさん@そうだ選挙にいこう:2007/12/05(水) 00:41:20
>>605
平均って言っても追試受けないのもいるんだろ?
その場合どうすんの?
607名無しさん@そうだ選挙にいこう:2007/12/05(水) 00:44:30
平均てなんの平均だよ?追試って全員3回受けるのか?それなら追試4てなんだ?
追試1*3 追試2*2 追試3*1 の平均なら =AVERAGE(追試1*3, 追試2*2, 追試3*1)
でいいやん。

でもはじめの追試1は20点でもokで追試3は60点とらないと合格できないっておかしくないか?
どの追試でも60点が合格点って決めるのが普通だとおもうがなー
608名無しさん@そうだ選挙にいこう:2007/12/05(水) 00:44:51
>>605
=IF(AVERAGE(D2*3,E2*2,F2*1)>=60,"OK","no")

ほんとにこれでいいのか?
なんか>>601で求めてることと違う気がするが・・・
609名無しさん@そうだ選挙にいこう:2007/12/05(水) 00:54:18
やっといい説明が思いついた。

例えば、三回目で合格した人はテスト*3と追試1*2と追試2*1、四回目で合格した人はテスト*4と追試1*3と追試2*2と追試3*1の割合で合計し、100点満点に換算、60点に達すれば合格
合格したら次の試験は受けなくて良い


これで俺の日本語は限界
610 ◆adhRKFl5jU :2007/12/05(水) 00:55:49
>>601
=IF(SUM(C4*4+D4*3+E4*2+F4)/COUNT(C4:F4)>=60,"OK","no")
間違ってたらスマン
611名無しさん@そうだ選挙にいこう:2007/12/05(水) 01:04:19
面倒かもしれないけど…

=IF(OR(C4,(C4+D4)/2,(C4+D4+E4)/3,(C4+D4+E4+F4)/4)>=60,"OK","no")

かける意味ってTOTALの平均出したいからでいいのかな?
そうだとしたらORを使えば掛け算いらないかも。
612名無しさん@そうだ選挙にいこう:2007/12/05(水) 01:06:06
>>609
てことは1回目で合格するにはテストで60点を取る必要がある?
2回目で合格するにはテスト×2+追試1×1?
613 ◆adhRKFl5jU :2007/12/05(水) 01:08:24
>>609
合格の定義がわからん

三回目で「合格」した人はテスト*3と追試1*2と追試2*1
四回目で「合格」した人はテスト*4と追試1*3と追試2*2と追試3*1
の割合で合計し、100点満点に換算、60点に達すれば「合格」

合格の条件が合格した事が前提になってる…
614名無しさん@そうだ選挙にいこう:2007/12/05(水) 01:12:14
>>613
それぐらい読み取ってやれよ・・・
615exc:2007/12/05(水) 01:12:16
>>573
ピボットテーブルレポートを作って下さい。
1.価格を行のフィールド,人数をデータアイテムにドラッグします。すると価格別の人数が集計されます。
2.次に価格のセルのところで右クリックしてグループ化します。グループ化の単位は100にしましょう。
3.今度はフィールドの設定で「データ無しでアイテムを表示する」にチェックをして下さい。
4.最後にピボットグラフを書いて出来上がり。
616名無しさん@そうだ選挙にいこう:2007/12/05(水) 01:14:16
>>610
カウントの中が多分違うと思います
CからFの4で割るのではなく10(1+2+3+4で)で割るはずです

>>612
はい
>>613
三回目で合格「する」人は〜
四回目で合格「する」人は〜
60点に達「していること」です
617名無しさん@そうだ選挙にいこう:2007/12/05(水) 01:17:24
>>609
作業セルに式を5つつくればいい。
1 テストで合格or不合格
2 テスト、追試1で合格or不合格
3 テスト、追試1、追試2で合格or不合格
イカ省略
618名無しさん@そうだ選挙にいこう:2007/12/05(水) 01:25:22
ついでに、100点換算てことなら

1 省略
2 (テスト*2+追試1)/300
3 (テスト*3+追試1*2+追試2)/600

てことになるのかなあ
619名無しさん@そうだ選挙にいこう:2007/12/05(水) 01:40:29
今テスト:10点、追試1:20点、追試3:100点で計算してみたら、
=AVERAGE(10*3,20*2,100)で解が56.666・・・
=(10*3+20/2+100)/6で28.333・・・になるんだが、
この合格ラインおかしくないか?
620 ◆adhRKFl5jU :2007/12/05(水) 02:38:26
ギコナビぶっ飛んで再インストールした…

>>609
=IF(OR(C4,(C4*2+D4)/3,(C4*3+D4*2+E4)/6,(C4*4+D4*3+E4*2+F4)/10)>=60,"OK","no")
かな。あとは明日…
621562:2007/12/05(水) 04:14:24
>>563
遅くなりましたが、回答ありがとうございます。
一部改造して、マクロに登録しました。
格段に時間を短縮できそうです。
622名無しさん@そうだ選挙にいこう:2007/12/05(水) 08:34:25
【1 OSの種類         .】 WindowsXp
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 初歩的なことでしたらなんとか。
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 グラフ 単位

グラフの作成をするのですが、表はセルに単位も書き込んだ状態でグラフにできないのでしょうか?
例) 水 100g
   塩  10g
   麺  400g
みたいな感じで数値だけでなく、文字も入れてしまうとグラフに反映してくれないんです。うまく数字だけを認識してくれるような術はないのでしょうか?
初歩的な質問なのかもしれませんが、よろしくお願い致します
623 ◆adhRKFl5jU :2007/12/05(水) 08:40:40
>>609

早速ケアレスミス…
=IF(OR(C4>=60,(C4*2+D4)/3>=60,(C4*3+D4*2+E4)/6>=60,(C4*4+D4*3+E4*2+F4)/10>=60),"OK","no")
624名無しさん@そうだ選挙にいこう:2007/12/05(水) 09:19:36
>>619
averageは3で割ってるだろ
625名無しさん@そうだ選挙にいこう:2007/12/05(水) 09:22:46
>>622
書き込んだ状態にすると <文字列> になるだろ
文字をどうやってグラフの数値にしろと・・・。
97で「セルの表示形式」が使えるなら それで単位を付加させちゃダメか
626573:2007/12/05(水) 11:02:52
>>615
できました!
まじ助かりました。
ありがとうございます。
627名無しさん@そうだ選挙にいこう:2007/12/05(水) 11:56:26
>>624
2回目までのの点数が悪かったら、3回目100点とっても不合格?
628名無しさん@そうだ選挙にいこう:2007/12/05(水) 12:03:16
(本試験*2 + 追試1)/ 300 >= 60
もし追試1の合否判定がこれだとすると
本試験で40点の者は、100点取らないと合格出来ない。
以下同様に
本試験20点の者は、追試1、2共100点取らないと合格出来ない。
本試験0点の者は、追試1、2、3全部100点取らないと合格できない。
>>609 を読むとこうなるんだが、、、
629名無しさん@そうだ選挙にいこう:2007/12/05(水) 13:24:06
ツールバー上右クリック→ユーザ設定で、各種アイテムをD&Dしてツールバーに配置できますが、
アイテムの一覧にないやつ(例えば2重線の“田”罫線など)を配置することはできるんでしょうか?
630622:2007/12/05(水) 14:36:16
>>625
できました、早いご解答ありがとうございました。
はじめてユーザー定義の表示形式を使いました、自力だと絶対触れてなかったと思います。助かりましたっ
631名無しさん@そうだ選挙にいこう:2007/12/05(水) 15:01:18
>>629
おれの2000は出来る
632629:2007/12/05(水) 15:40:21
>>631
言い忘れました。私も2000です
どうやって出来るんでしょうか?
「ユーザー設定」の「コマンド」タブから選ぶしか方法がないですよね?
633629:2007/12/05(水) 16:34:04
>>632
それを好きなツールバーに落とせばOK。ツールバーが全くなければ、メニューバーでもいける。
634631:2007/12/05(水) 16:35:20
>>633
↑名前欄間違えた・・・。
635名無しさん@そうだ選挙にいこう:2007/12/05(水) 17:03:48

お願い申します。

2007であるファイルを保存しようとすると互換性のチェックが走り、

「このブックのいくつかの数式は現在閉じている
他のブックにリンクされています。
以前のバージョンのExcelでは、リンク先のブックを
開いていないときにこれらの数式を再研鑽すると、
255文字を超える部分は返されません。」

と出て気持ち悪いのですが
このリンクがブック中のどこに含まれているかわかりません。
636名無しさん@そうだ選挙にいこう:2007/12/05(水) 20:26:32
仕事でエクセルを使ってるのですが、最近2007に変えました。
写真を張り付け、A4のサイズで印刷して紙だしするのですが、2007にしてから必ず真ん中辺りに白い横線が入って(そこだけ印刷されない)出てきます。
今まで2003を使っててそのような事はなかったので2007では何か設定をしなければならないのかなと思っています。
色々いじってみたんですがさっぱりわかりません…
会社にいる人間も自分含め皆PCに疎く、全くわからない状況です…
誰かわかる方いたら教えてくださいm(__)m
637名無しさん@そうだ選挙にいこう:2007/12/05(水) 20:56:11
>>615
俺からも礼をいう。ありがと。
638名無しさん@そうだ選挙にいこう:2007/12/05(水) 20:59:10
ロックが来ました。















ロックはすごすご立ち去りました。
639名無しさん@そうだ選挙にいこう:2007/12/05(水) 21:53:19
>>629 >>632
もし独自のコマンドを作りたいという事なら、
コマンドの分類「マクロ」の「ユーザー設定ボタン」を使う。
好きなマクロを登録できるよ。アイコンも好きに編集できる。

他にVBAからCommandBarオブジェクトを操作する方法もある。
640名無しさん@そうだ選挙にいこう:2007/12/05(水) 22:16:19
まったくの初心者なんですが、Excelでグラフを作れるようになるには
どのくらいの期間が必要でしょうか?
とりあえず、それ系の本を見ながらやってみようと思うんですけど・・・。
641名無しさん@そうだ選挙にいこう:2007/12/05(水) 22:17:56
>>640
元データさえあればワンクリックでできる。
642名無しさん@そうだ選挙にいこう:2007/12/05(水) 22:43:08
>>641
ありがとうございます。
とりあえずなんとかがんばってみます。
643名無しさん@そうだ選挙にいこう:2007/12/05(水) 23:27:47
>>627
追試を含めた平均を取って合格ラインを出すのか?
珍しい学校だ。
644名無しさん@そうだ選挙にいこう:2007/12/05(水) 23:30:32
>>641
無茶言うな
せめて2クリックと言えよ
645629:2007/12/06(木) 12:03:25
>>633
いやですから、「ユーザー設定」の「コマンド」タブに“ない”やつはどうやるんですか?
ここにあるのは田、□、+、| 、 |、_などの計13パターンと、▼マーク付きのやつ1個だけです。
全ての組み合わせパターンは、罫線(全8種)×線スタイル(全13種)=104種あるはずですが、
これら全てを自由にカスタマイズしてツールバーに置くことはできないんでしょうか?
646名無しさん@そうだ選挙にいこう:2007/12/06(木) 15:10:10
>>645
バージョンが書いてないから有効かどうか知らんが
編集したいツールバー(移動元/移動先)を表示させておいて
ツールバーの編集(ユーザー設定)をおこなえば、ツールバーの上で直接移動可能
647646:2007/12/06(木) 15:15:40
ついでに、これだとメニューの項目も編集可能になる
[ファイル] [編集] [表示] [挿入] … [ヘルプ]
の各項目を移動作せられるし、ボタンを配置する事もできる

これらはCtrlキーを押しながら移動させればコピーになるから好きなように編集可能

くれぐれもカスタマイズしすぎで他人から説明を受けられないような構成にしないよう注意な
648名無しさん@そうだ選挙にいこう:2007/12/06(木) 15:38:39
バージョン2000って書いてあるじゃん。
回答者の読解力のなさにも困ったもんだ。
最初から >例えば2重線の“田”罫線など
と訊いているのに。
649名無しさん@そうだ選挙にいこう:2007/12/06(木) 17:20:58
2つのブックを開いています。

アクティブなブックから
任意のブックのA1をコピーして
最初にアクティブだったブックに戻って貼り付けたいんだけど

任意のブック名は変わらないからokなんだけど
アクティブのブック名は変わるので、ブック名取得して、そのブックに戻る方法はどうやるの?
650名無しさん@そうだ選挙にいこう:2007/12/06(木) 17:39:27
>>645
そこに無いパターンのものは無いよ。
カスタマイズしたいなら、自分でマクロ作って、自分でアイコンの絵作って、
ツールバーに貼り付けてマクロ登録。
651名無しさん@そうだ選挙にいこう:2007/12/06(木) 18:04:55
すみません。
友達にExcelファイルが送りたいのですが、
友達のパソコンがExcelをインストールしていないんです。
表示されるのでしょうか?また、表示方法などありましたら教えてください。
652名無しさん@そうだ選挙にいこう:2007/12/06(木) 18:27:55
>>651
つ CSV
653名無しさん@そうだ選挙にいこう:2007/12/06(木) 18:29:24
>>651
ExcelViewer
654名無しさん@そうだ選挙にいこう:2007/12/06(木) 18:45:35
>>651です。
ありがとうございます!
655名無しさん@そうだ選挙にいこう:2007/12/06(木) 19:14:52
>>636ですが、他でも聞いたんですがダメでした…
プリンターをクリーニングしてもダメでした
印刷プレビューではちゃんと表示されてるのに紙だしするとやはり真ん中に白い横線が出ます。
エクセル2000が入っているPCでは全く問題なく出てくるのですが
エクセル2007をインストールしたPCではダメみたいです…
何かPC上での設定の問題だと思っているのですが、誰か思い当たる節がありましたらお願いします。
656名無しさん@そうだ選挙にいこう:2007/12/06(木) 21:57:42
>>655
2000の方で開いて.xlsの後にxつけて保存してもだめかな?
ただ単に2007で作ったファイルを97-2003で開くには、後ろのxを取って保存するって聞くからさ、逆転の発想で言ってみただけで、できるかどうかは分からないけど。
※データが壊れても責任は取れないので、コピーしてから試して下さい※
657名無しさん@そうだ選挙にいこう:2007/12/06(木) 22:09:45
>>645
マクロ作れないなら無理だからあきらめな
658名無しさん@そうだ選挙にいこう:2007/12/06(木) 22:23:54
>>655
他のソフトの印刷物はどうなってるの?
659名無しさん@そうだ選挙にいこう:2007/12/06(木) 23:57:25
間違えてエクセルを消していました!
いつ消したかも覚えてなくて、買うしかないのかな?
660名無しさん@そうだ選挙にいこう:2007/12/07(金) 00:22:39
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 関数 空白セル 挿入 等
久々に仕事の都合でエクセルに触れたのですがどうしてもわからない事なので質問させてください

関数を複合してAセルとBセルの比較をして、AセルにデータがありBセルに違うデータがある場合はBセルの内容を他シートに記述する・・というのを関数入力し、これ自体は上手くできたんですが
初期値がお互い空白の場合 データ値が0で表示されてしまいます。
今後、印刷を前提にしている為、できればお互い入力されていない場合の初期値は空白にしたいのですが・・・・関数をすっかり忘れてしまいました・・・

今の状態はセル全体が0000000で覆い尽くされていますOrz
どなたかご助力ください・・・
661名無しさん@そうだ選挙にいこう:2007/12/07(金) 00:33:06
>>659
部屋の掃除しろ
662名無しさん@そうだ選挙にいこう:2007/12/07(金) 00:39:34
>>660
IF
663名無しさん@そうだ選挙にいこう:2007/12/07(金) 00:49:39
IF(or(A1&B1="",B1=""),"",B1)
664名無しさん@そうだ選挙にいこう:2007/12/07(金) 00:53:29
>>662,663
ありがとうございます。・・というか説明抜けてました(´・ω・`)
比較関数がこれなんですがIF分の二重挿入可能なんだろうか・・・

=IF(ISERROR(MATCH(修正前シート!A1,修正後シート!A1, )),修正後シート!A1,""))
665名無しさん@そうだ選挙にいこう:2007/12/07(金) 00:55:21
>>664
好きなだけネストしてくれ
(限界は7回だったかな忘れた)
666660:2007/12/07(金) 01:03:55
>>665
好きなだけネストさせてもらいました。

仕事ごとだったのでうかつにも助かりました。ありがとうございました。
667名無しさん@そうだ選挙にいこう:2007/12/07(金) 01:09:50
おそらくすごく簡単なことだと思うのですが教えてください。

表があって

日本人 20
韓国人 10
日本人 30
中国人 25
韓国人  5

みたいになってるときそれぞれの計を出す関数ってありますか?
668名無しさん@そうだ選挙にいこう:2007/12/07(金) 01:11:48
>>667
ピボットテーブル
COUNTIF

好きなほうを使いましょう
669名無しさん@そうだ選挙にいこう:2007/12/07(金) 05:36:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 エクセル グラフ 軸を任意に

ある企業の、上場してからの株価の推移の折れ線グラフを作成しようとしています。
その企業は12月に上場したのですが、10月末決算なんです。
そこで、項目軸目盛線を決算期間ごとに表示したいのですが、
Y軸との交点を基準に目盛線が作成されてしまいます。
オートシェイプで一つ一つの軸・項目を作っていく方法も考えたのですが、
日次データを使用しているために各項目間の幅がかなり狭く、微妙な調整が難しいのです。
厳密なグラフを作成したいので、何か他に良い方法はないでしょうか?

 │     │     │     │     │
 │     │     │     │     │
 │     │     │     │     │
 └───┴────┴───┴───┴─────
'02/12  '03/12   '04/12  '05/12   '06/12

│    │     │     │     │     │
│    │     │     │     │     │
│    │     │     │     │     │
└───┴───┴───┴────┴───┴──

│   '03/10   '04/10  '05/10  '06/10   '07/10
ここは'02/12のまま

拙い図ですが、イメージとしては、今現在上のようになっているグラフを
下のグラフような項目を持つものにしたい、という感じです。
よろしくお願いします。
670名無しさん@そうだ選挙にいこう:2007/12/07(金) 06:57:59
>>660
印刷時対応と言うことであれば、
条件付き書式というのもあるな。
671645:2007/12/07(金) 09:24:01
>>650,657
やっぱりそうなんですね。ありがとうございました。
いい機会だしVBAやってみるかな

皆さん普段からマクロ作りまくってツールバーをカスタマイズしてるんです?
672名無しさん@そうだ選挙にいこう:2007/12/07(金) 09:28:32
>うかつにも助かりました

うかつ〔迂闊〕
(1)ぼんやりしていて注意がゆきとどかないこと
(2)実情から離れていて、実際の役に立たないこと
(goo国語辞典)
673名無しさん@そうだ選挙にいこう:2007/12/07(金) 09:46:27
>>671
そうやってカスタマイズしまくってる人もいるだろうし、
さほどカスタマイズしなくても普通に使いこなしている人もいる。

自分がやりやすい方法ならそれでええんよ。

2007でカスタマイズ関連の機能が変わった際、
ヒステリックに騒いで貶しまくる人もいれば、
涼しい顔で対処する人もいるし、
我関せずで2007なんぞ見向きもしない人もいる。
そんなもんだ。
674671:2007/12/07(金) 10:27:43
>>673
そーっすね。愚問でした
675名無しさん@そうだ選挙にいこう:2007/12/07(金) 11:43:34
【1 OSの種類         .】 WindowsXP SP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

選択セルの移動って←↑↓→の方向キーで行いますよね
方向キーを押すとセルの移動ではなくウィンドウがスクロールするようになってしまいました
設定をいじったおぼえはないんですが,
方向キーでセル移動をするように戻すにはどうしたらいいでしょうか
676名無しさん@そうだ選挙にいこう:2007/12/07(金) 11:48:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 ExcelXP
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】なるべく無し

計算式が入っているセルの値を、指定した日時時間が来たら固定にする方法が知りたいです。
実際には仕入額など日々変化する値なのですが、週末在庫などをその時点で確定させたいのです。
あらゆる参照を日付範囲指定すればできますが、純粋に固定できるか教えてください。
677名無しさん@そうだ選挙にいこう:2007/12/07(金) 12:02:02
>>675
ScrollLock
678名無しさん@そうだ選挙にいこう:2007/12/07(金) 13:10:36
>>676
無理。確定させたいときに値貼り付けで別シートに書き出すなど運用で対処しなはれ。
679675:2007/12/07(金) 13:54:50
>>676
直りました!
ありがとうございます

エクセルとなんの関係もないとこで引っかかってたなんて若干ショックです...
680名無しさん@そうだ選挙にいこう:2007/12/07(金) 20:02:03
印刷するときにページの下めいっぱいまで内容を印刷するには
どのようにすればよいのでしょうか?
ファイル>ページ設定>余白で「上」「ヘッダー」「下」「フッター」の
全てに0を入力したところ、上の方はめいっぱいまで内容が印刷できましたが、
下のほうがめいっぱいまでいきません。
681名無しさん@そうだ選挙にいこう:2007/12/07(金) 20:08:24
>>680
余白の大きさはプリンタの機種によって違う。
プリンタのプロパティで余白を調整できなければ、そのプリンタではそれが限界。
プリンタを買い換えるしかない。
682680:2007/12/07(金) 21:34:06
>681
回答ありがとう。
プリンタの方の問題だったのか。
解決はしなかったが諦めがついた!
683名無しさん@そうだ選挙にいこう:2007/12/08(土) 00:19:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可
 A   B   C   D   
1
2山田 太郎 花子 ...
3鈴木 一郎 次郎 三郎 ...
4佐藤 一男 花子 太郎 ...
というデータを空白セルは無視し、1行目に下記のように

山田太郎 山田花子 鈴木一郎 鈴木次郎 鈴木三郎 佐藤一男... 

「A列の苗字+B列以降の名前」に結合し、並べ替えたいです。
よろしくお願いします。
684名無しさん@そうだ選挙にいこう:2007/12/08(土) 00:36:32
>>683
もっといい方法がありそうな気もするけど、俺はVBA覚えたて厨なのでこれが限界。

Sub a()
x = 1
r = 2
While Cells(r, 1) <> ""
c = 2
While Cells(r, c) <> ""
Cells(1, x) = Cells(r, 1) & Cells(r, c)
c = c + 1
x = x + 1
Wend
r = r + 1
Wend
End Sub
685名無しさん@そうだ選挙にいこう:2007/12/08(土) 00:57:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

A列に縦に並んだ項目を、各項目間に空の3セルを挿入しつつ、行列入れ替えたいです。
元のA列はそのままで。
数が多いのでマクロでやりたいのですが、どう記述すれば良いでしょうか。
お願いします。
686名無しさん@そうだ選挙にいこう:2007/12/08(土) 01:01:23
>>685
A1→B1
A2→F1
A3→J1

ってこと?
687名無しさん@そうだ選挙にいこう:2007/12/08(土) 01:03:05
>>686
はい、まさにその通りです。
688名無しさん@そうだ選挙にいこう:2007/12/08(土) 01:07:47
>>687
Sub a()
n = 1
While Cells(n, 1) <> ""
Cells(1, n * 4 - 2) = Cells(n, 1)
n = n + 1
Wend
End Sub
689名無しさん@そうだ選挙にいこう:2007/12/08(土) 01:50:10
>>688
ありがとうございます。

まことに申し訳ないのですが、この後出来た行をコピペして使用する予定だったのですが、
横に並べてしまうと選択しづらいことが判明してしまいましたorz

なので、>>685の行列入れ替えを行わないようにするには>>688をどのように変えたら良いでしょうか?
B列に貼り付けられれば良いのですが。

本当に申し訳ありません。
690名無しさん@そうだ選挙にいこう:2007/12/08(土) 02:12:33
>>689
Cells(n * 4 - 3, 2) = Cells(n, 1)
691名無しさん@そうだ選挙にいこう:2007/12/08(土) 02:42:49
>>690
出来ました。
ありがとうございました。
692名無しさん@そうだ選挙にいこう:2007/12/08(土) 09:44:23
【1 OSの種類         .】 ビスタ
【2 Excelのバージョン   】 2007
【3 VBAが使えるか    .】 使えません
【4 VBAでの回答の可否】 否です

お願いします。

離れたセルを選択するには、ctrl を押しながら操作するのはわかるのですが、
連続データとして作成したい場合どうすれば良いのかわかりません。
単純な日付・曜日なのですが・・・。
一行目と三行目に、連続データとしてドラッグ作成は可能なのでしょうか?

ご教授願います。
693名無しさん@そうだ選挙にいこう:2007/12/08(土) 09:50:16
>>692
2行目を非表示にしてドラッグ
終わったら表示するにしてもダメ?
694名無しさん@そうだ選挙にいこう:2007/12/08(土) 10:20:46
XP 2003 VBAでの回答は非です。
A列に氏名があり、同じ名前が何件か出てきます。
同一人物が1回のみ出てくるようにフィルターをかけるにはどうゆう風にしたらいいですか。
695名無しさん@そうだ選挙にいこう:2007/12/08(土) 10:22:30
>>694
エスパーするとピボット使え
696694:2007/12/08(土) 10:37:40
ピボットは名前ぐらいしか知りません。
データ → ピボット・・・ → ピボットテーブル/ピボットグラフウィザードが出てきたのですが、あまり、わからないので、時間をかけて、やってみます。


697名無しさん@そうだ選挙にいこう:2007/12/08(土) 11:21:46
>>694
作業列使っていいなら
A1=1
A2=COUNTIF(A$1:A2,A2) を下にコピーして1でフィルター
もしくはフィルタオプションで重複を除く(?)にチェック
698名無しさん@そうだ選挙にいこう:2007/12/08(土) 11:22:36
B1=1
B2=COUNTIF(A$1:A2,A2)
だった
699526:2007/12/08(土) 15:06:31
>>526です。

>>528にて
>出来ます
>過去ログにもGoogleにもいっぱいヒントがあるので頑張って

との返答を頂き、調べてみましたが分かりませんでした。
どなたかヒントでもよいのでお願いします。
質問は以下です。

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 グラフ X軸 数値 項目軸

あるウェブサイトの、1ヶ月間のページビュー数推移の折れ線グラフを作っています。
(X軸を日付、Y軸をページビュー数とした折れ線グラフで期間は2007/11/1〜30です)
なるべく週単位で見やすくしたいので、現在X軸は
Y軸との交点 1
目盛ラベルの間隔 7
目盛の間隔 1
で設定しており、1日ごとに目盛があって日付が1、8、15、22、29と表示されています。
この表示させる日付を月曜日にして、5、12、19、26と表示させることはできますか?
700名無しさん@そうだ選挙にいこう:2007/12/08(土) 18:59:06
>>692
A1に数字(曜日)を入れ、隣接した空白セルを選択。
空白セルの右下にポイント合わせてドラッグしたらどうなるんだろう。
701名無しさん@そうだ選挙にいこう:2007/12/08(土) 20:09:12
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 2002
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可です

Word2002のデータをエクセルに移動したいと思っています。
コピーペーストで1つずつ出来るのはわかってるんですが、
Wordファイル数が数千と多く、マクロ等で連続で移動は出来るものなのでしょうか。
何かいい方法あれば、ご教授お願いします。
702名無しさん@そうだ選挙にいこう:2007/12/08(土) 20:40:02
富士通のデスクトップでXPプロフェッショナルです。
Excelに写真を貼り付けて、隣のシートにセルごと写真をコピペしようとしたらコピー出来ません。
今まで出来ていたのに急に出来なくなりました。
どうしたら出来るようになるでしょうか?
703名無しさん@そうだ選挙にいこう:2007/12/08(土) 20:57:17
>>702
Ctrl押しながらシート名を右にでもドラッグしてみたらどう?
704名無しさん@そうだ選挙にいこう:2007/12/08(土) 20:58:33
>>702
写真を選択したCtrl+Cを押して、
貼り付ける所でCtrl+Vでどう?
705702:2007/12/08(土) 21:17:29
ありがとうございます。
試してみます。
706名無しさん@そうだ選挙にいこう:2007/12/08(土) 23:08:04
医療関係リハビリの業務を
エクセルで組んでるひといませんか?
707名無しさん@そうだ選挙にいこう:2007/12/08(土) 23:09:58
いない
708694:2007/12/09(日) 01:26:06
>>697-698
遅くなりましたが、サンクス

> B1=1
> B2=COUNTIF(A$1:A2,A2) を下にコピーして1でフィルター
すばらしい! これこそ、求めていたものです。
709名無しさん@そうだ選挙にいこう:2007/12/09(日) 09:55:32
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】
はじめまして
エクセルでの計算について教えてください。
数枚のシートのある列に"A"、"B"、"C"....と数種類の文字列だけが入っているのですが
この数を数えたいのですがどのような数式を使えば良いのでしょうか?
教えてください。

710名無しさん@そうだ選挙にいこう:2007/12/09(日) 10:01:04
>>709
COUNTIF
711名無しさん@そうだ選挙にいこう:2007/12/09(日) 12:24:50
>>709
数種類ならCOUNTIFでもいいが、多ければピボットテーブル
712名無しさん@そうだ選挙にいこう:2007/12/09(日) 14:24:58
【1 OSの種類         .】 Windows 2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】
次々と数値を入力していく中の
最新5つだけを選ぶ命令式を教えていただけますか。
最近5日の売上だけ選んで計算とか。
行を挿入して数値を入力すると、
式内の範囲も下にずれてしまうのです。
=SUMの()内で$かR[]を使えば良いかと思ったのですが、
やはりずれていくので、作れずにいます。
宜しくお願い致します。
713名無しさん@そうだ選挙にいこう:2007/12/09(日) 15:14:57
>>712
OFFSET または INDEX
ここまでたどり着くのは大変だろうががんばれ
714名無しさん@そうだ選挙にいこう:2007/12/09(日) 15:15:20
>712
行の挿入しても合計範囲を固定したいのなら
INDIRECTを使ってみたら?
715名無しさん@そうだ選挙にいこう:2007/12/09(日) 15:44:43
>>712
A1セルから下にデータを入力しているのであれば
=SUM(OFFSET(A1,COUNT(A:A)-1,0,-5,1))
解説はしない。なにをやっているのかは自分で調べなさい。
716709:2007/12/09(日) 16:56:31
>>710-711

ありがとう
くぐったら使い方が判りました。
717名無しさん@そうだ選挙にいこう:2007/12/09(日) 19:58:54
例えば、B1+C1の計算済みの数値200がD1に出力
    B2+C2の計算済みの数値300がD2に出力
D1-D2の数値-100がE3に出力
    しかしA1にリスト選択した"正"と入力されていたら
    E3の-100を100(プラス表示)にする
    100だったら-100(マイナス表示)にする
  というBVAプログラム
  考えてください。
ネットとか調べてやってもうまくいきません
頭が悪いのでお願いします。
718717訂正:2007/12/09(日) 20:10:05
1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 あえて言うなら いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 If,Select Case,Function,Sub

例えば、B1+C1の計算済みの数値200がD1に出力
    B2+C2の計算済みの数値300がD2に出力
    D1-D2の数値-100がE3に出力
    しかしA1にリスト選択した"正"と入力されていたら
    E3の-100を100(プラス表示)にする
    100だったら-100(マイナス表示)にする
   というVBAプログラム
    考えてください。
ネットとか調べてやってもうまくいきません
頭が悪いのでお願いします。
719名無しさん@そうだ選挙にいこう:2007/12/09(日) 20:17:19
>>717
漏れも頭が悪いので頭が悪いコードになりました

Sub test()
  Range("D1").Value = Range("B1").Value + Range("C1").Value
  Range("D2").Value = Range("B2").Value + Range("C2").Value
  If Range("A1").Value = "正" Then
    Range("E3").Value = -(Range("D1").Value - Range("D2").Value)
  Else
    Range("E3").Value = Range("D1").Value - Range("D2").Value
  End If
End Sub
720名無しさん@そうだ選挙にいこう:2007/12/09(日) 20:32:55
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】
いつもお世話になってますm(_ _)m
株取引の計算式です。
D1  E1  F1  G1  H1
日付  単価  株数  価格  手数料

H3には、単価と株数を入力すれば、価格に応じた手数料になるように=IF(G3="","",VLOOKUP(G3,sheet13!$A$1:AB$8,2))と入力しています。
sheet13は下記の通りです。
0 0
1 200
100001 250
200001 450
500001 800
1000001 950
1500001 1500
30000001 1575

と、今までは1取引ごとに対しての手数料でしたが、今度から1日取引した金額に対して手数料が決まるプランに変更します。
そこで、同じ日付の取引金額を合計して、sheet13みたいな条件で取引料金を出し、取引回数で割ってH1に表示させるにはどうしたらいいでしょうか?

私の頭では限界です。
721720:2007/12/09(日) 20:34:56
H3ではなく、H1m(_ _)m
722720:2007/12/09(日) 20:36:57
あと、
=IF(G3="","",VLOOKUP(G3,sheet13!$A$1:AB$8,2))ではなく
=IF(G1="","",VLOOKUP(G1,sheet13!$A$1:AB$8,2))ですm(_ _)m
723名無しさん@そうだ選挙にいこう:2007/12/09(日) 20:40:19

   *推奨NGトリップ*
    ◆adhRKFl5jU
724名無しさん@そうだ選挙にいこう:2007/12/09(日) 21:18:12
すみません教えてください。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

目的のワークブックが起動しているかしていないかを調べ、
起動しているなら新規ブック(何一つ入力されていない状態)なのか
そうでないかをVBAで見分けることは可能ですが?
可能ならばそのやり方を教えてください。

やりたいことは、Book1(←エクセルを開いたときに開くファイル。まだ保存してないため拡張子もない。)
が開いているか開いていないかを調べ、開いていないならそのまま何もしない
開いていた場合、空のブックなら閉じる。 書かれていれば何もしない。

としたいのです。
どうぞよろしくお願いします。
725名無しさん@そうだ選挙にいこう:2007/12/09(日) 21:37:27
>>724
ActiveWorkbook.PathがNullかどうか調べるとか…
726724:2007/12/09(日) 21:51:22
>>725
ありがとうございます。
nullが何なのかがわかりませんが、
Workbooks("Book1").Path=null として、これは
→ブック1にパスが存在しない、すなわち保存されていない状態 という解釈であってますか?
この場合、保存はしていないものの、セルに書き込みがあった場合は上の条件だと駄目ですかね?


とりあえず
On Error GoTo openerr1
If Workbooks("Book1").Worksheets("Sheet1").Range("A1,Z100").Value = "" Then
Workbooks("Book1").Close
End If
openerr1:


今色々調べて書いてみたのですが、>724の動作を希望する場合、↑のマクロで問題ありますでしょうか?
errorの使い方が全くわからないのですが、添削お願いします。
727名無しさん@そうだ選挙にいこう:2007/12/09(日) 22:02:53
あるかどうか、聞く前に自分で試せよ w
728名無しさん@そうだ選挙にいこう:2007/12/09(日) 22:08:34
>>726
セルに書き込みがあっても
Application.DisplayAlerts = False
を入れとくと保存するかどうか聞かれませんが。
729724:2007/12/09(日) 22:24:06
>>728
ありがとうございます。
Application.DisplayAlerts = False
book1.close
ということでしょうか?

希望動作は、セルに書き込みがあれば、ブックを閉じるという命令は行わないので
保存するかどうか聞いて閉じるでも、強制非表示で閉じるでもなく、
閉じない(そのまま)をキープしたいのです。

まとめると
 閉じるケース:Book1が起動していて、何も入力されていない状態
 何もしないケース:Book1が起動していない もしくは Book1が起動していて何かが入力されている
このような動作になります。


>>727
ありがとうございます。
もちろん試しては居ます。予期せぬケースに、
上のマクロで対応できるかどうかという意味で、問題ありますでしょうか?
と質問しました。わかりづらくてすみません。
730名無しさん@そうだ選挙にいこう:2007/12/09(日) 22:25:11
>>720
SUMIFで合計してCOUNTIFで割ればいいのでは?
731名無しさん@そうだ選挙にいこう:2007/12/09(日) 22:30:11
>>726
セルに一切の入力がなく、book1のマクロに書き込んでるケースだと そのマクロだと対応できない。
Sheet2以降のシートに入力されてるケースでも対応できない。
あと知ってると思うが、range(Z100)以降には対応してない。

そんなところかな。
732717:2007/12/09(日) 22:35:10
すいません...再訂正と詳細です

..|A | B |   C   | D | E | F |
-----------------------------------------------
1|正| B1| C1文字列式|200|  |C1合計|
-----------------------------------------------
2|. .| B2 | C2文字列式|300|  |C2合計|
------------------------------------------------
3 |  |  |      |  |-100| |
-------------------------------------------------
4|  |  |     |  |  |   |

例えば
B1+F1の計算済みの数値200がD1に出力
B2+F2の計算済みの数値300がD2に出力
D1-D2の数値-100がE3に出力
しかしA1にリスト選択した"正"と入力されていたら
E3の-100を100(プラス表示)にする。100だったら-100(マイナス表示)にする
というVBAプログラムを考えてください。
いまのところ
   F1,F2にはC1,C2文字列式計算ユーザー定義関数
  Function KEISAN(R As Range)
KEISAN = Evaluate(R.Value)
  End Function

E3には関数SUM=D1-D2が設定してあります。
 ユーザー定義関数がわかりません。

ネットとか調べてやってもうまくいきません
頭が悪いのでお願いします。
733717:2007/12/09(日) 22:38:36
>>719
やってみましたがうまくできません...
734720:2007/12/09(日) 22:46:18
>>730
ありがとうございますm(_ _)m
しかし、どう条件づけしたらいいのか分りません>Д<
あと、sheetを月別にしている為、範囲が全sheetになります。(購入日順に入力しますが、売却はバラバラの為)
735名無しさん@そうだ選挙にいこう:2007/12/09(日) 23:29:23
>>724
On Error Resume Next
If Workbooks("Book1").Saved Then Workbooks("Book1").Close
On Error GoTo 0

でどうかな。
736名無しさん@そうだ選挙にいこう:2007/12/10(月) 03:28:50
>730
ためしにそのまんま作ってみた

12シートから特定の日(A2)の取引料金を合計して、取引回数で割る数式
=SUM(SUMIF(Sheet1!A:A,A2,Sheet1!G:G),SUMIF(Sheet2!A:A,A2,Sheet2!G:G),SUMIF(Sheet3!A:A,A2,Sheet3!G:G),
SUMIF(Sheet4!A:A,A2,Sheet4!G:G),SUMIF(Sheet5!A:A,A2,Sheet5!G:G),SUMIF(Sheet6!A:A,A2,Sheet6!G:G),
SUMIF(Sheet7!A:A,A2,Sheet7!G:G),SUMIF(Sheet8!A:A,A2,Sheet8!G:G),SUMIF(Sheet9!A:A,A2,Sheet9!G:G),
SUMIF(Sheet10!A:A,A2,Sheet10!G:G),SUMIF(Sheet11!A:A,A2,Sheet11!G:G),SUMIF(Sheet12!A:A,A2,Sheet12!G:G))
/SUM(COUNTIF(Sheet1!A:A,A2),COUNTIF(Sheet2!A:A,A2),COUNTIF(Sheet3!A:A,A2),COUNTIF(Sheet4!A:A,A2),
COUNTIF(Sheet5!A:A,A2),COUNTIF(Sheet6!A:A,A2),COUNTIF(Sheet7!A:A,A2),COUNTIF(Sheet8!A:A,A2),
COUNTIF(Sheet9!A:A,A2),COUNTIF(Sheet10!A:A,A2),COUNTIF(Sheet11!A:A,A2),COUNTIF(Sheet12!A:A,A2))

この結果にlookupをかませば計算は出来ると思うけど
・・・ピボット使って集計するっていう手もあるかもね
あるいはもっと簡単な式で作ってくれる頭のいい人を待つか・・・
737名無しさん@そうだ選挙にいこう:2007/12/10(月) 06:15:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

全てのシートのA行からB行間をコピーして、例えばTOTALシートに貼り付けるということは出来ますか?
738名無しさん@そうだ選挙にいこう:2007/12/10(月) 06:27:41
VBAで可能。

すべてのシートが何枚あって、TOTALシートにどう貼り付けたいかわからんので
自分で調べて。
739名無しさん@そうだ選挙にいこう:2007/12/10(月) 07:05:34
複数のブックがあって、それぞれシート枚数が異なります。
例えばシートが1〜5番まであるなら、コピーしたものをTOTALシート内に1〜5、上から順に貼り付けたいのです。
全てを統合するというのは↓の方法があったのですが、指定行だけというのは分からなくて・・・。
http://park11.wakwak.com/~miko/Excel_Note/04-01_sheet.htm#04-01-13
740737:2007/12/10(月) 07:06:46
すいません、>>739>>737です
741名無しさん@そうだ選挙にいこう:2007/12/10(月) 11:38:23
行単位指定(Rows)になってるところをセル単位指定(Range)にしてやればいいだけじゃん
742名無しさん@そうだ選挙にいこう:2007/12/10(月) 16:48:58
エクセル本体のファイルパスを知る方法を教えてください。
どうもバージョンごとやOSごとに微妙にエクセルの標準インストール先が異なるようなので。
【1 OSの種類         .】 Windows 98 Me 2000 XP
【2 Excelのバージョン   】 Excel 98 2000 2002 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
743名無しさん@そうだ選挙にいこう:2007/12/10(月) 19:13:28
>>742
これで。
Range("A1") = Application.Path + "\Excel.exe"
744名無しさん@そうだ選挙にいこう:2007/12/11(火) 00:21:24
3行(又は列)目毎()にとか、4行(又は列)目毎にとか、n行(列)目毎に
合計を取得するスマートな方法がありますか。
「とびとび」で検索したり、
「=sumif(検索範囲,mod(row(行範囲),4)=1,合計する範囲)」で試してみたりしたけれど
うまくいかない。
頭のいい人にお願いするしかないと悟った。
745名無しさん@そうだ選挙にいこう:2007/12/11(火) 00:25:38
いちばん簡単なのは横に作業セルをつくって合計する行に1をいれておき
1のある行だけSUMIFで集計

+やSUMのかたまりよりチェックしやすいからよくつかう手
746名無しさん@そうだ選挙にいこう:2007/12/11(火) 00:29:50
>>744
頭のいい人たちのサイト

ttp://support.microsoft.com/kb/402181/ja
747名無しさん@そうだ選挙にいこう:2007/12/11(火) 00:59:29
いやぁー、やっぱり、聞いてみるモンだ。
結構、検索したり、考えたりしていたので>>745さんのは知っていたけれど、
>>746さんのはそのものズバリ! microsoftの情報だからね。
とても、この式は考えつかない。
サンクス。
748名無しさん@そうだ選挙にいこう:2007/12/11(火) 02:15:14
携帯からすみません。
クリップアートを大きくして背景に入れることは可能でしょうか?
今ネット接続不可な場所で作業をしていて、どうしてもわからないので、よろしくお願いします。
749名無しさん@そうだ選挙にいこう:2007/12/11(火) 03:17:37
>>748
オートシェイプの塗りつぶしの効果で画像を指定して書式から半透明にする
750名無しさん@そうだ選挙にいこう:2007/12/11(火) 03:42:44
>>748
書式→背景

クリップアート自体は拡張子がwmfのファイルで、データの入ったフォルダは
C:\Program Files\Microsoft Office\mediaの下。
751名無しさん@そうだ選挙にいこう:2007/12/11(火) 09:15:05
携帯から失礼します。初歩的な質問なんですがピポットテーブルの意味がなかなか理解できません。なんとなくは使用できるのですが完全には理解できておりません。行列の各項目を集計できるツールという理解でよいのでしょうか?
752名無しさん@そうだ選挙にいこう:2007/12/11(火) 09:30:21
YES
それからPIPOTではなくて、PIVOT
753名無しさん@そうだ選挙にいこう:2007/12/11(火) 20:17:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】
   A   B   C   D   E  … 
1      1/1  1/2  1/3  1/4… 1月合計 最終売上日 
2 りんご      1               XX     1/X
3 みかん 3                    XX     1/X
4 バナナ          2

A列には品目、1行目に日付を設定した表で、売上げた日に数量を入力していくんですが
表の最後の列にその品目が売れた最後の日を表示したいのですが
何か関数などで表示することは可能ですか?
754名無しさん@そうだ選挙にいこう:2007/12/11(火) 20:52:03
>>753
そのシートの空きセルを利用しても良いのなら (少し汚いし回りくどくていいのなら)、出来そうな気がします。

   A   B   C   D   E  … 
1      1/1  1/2  1/3  1/4… 1月合計 最終売上日 
2 りんご      1               XX     1/X
3 みかん 3                    XX     1/X
4 バナナ          2

この表のさらに右のほうに 同じサイズのセルを使って、
売り上げ個数を入力する部分、(例えば上のB2:E4に相当する部分)に
Offsetを用いて日付のセルを参照します。

   O    P    Q    R    S  … 
1      1/1  1/2  1/3  1/4…
2 りんご  ☆         
3 みかん                  
4 バナナ      

この表の☆の部分にOFFSET(P2,-1,0,1,1) ←これだとP1セル=1/1がP2に入力される
そんな感じでP2:S4まで日付を参照させて、

最後に最初の表の最終売り上げのセルに
Max関数を使ってMax(P2:S2)見たいな感じにすれば出来ると思います。

汚いし頭の悪そうなやり方ですが、もし回答が付かなさそうであればこれ使ってください。
私にはこれしか無理です。
VBA使いたいです。
755名無しさん@そうだ選挙にいこう:2007/12/11(火) 20:53:51
すみません>754のオフセットにセルがブランクかの判定を入れてください。
=IF(P2>0,OFFSET(P2,-2,0,1,1),0)

売り上げがあったときのみ日付セルを参照しないと意味ナイですね。
756名無しさん@そうだ選挙にいこう:2007/12/11(火) 22:29:08
会社のパソコンのリースアップに伴いOffice XPから2007に替わりましたが、
顧客はみな古いバージョンを使っており、また、社内で使っているマクロで
XP相当のファイルを作る必要があり困っています(客先送付用)。
因みに、オプションで通常の保存時のデフォルトは旧形式に固定されています。

1) Word/Excelなど旧形式での保存は出来ますが、うっかり2007特有機能
 を使ってしまい後で困るケースが多発。たとえばデスクトップ上で右クリック
 新規作成で旧バージョンの書類(Word/Excel/PowerPoint)の新規作成
 コンテキストメニューは作れるでしょうか。新規作成してそれを開くと
 初めから互換モードになっていて欲しい。
 このとき新形式、旧形式両方のコンテキストメニューがあるといいのです。

2) Excelマクロで客先から貰う旧形式データをマクロで取り込み、加工してから
 別の新規Excelファイル(旧形式)を作りたいのですが、データを取り込んで
 から新規Bookを作成してそこに新たなデータを書き込んでいっているですが、
 ここに旧形式のシートを移動すると、シート全体の行列数の違いからマクロ
 エラーが出てしまいます。M$サイトを見ると、一旦新規ドキュメントを旧形式で
 保存して、その文書を閉じて、再度開くと互換モードになるとのことで、このまま
 マクロを作ればいいのでしょうが、もっとスマートなやり方はないでしょうか。
 できれば、旧形式でも新形式でもどちらでも問題なく動くやり方が知りたいです。

よろしくお願いいたします。m(_ _)m
757名無しさん@そうだ選挙にいこう:2007/12/11(火) 23:28:49
>>756
1)エクセル専門の話ではないけれど、新規作成に自分のテンプレートファイルを項目として入れることは
 できるよ。http://www.itmedia.co.jp/help/tips/windows/w0053.html
 これに、旧バージョン?の新規エクセルファイルを指定してやればいいともう。

2)>旧形式でも新形式でもどちらでも問題なく動くやり方
 これがすなわち互換モードだと認識しているのですが、あってますか?

 あってるならば互換モードで扱う方法を取る。互換モードで扱う方法は
 >一旦新規ドキュメントを旧形式で保存して、その文書を閉じて、再度開く
 とMSに乗ってるならそれに従うべきだと・・

 個人的に新規にブックを作って、元ファイルからデータを持ってくるより、
 元データを違う形で保存するだけのほうがよっぽど楽に感じそうですが、
 何か私の勘違いがあったらすみません。

 あと、加工する段階で、SaveAs Filename:= に FileFormat:= があると思うから、
 そこら辺もついでに加えて旧式で保存すればいいんじゃないかな?

2007を持っていないので全く見当違いな事言ってるかもしれません。
2007ユーザーはこのスレでもまだ多くは居ないと思うので気長に他者の回答を待ってください。
758名無しさん@そうだ選挙にいこう:2007/12/11(火) 23:39:23
自分でクラスモジュール使って、applicationレベルのイベント拾って
保存時に形式確認するアドインでも作りなされ。
759名無しさん@そうだ選挙にいこう:2007/12/12(水) 00:20:23
>>753
こんなのどうでしょう?

   A   B   C   ・・・  AE AF AG AH
1      1/1  1/2  ・・・ 1/30 1/31  1月合計 最終売上日 
2 りんご      1             ★  XX     1/X
3 みかん 3                     XX     1/X
4 バナナ          2

 B1=IF(C2="★","★","")としてAE2までコピー
 AF2=★
 AH2=IF(ISNUMBER(AF2),$AF$1,IF(B2="★","",OFFSET($B$1,0,MATCH("★",B2:AF2,0)-2)))
 後は条件付書式で★を見えなくする
760 ◆adhRKFl5jU :2007/12/12(水) 00:49:36

>>753
売上日がB1からAF1に入力されていてAH列が最終売上日の列だとした場合AH2に

=LOOKUP(1,1/B2:AF2,B$1:AF$1)
または
=INDEX(B$1:AF$1,,MATCH(MAX(B2:AF2)+1,B2:AF2))
と入力して下にコピー

売上日がシリアル値で入力されているならばAH2に
=MAX(ISNUMBER(B2:AF2)*B$1:AF$1)
と入力して、Ctrl + Shift +Enter で確定し下にコピーでも可
761名無しさん@そうだ選挙にいこう:2007/12/12(水) 00:52:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可(できればナシ)

計算結果の入ったセルを数行下にコピーするのですが、その時、数式の参照先を変えずにコピーできますか?
見た目は「値」コピー、中身は「数式」コピーという感じに、です。
762名無しさん@そうだ選挙にいこう:2007/12/12(水) 00:56:07
>>761
数式の中でセル名をA1などと書く代わりに$A$1と書けば、別のセルにコピーしても参照先は変わりません。
763名無しさん@そうだ選挙にいこう:2007/12/12(水) 00:57:23
>>761
セル番号に$をつけて絶対参照にする
764名無しさん@そうだ選挙にいこう:2007/12/12(水) 01:07:53
>>757
ありがとうございます。1)はregファイルを配布すれば簡単に出来そうです。
良く見たらtemplateに過去のバージョンのファイルがありますので。

2)は複数のファイルを取り込むのと、幾つものマクロを修正する必要が
あるので、簡単に出来る方法がないか探してみて色々やってみます。
765名無しさん@そうだ選挙にいこう:2007/12/12(水) 05:56:54
>>761
INDIRECT関数を使って参照先のセルを文字列で記述しておく
=INDIRECT("A1")
など
766名無しさん@そうだ選挙にいこう:2007/12/12(水) 08:37:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

>  If Sheets(i).Name <> "TOTAL" Then

という記述がマクロ内にあるのですが、"TOTAL"以外の複数の単語(例えば"ALL")を指定するにはどうしたら良いでしょうか?
767名無しさん@そうだ選挙にいこう:2007/12/12(水) 09:37:17
>>765
そういう無駄なことはやめましょう。
絶対参照で何も問題なし。
768名無しさん@そうだ選挙にいこう:2007/12/12(水) 11:12:33
名前入力していくんだけど名前の間に1つ空白を入れていきたいのですが
書式かなにかで勝手に空白を入れてくれるような設定ってありますか?
西村→西 村 って感じです。
WindowsXp/2003です。
769名無しさん@そうだ選挙にいこう:2007/12/12(水) 11:32:42
>>768
そういうのはエディタでやると楽って回答が過去にあったような気がする。
正規表現が扱えるエディタなら何でも良いと思うけど、一文字ごとにスペース挿入みたいな簡単なもので
置換して、またエクセルに戻してやるといいと思う。
770名無しさん@そうだ選挙にいこう:2007/12/12(水) 12:49:49
>767
無駄っつーこたぁねぇべ。
>761の場合は絶対参照で良いかも知れないが
参照先の移動に追随したくない時もある。
771名無しさん@そうだ選挙にいこう:2007/12/12(水) 13:02:18
>>768
セル書式の配置で横位置を均等割付にして
「前後にスペースを入れる」にチェックじゃダメ?
772111:2007/12/12(水) 16:46:51
すいません。Excelの使い方で質問です。
A列に縦に並んだ数字をもとに計算を行いB列に表示しようとしました。
その際に"=2.5EXP(-10^6*(A:A))"で計算しようとしましたが、エラーが出ます。
この計算を行うための方法を教えてください。
773名無しさん@そうだ選挙にいこう:2007/12/12(水) 17:38:28
>>770
参照先の移動に追随したくなければ=INDEX(1:65536,1,1)だな

774名無しさん@そうだ選挙にいこう:2007/12/12(水) 17:52:28
>>772
Excelの数式では掛け算の記号を省略することはできません。
たとえば数学で 3x+5y と書く式は、3*x+5*y みたいにいちいち * を入れなくてはなりません。
あと、 ^ はPOWERのつもりかな?
775名無しさん@そうだ選挙にいこう:2007/12/12(水) 17:54:14
>>768
空いたように見えてればいいだけなのか、データとしてスペースが必要なのか、どっち?
776名無しさん@そうだ選挙にいこう:2007/12/12(水) 18:00:03
>>766
文字列が数個ならIF文の条件を長くする。(文字列を全部書く)
十数個あるなら列挙型を使うといいかも。

ただ、判定するのがシート名なら、その先の処理もからめて考え直した方がいいかも。
シート名の一覧を取り出す方法もあるから。
777名無しさん@そうだ選挙にいこう:2007/12/12(水) 19:16:11
ExcelでAM変調の波形って描くことできますか?
搬送波+信号波の波形をかきたいのですが
778名無しさん@そうだ選挙にいこう:2007/12/12(水) 19:20:48
空白を含むセルをグラフ化しようとすると、線がとぎれますよね。
あれをVBAを使わず、エクセルの機能だけで故意に起こすことは可能でしょうか?
空白文字列(="")等を折れ線グラフのデータ範囲に指定すると、プロットはされないのですが
勝手に空白分が補完されてしまいます。
779名無しさん@そうだ選挙にいこう:2007/12/12(水) 19:24:16
>>778
間違えました。「=""」は「0」と解釈されます。
=NA()とするとプロットされませんでした。
780名無しさん@そうだ選挙にいこう:2007/12/12(水) 19:40:08
じゃあそれでいいんじゃないの?
781名無しさん@そうだ選挙にいこう:2007/12/12(水) 19:41:49
空白にすればいいじゃん
782名無しさん@そうだ選挙にいこう:2007/12/12(水) 20:05:47
>>769
>>771
>>775

遅くなりすいません。>>771さんの方法で希望満たしました。ありがとうございました。
783名無しさん@そうだ選挙にいこう:2007/12/12(水) 20:07:00
>>780
NA()を使えばプロットはされませんが、
たとえば折れ線グラフならプロットされる前後の値が線で結ばれてしまいます。

>>781
ある領域にデータがあり、そのデータを使って作った作業領域をグラフが参照しています。
そのため空白(数式が入力されていない状態)にはできません。
784名無しさん@そうだ選挙にいこう:2007/12/12(水) 20:54:15
VBAの質問です
セルの先頭が指定した文字列なら削除ってどうやったらできますか?
785名無しさん@そうだ選挙にいこう:2007/12/12(水) 21:14:38

  If Left(Cells(i, j), 1) = x Then
  Cells(i, j).Clear
  End If
786名無しさん@そうだ選挙にいこう:2007/12/12(水) 22:14:18
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

セルに「1」と入力するとセルAの文字列を読み出す,
「2」と入力するとセルBの文字列を読み出す,
「3」と入力するとセルCの文字列を読み出す,
 ・
 ・
 ・

というふうにしたいのですが,どのように関数を使えばよいのでしょうか?
IF関数かなと思っていろいろ調べたのですが結局分かりませんでした
皆様のお知恵を貸してもらえないでしょうか
よろしくお願いしますm(_ _)m
787名無しさん@そうだ選挙にいこう:2007/12/12(水) 22:14:39
>>785
d
788名無しさん@そうだ選挙にいこう:2007/12/12(水) 22:18:38
If Cells(i, j) Like "x*" Then
Cells(i, j).Clear
End If
789名無しさん@そうだ選挙にいこう:2007/12/12(水) 22:19:26
>>786
vlookup
790786:2007/12/12(水) 22:25:45
>>789
まじで助かりましたありがとう神様!
791名無しさん@そうだ選挙にいこう:2007/12/12(水) 22:47:44
>>783
無理です
792名無しさん@そうだ選挙にいこう:2007/12/12(水) 23:07:05
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

「A2」と入力すると,セルA2の値を返すような関数はありますでしょうか?

  A  B  C
1 51 52 53 
2 44 59 35
3 68 69 96

のような行列があった場合,

A2 → 44

のように返してくれる関数です
どなたか教えていただけると助かります  
793名無しさん@そうだ選挙にいこう:2007/12/12(水) 23:13:36
>>791
そうですよね。
できないことがわかったのでよかったです。
別の解決方法を考えます。ありがとうございました。
794名無しさん@そうだ選挙にいこう:2007/12/12(水) 23:18:54
>>792
indirect
795名無しさん@そうだ選挙にいこう:2007/12/12(水) 23:31:52
すみません、もしかすると初歩的なことかもしれないです。。。。

印刷プレビューウインドウ上側の次ページ・設定などがある
ツールバーが突然消えてしまいました。
このツールバーの表示・非表示はどのように設定するのか
どなたか教えていただきたいです。
よろしくお願いいたします。
796名無しさん@そうだ選挙にいこう:2007/12/12(水) 23:39:40
>>794
ありがとうございます!できました(・∀・)
797名無しさん@そうだ選挙にいこう:2007/12/13(木) 04:28:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル はみださせる 表示 印刷 など

エクセルで列の幅を変えずに、#表示にさせずにはみ出させたいのですが、
これはどこかの設定で可能なのでしょうか?
今の段階でもA1に文字を入力、A2A3…のセルが空ならはみ出して表示されるんです。
逆にA3に文字を右寄せで入力、A1A2が空ならそちら側にはみ出して表示したいんですが、
現状では#と表示されてしまい、はみ出させることが出来ません。

これはエクセルで作業するに当たってしょうがないことなんでしょうか?
798名無しさん@そうだ選挙にいこう:2007/12/13(木) 06:10:56
>>797
分かってるじゃん
理解早いよ

隣のセルが空白でないってことだ
799名無しさん@そうだ選挙にいこう:2007/12/13(木) 06:20:09
>>797
幅が足りないときに#になるのは数字を入れた時だけのはずですが。
文字は隣のセルが空いていれば、基本的にはみ出すようになっています。
左にはみ出させたいときは右寄せにすればいいだけです。

数字をはみ出させたいときは、数字を入力する前にセルの書式を設定しておきます。
書式のユーザー設定で「@」を指定してから、配置を左寄せにしておけば右に、右寄せにしておけば左に
数字がはみ出して表示されるようになります。
800796:2007/12/13(木) 08:38:22
>>798-799
レスありがとうございます。

>>799
すいません、言葉の使い方が間違ってました。数字+数字以外で文字というつもりで書いてました。
@を入れるとその数字を使って計算が出来なくなりますよね。(文字列として認識されるということなんでしょうか。)
計算できて、なおかつ#にさせない、そういう方法はないのでしょうか?

ファイルの作り方がまずいのかもしれませんが、どなたかおわかりの方がいらっしゃったらお願いします。
801名無しさん@そうだ選挙にいこう:2007/12/13(木) 09:50:29
ここの住人は数値と数字の違いを認識すべきだとオモ
802796:2007/12/13(木) 10:07:35
すいません、勘違いでした。
いつのまにか参照してるセルがずれていたのに、それに気づいていませんでした。

>>799さんありがとうございました。
803名無しさん@そうだ選挙にいこう:2007/12/13(木) 12:38:24
>>773
そういう無駄なことはやめましょう。
=INDEX(1:1,1,1)
804名無しさん@そうだ選挙にいこう:2007/12/13(木) 17:14:35
>>800
質問する前に自分でやってみろ。
@なら計算できる。
805名無しさん@そうだ選挙にいこう:2007/12/13(木) 19:03:59
自分がやってみた方がいいとオモ
806名無しさん@そうだ選挙にいこう:2007/12/13(木) 19:55:57
グラフの向きを変えるのってどうやるんでしょうか?
807名無しさん@そうだ選挙にいこう:2007/12/13(木) 21:27:46
>>803
お前ヴァカか?
行挿入したらA2の参照になるだろ?
ど素人が突っ込むには10年早いw
808名無しさん@そうだ選挙にいこう:2007/12/13(木) 21:54:50
どのバージョンと言うわけではないのでテンプレ書かないですが、EXCELで綺麗に年表を作りたいのですが、
何か綺麗な年表、あるいはその類のものを公開しているサイトって無いでしょうか。
あるいはプラグインでも構わないです。

自分で作るとあまりにも汚くて見本のようなものを探しております。

私生活用、会社用、趣味用として一つに並べて入力でも出力は会社用と趣味用だけとか
色分けとか色々とやりたいのですがうまくいかなくて。
809名無しさん@そうだ選挙にいこう:2007/12/13(木) 22:00:35
リンク貼り付けで同じ図を4枚貼り付けたシートを印刷しようとすると、
ページの左上にその図の一部が勝手に印刷されてしまいます。
印刷プレビューで確認してもそのような図の残骸は表示されず、
印刷したときだけでてきます。

色々試してみたところ、貼り付けた図が4枚以上のときにこの現象が起きるようです。
3枚以下にしたら起きませんでした。

解決策をご存知でしたらお願いいたします。
810名無しさん@そうだ選挙にいこう:2007/12/13(木) 22:02:20
【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否

火曜日を起点として、月間の売り上げを週ごとに集計したいと思います。
WEEKNUM関数を使えば良いのでしょうか?
どなたか教えていただけると助かります。

811名無しさん@そうだ選挙にいこう:2007/12/13(木) 22:10:59
Wordのファイルを体裁はそのままで
Excelファイルに変換出来る方法はありますか?
812名無しさん@そうだ選挙にいこう:2007/12/13(木) 22:42:49
>>811
ない
813名無しさん@そうだ選挙にいこう:2007/12/13(木) 23:24:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(表示一覧上に増やせるのであれば)
【5 検索キーワード     】Excel 最近使用したファイル一覧 10件以上


ツール→オプション→全般→最近使用したファイルの一覧
で増やせる表示数を10件以上に増やす方法は無いでしょうか?

Hatenaで私と全く同じ事を聞きたかった人の質問がありましたが
回答者が勘違いの回答をしたまま終了しています。
他には外部ツールで100件まで表示できる用ですが常駐ツールは増やしたくありません。

レジストリ変更や設定ファイルを直接バイナリエディタで変更等の方法は無いでしょうか?
814名無しさん@そうだ選挙にいこう:2007/12/13(木) 23:41:28
>>807
行挿入の意味がわからんが
a1:a65536からindexとるより
a1:a1からの方が無駄が無いと思うけど
815名無しさん@そうだ選挙にいこう:2007/12/13(木) 23:55:49
>>814
>>807じゃないけど、>>803の式を入れてから1行すべてを選択して行の挿入してみな
ついでに書いとくと>>803の式にするなら =INDEX(1:1,1) で充分
くだらないからつっこまなかったけどね
816名無しさん@そうだ選挙にいこう:2007/12/13(木) 23:59:35
>>811
ワード文書をエクセルのワークシートに貼り付けることなら可能。これが一番確実。
レイアウトが崩れることもない。

どうしても変換したかったらワードから文書XML形式で保存して、それをエクセルで開くなんて方法もある。
ただしこの方法では完全には同じにならない。内容によるのでやってみるしかない。
817名無しさん@そうだ選挙にいこう:2007/12/14(金) 03:44:11
>>813
履歴に表示されるファイルの数とファイル名はレジストリに記録されているが、
ここを手動で10以上に変更しても無視される。

ちなみにファイル数の記録場所は
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options]

DefFileMRU

ファイル名は
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Recent Files]

なので、外部ツールを使った方が簡単、確実。
818名無しさん@そうだ選挙にいこう:2007/12/14(金) 03:47:43
>>810
もうちょっと具体的に書いて。
元のデータは何がどういう順番で並んでて、集計結果はどこに入れるとか、
毎月1日から第一月曜までのデータはどうすんのか、とか。
819名無しさん@そうだ選挙にいこう:2007/12/14(金) 07:24:16
横から質問なんですが、>>804-805を読んで気になったので色々と試してみたところ、
計算できる場合とできない場合があることに気が付きました。

例えばA1、A2ともに書式で@を指定してあっても、=A1+A2なら合計が表示されますが
=SUM(A1,A2)ではだめでした。

どのような条件で計算の可否が区別されるのでしょうか?
820名無しさん@そうだ選挙にいこう:2007/12/14(金) 07:56:37
>>819
へえ、ほんとだ。
SUMのヘルプには文字列のセルは無視するって書いてあるね。
関数によるんじゃないかな。@使うなら気をつけないといかんね。
821813:2007/12/14(金) 09:45:00
>>817
確かにその項目を弄っても無視される様でした。
9件だけでは便利かのようで微妙な所ですね

履歴を消したいって方が多くヒットしましたし世間的には要らない機能なのかな・・・。
822名無しさん@そうだ選挙にいこう:2007/12/14(金) 09:45:30
数字と数値の違いだとオモ
数字は演算子で計算できるけど関数を使うためには
「--(数字)」とか「(数字)*1」とか「(数字)+0」とか「VALUE(数字)」を
使って数値に変えなきゃならない
823名無しさん@そうだ選挙にいこう:2007/12/14(金) 09:50:25
>>821
2007では17件まで拡張(※)されているので、
あながち要らない機能とされているわけでもないかと。

※)実際にはスクロール表示されるので17件以上でもOK
824名無しさん@そうだ選挙にいこう:2007/12/14(金) 09:54:51
>>822
その通り。
書式に@を使えばそれはもう文字列=数字(≠数値)

関数で扱えない(SUM関数で文字列扱いになる)のは数字だから。
四則演算ができるのは、Excelが
「数値として処理できる文字列は面倒だから数値に換算」
してくれるため。むしろこちらのほうが特例。
825名無しさん@そうだ選挙にいこう:2007/12/14(金) 10:02:54
Excel 2002です。

集計し、折りたたんだたSubtotalのみの表を
他のシートに貼り付けて加工したいのですが
どうすればよいでしょうか?

そのまま、折りたたんで隠れた行がたくさんある状態では貼り付けられるのですが、
合計行を並べ替えたりさらに集計したりしたいです。
826名無しさん@そうだ選挙にいこう:2007/12/14(金) 10:58:40
>>807
そうにゅう事ね、正直すまんかった。
>815 多謝
827811:2007/12/14(金) 11:01:47
回答ありがとうございます。

ワークシートに貼付けとはワード文書をコントロール+A、
ワークシートに貼付けというやり方で宜しいでしょうか?
828名無しさん@そうだ選挙にいこう:2007/12/14(金) 12:18:45
>>827
スクリーンショットでそ
829名無しさん@そうだ選挙にいこう:2007/12/14(金) 12:49:16
>>827
メニューの挿入→オブジェクト
で、ワード文書やエクセルのシートなんかがそのまま貼り付けられる。
830名無しさん@そうだ選挙にいこう:2007/12/14(金) 13:05:06
Excel 2002です。

Excelでグラフを作成し、そのままPowerPointに貼り付けるとなぜか
グラフの曲線がカクカクしてしまい、非常に解像度の悪い図になってしまいます。
これはどうすれば解像度の良い図にすることが出来るのでしょうか?
検索しようと思っても検索ワードを何て入れれば良いのか分かりませんでした。
どなたか教えていただけないでしょうか?
831814:2007/12/14(金) 13:30:23
>>807,>>815
あそうか、私が馬鹿でした。
832名無しさん@そうだ選挙にいこう:2007/12/14(金) 14:24:46
質問させてください。
テーブル状の行列データを持っているワークシートがあります。
このシートのデータを、他のシートのデータをキーにして検索し、該当する行の値を取り出してます。
ちょうど、ACCESSやSQLで表を結合してデータを取得するイメージと同じです。

これを実現するのに、現在、VLOOKUP()関数を用いて、
キーに該当する要素データを1セルずつ取得しているのですが、この方法だと、
取得するデータ数や、参照するデータシートの行列が増えるほど、処理時間が激増します。
VBAを使わず、関数や標準の機能だけで、同様の処理をもっと早く行う方法があるでしょうか?
833832:2007/12/14(金) 14:29:48
補足ですが、何を知りたいのかというと、
例えば、VLOOKUPで検索した値ではなく、そのセルの位置を取得する方法があれば
同じキーに対する、行方向のデータの取得が高速化できるはずです。そういった手段です。
834名無しさん@そうだ選挙にいこう:2007/12/14(金) 14:38:01
>>832-833
機能的にはMATCHが近いのだろうか?
時間がどうなるかは知らない
835名無しさん@そうだ選挙にいこう:2007/12/14(金) 16:50:31
教えてください。FOM出版のオフィススペシャリストの本は3周
しました。しかし、実務では申請書や企画書などをエクセルで
作成するとのこと。表作成?を勉強できる本などはありませんで
しょうか?
よろしくお願いします
836830:2007/12/14(金) 17:05:04
どうなんでしょうか?
困っています。
お願い致します。
837832:2007/12/14(金) 17:08:36
>>834
ありがとうございます! そのものズバリでした。
関数挿入メニューに載っているものは、一通り使い方に目を通したつもりだったのですが・・・。
おかげさまで、大幅に高速化できました。感謝致します。
838名無しさん@そうだ選挙にいこう:2007/12/14(金) 17:37:23
>>836
試しに、一回目 「powerpoint グラフ 貼り付け 粗くなる」 でググって見た。

・ヒットしたもののうち、下のを見てみると、内容は期待したのと違った。
  ttp://www.nishinihon-slide.co.jp/pagehtml/slidepo.html
・でも読んでみると、「グラフのサイズ」 または 「設定解像度」がキーワードとして考えられた。
・エクセルのグラフの大きさを調節(大きく)してからPowerPointに貼り付けてみる。
・または、検索語の一部を 「解像度」 に変えて再検索する。

って、こういう流れ全体が「調べる」ってことでしょ。検索ワードが分からない、って何だよそりゃ。
他人が相手か、WEBが相手かが違うだけで、調べる姿勢自体が”教えてくん”になってるじゃん。
・・・と偉そうに言ったが、パワポは無いから確認できないんだよね。スマン。
839名無しさん@そうだ選挙にいこう:2007/12/14(金) 18:52:13
>>825
コピーしたい状態で範囲を選択して、
編集→ジャンプ→セル選択→可視セル→OK
で、コピー、貼り付け
840名無しさん@そうだ選挙にいこう:2007/12/15(土) 03:17:58
初歩的な質問で恐縮です

xp 2002 です

セルa2を指定するときは=a2ですが、
=a(1+1)みたいにできないのでしょうか?

841名無しさん@そうだ選挙にいこう:2007/12/15(土) 05:17:34
>>840
セル位置の指定に数式をからめる方法はいくつもある。
その例に一番近い書き方ができるのは、たぶんこれかな。
=INDIRECT("A"&(1+1))
842名無しさん@そうだ選挙にいこう:2007/12/15(土) 05:18:41
ありがとうございます
助かりました
843名無しさん@そうだ選挙にいこう:2007/12/15(土) 16:00:34
sin波形を描いて負の側だけ表示しないようにとかできますか?
844名無しさん@そうだ選挙にいこう:2007/12/15(土) 16:01:43
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可

ある列に幾つかの値がそれぞれ不特定多数入力されています。
同じ値が入力されているセルもあるし、一つだけのセルもあります。
そこから全ての値に対してその値一つだけを抜き出すのはどうすればいいのでしょうか?

例えば1から31までの数字が合計3000セルに渡って入力されています。ここで、
「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」、「9」、「10」、
「11」、「12」、「13」、「14」、「15」、「16」、「17」、「18」、「19」、
「20」、「21」、「22」、「23」、「24」、「25」、「26」、「27」、「28」、「29」、「30」、「31」
の値、合計31個の値だけが欲しいのです。
これは数字ですけど、五十音順の「あ〜ん」なら46個の値だけということになります。

分かり辛い説明ですが宜しくお願いします。
845名無しさん@そうだ選挙にいこう:2007/12/15(土) 16:29:27
ほんとにわけがわからない

ちょっと図で説明して
846名無しさん@そうだ選挙にいこう:2007/12/15(土) 16:34:46
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 あまり
【4 VBAでの回答の可否】 可

普通の白い紙で印刷したり色つきの紙で印刷したりしたいんですが
エクセルからプリンターのトレイを選択することってVBAなんかだと可能なんですか?
マクロでは記録できないようなのですが、その都度プリンターのプロパティで変更するのでは
少し手間なのでなにかすっきりさせる方法があれば、と思っています。

どなたかご存じないでしょうか?
847名無しさん@そうだ選挙にいこう:2007/12/15(土) 16:50:17
>>846
Application.ActivePrinter = "プリンタ名 on ポート名:"
848名無しさん@そうだ選挙にいこう:2007/12/15(土) 17:53:03
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
スレ違いかもしれませんが、
グラフをもとに、そのグラフの関数を求める方法にはどんなものがあるでしょうか?
849名無しさん@そうだ選挙にいこう:2007/12/15(土) 18:13:54
>>848
グラフは値で描かれるものであって、関数で描かれるものではない。
よってそういう方法はないと思う。
850846:2007/12/15(土) 18:13:59
>>847
すいません、もう少し詳しく教えてください。
KM-C2520というコピー機をプリンターを使っていますが、
プリンターのトレイごとにポート番号が割り当てられているんですか?

伝わっていなかったかも知れないのですが、現状では手動で
プリンターのプロパティでトレイのところが自動選択となっているところを
トレイ1にしたりトレイ2にしたりしています。
851名無しさん@そうだ選挙にいこう:2007/12/15(土) 18:52:35
>>845
ああああああああああいいいいいいううえええええええええおおおおおおおおおおおおおおおお



あいうえお

こんな感じです。実際は縦に並んでるデータですが。
852名無しさん@そうだ選挙にいこう:2007/12/15(土) 18:56:11
>>844
作業列に↓こんなん入れて
=IF(ISERROR(MATCH(A2,A$1:A1,0)),A2,"")
コピー値貼り付けで、編集ジャンプで空白を詰めるとか
853名無しさん@そうだ選挙にいこう:2007/12/15(土) 19:12:16
>>844
ピボットテーブルでできるんでねえか。
854名無しさん@そうだ選挙にいこう:2007/12/15(土) 19:15:35
>849ありがとうございます。
実は、任意のグラフからその関数を数学的に求めることができるかどうか
という意味で質問したつもりでした。
855名無しさん@そうだ選挙にいこう:2007/12/15(土) 19:40:21
回帰直線がどうたらこうたらって言うんだったら LINESTやらSLOPEあたりだろうけど、そういう話ではないんだろうなぁと
856名無しさん@そうだ選挙にいこう:2007/12/15(土) 20:12:46
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否(それしか方法がないなら可)

シートが1から5まであり
日々の仕入れをシート1に下記のような一覧で作ってます

品名     数     仕入先
りんご    1      山田商店
らっきょ   2      佐藤商店

この表からシート2(山田商店)  シート3(佐藤商店)とそれぞれに
入力した物を自動で転記したいのですが
どのようにすればよいでしょうか? 仕入れ先がひとつなら
VLOOKUPとかで出来るのですが
多数の仕入れ先だとその振り分けができません。
ちなみに仕入れ先は全部で5箇所(シートも5箇所分)で日々どこから仕入れがあるかわかりません。
よろしくお願いします。
ちなみにシート1の表は枠線だけ作ってあり
日々そこに仕入れ状況を書き込み名前を変えて保存して貯めています。


857名無しさん@そうだ選挙にいこう:2007/12/15(土) 22:30:56
>>856
VBA使わなくてもできるけどそんなに簡単じゃないぞ

抽出データを詰めて表示する2
ttp://www.geocities.jp/chiquilin_site/data/060504_extraction2.html

パラメータクエリ
ttp://www11.plala.or.jp/koma_Excel/contents6/mame6041/mame604101.html
858名無しさん@そうだ選挙にいこう:2007/12/16(日) 02:49:28
>>856
毎日別々に保存しないでずらっと入力していけばいいのに。
別のシートに仕入れ先ごとにまとめなくても一つのシートでオートフィルタ使えばいいのに。

と言いたいが、大きなお世話ですか。
859名無しさん@そうだ選挙にいこう:2007/12/16(日) 10:43:35
>>858
つーか
>毎日別々に保存しないでずらっと入力していけばいいのに。
こうなってるシートを5つに振り分けたいという質問なのに。
860名無しさん@そうだ選挙にいこう:2007/12/16(日) 11:03:10
店別のシートに自動で振り分けるとかいう発想がそもそも間違ってる。Excelはそういうソフトじゃない。
入力の方法は間違ってないので、そのままオートフィルタなりピボットテーブルで店別に集計すればいい。
861名無しさん@そうだ選挙にいこう:2007/12/16(日) 13:43:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 条件にあてはまる列だけ別シートに貼り付ける

sheet1のA1からA100に1から100の数字があります。
その中から、私が指定した数字(例えば8と79とか)のBCDE.....列を
sheet2に貼り付けたいのです。
どうやったらできますか?
おねがいします。

862名無しさん@そうだ選挙にいこう:2007/12/16(日) 13:58:56
>>861
vlookup

B列だったら=VLOOKUP(8,$A$1:$A$100,2,0)とか
863名無しさん@そうだ選挙にいこう:2007/12/16(日) 14:41:25
>>860
おまえが使いこなせてないだけ。
864exc:2007/12/16(日) 15:08:04
>>863
私はどちらかというと>>860の意見に賛成の立場です。
マクロとかでがんばるよりも素直にピボットテーブルで集計してしまう方が
EXCEL向きだと思いますよ。
ピボットテーブルで店別の集計を出した後で集計値をダブルクリックすれば
その店だけの明細も出てきますからね。
865名無しさん@そうだ選挙にいこう:2007/12/16(日) 15:40:19
【1 OSの種類         .】 WindowsNT
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】はい
【4 VBAでの回答の可否】 否
 ひとつのEXCELファイルに他のファイルのデータを表示したい。
 B列にEXCELファイルの拡張子を抜いた文字列を入力。
 A列にB列の名前のファイルの特定セルの内容を表示。
 これって出来ますか?
 出来るならば数式のみで解決したいです。
866名無しさん@そうだ選挙にいこう:2007/12/16(日) 16:21:59
>>865
ヘルプで
ほかのブックやアプリケーションへのリンクについて
を嫁
867名無しさん@そうだ選挙にいこう:2007/12/16(日) 17:10:45
実際にやってみたらいい。
Book1のA1に「=」っていれてBook2のA1を選択したらどうなるか。
868 ◆Cchan9UuUo :2007/12/16(日) 17:28:38
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

自分のPCで作ったファイルを、別のPCへコピーしたいのですが、フォルダ内の
全てではなく、最新更新日だけを選んでコピーするマクロを教えてください。

自分のPC
D:\お料理レシピ\
  ロールキャベツ1.xls 2007/12/11 15:20
  ロールキャベツ3.xls 2007/12/13 19:14
  ロールキャベツ2.xls 2007/12/16 17:12 ←これだけコピーしたい

別のPC
\\TOMOKO\最新お料理レシピ\

よろしくお願いします。
869名無しさん@そうだ選挙にいこう:2007/12/16(日) 17:38:46
OS XP excel 2003
7時間40分とか8時間10分を合計するためには
データをどういう風に入力すればいいですか?
15分単位ばかりなら0.25でいけるのですが・・・・
870名無しさん@そうだ選挙にいこう:2007/12/16(日) 17:51:50
テンプレ使うくらいの小さな努力もできない奴は
何をやっても駄目だからあきらめるのが一番
871名無しさん@そうだ選挙にいこう:2007/12/16(日) 18:06:41
>>869
7:40:00とか8:10:00という風に
872名無しさん@そうだ選挙にいこう:2007/12/16(日) 18:17:11
>>868
dirをループで回してファイル名の一覧を取得、その後
ファイル名を日付の逆順でソート
一番上にくるファイルを
対象フォルダにコピーで

いいっしょ
873872:2007/12/16(日) 18:37:47
忘れてた
時間は
FileDateTime
874exc:2007/12/16(日) 19:57:08
875名無しさん@そうだ選挙にいこう:2007/12/16(日) 20:12:01
>>874
ageてる上に直リンするな!カス!!!
876名無しさん@そうだ選挙にいこう:2007/12/16(日) 20:15:14
>>875
なんで直りん駄目なの?
877exc:2007/12/16(日) 20:21:03
>>875
なんで怒ってるの?
878名無しさん@そうだ選挙にいこう:2007/12/16(日) 20:21:29
>>876
そういうことは初心者板に行けばのってる
879名無しさん@そうだ選挙にいこう:2007/12/16(日) 20:22:48
>>877
うざいし迷惑だから
880exc:2007/12/16(日) 20:25:43
>>878>>879
結局説明できないのか。
881名無しさん@そうだ選挙にいこう:2007/12/16(日) 20:36:31
882exc:2007/12/16(日) 20:49:49
>>881
わからないなあ。なんで?
883名無しさん@そうだ選挙にいこう:2007/12/16(日) 20:50:57
>>882
わからないのは君がバカだから

以上
884exc:2007/12/16(日) 20:51:57
>>883
結局説明できないんだね。
885 ◆Cchan9UuUo :2007/12/16(日) 20:55:11
>>872
分からないから教えて!
@dirをループで回してファイル名の一覧を取得
Aファイル名を日付の逆順でソート
B一番上にくるファイルを対象フォルダにコピーで
C下のF_Name

Sub 最新ファイルをコピーするの()
  Dim F_Name, コピー元, コピー先
  Set F_Name = CreateObject("Scripting.FileSystemObject") '←どう書くの?
  コピー元 = "D:\お料理レシピ\"
  コピー先 = "\\TOMOKO\最新お料理レシピ\"
  F_Name.copyfile DIRA & 最新ファイル, コピー先
End Sub
886名無しさん@そうだ選挙にいこう:2007/12/16(日) 21:03:13
いまどき直リンがどうたらいってる奴は化石
887exc:2007/12/16(日) 21:25:59
>>886
まったくですね。
>>881なんて「直リンするな」という説明を直リンするという矛盾。
888名無しさん@そうだ選挙にいこう:2007/12/16(日) 21:30:15
>>885
createobjectなんて使ったことねーから知らないや(^^;
dir関数のヘルプをVBEで見てくださいな。んで見つかった時に
シートにそのファイル名と、横のセルにFileDateTimeを使って日時を書き出すというのを
繰り返せば良いでしょ?
889名無しさん@そうだ選挙にいこう:2007/12/16(日) 21:32:44
>880,884
説明できなくて当然でしょ。だって、説明すべき理由が存在しないもん。

直リン罵倒する奴は、直リンする奴を「これだから解ってない奴はw」みたいな書き方するが、実は直リン罵倒する奴の方が「解ってない奴」なわけで。

そもそも直リンクとは別サイトにある画像などのコンテンツをインライン表示させるリンクのことで
2chでは本当の直リンはやろうとしても出来ない。(一部の専ブラは設定次第で画像のインライン表示が出来るけど)
因みに、インライン表示ではなく画像や書庫などの直URLを書くのは直リンクの拡大解釈で、
オートリンク機能のある掲示板でh抜きしないでオートリンクを使うのは直リンクの誤用であるとされている。

とは言え、誤用の直リンクにも全く意味がないわけではない。その意味がリファラーの隠蔽や鯖負荷の軽減だ。
しかしUGサイトや厨房サイトならともなく、>874のようなところは2chのリファラーが付いたくらいでコンテンツを移動させることなんて無いし
鯖負荷の話ならh抜きよりレスアンカーを >>n から >n や ≫n などにした方が余程効果は大きいので >>n を使ってる奴に言う資格など無い。

ついでに言うと>881に書かれてるのは「拡大解釈の直リンク」の話で、>874の「誤用の直リンク(h抜き無しのページリンク)」とは関係ない。
890名無しさん@そうだ選挙にいこう:2007/12/16(日) 21:38:08
ナウなヤングは直リンなんてしないんだよ
891exc:2007/12/16(日) 21:45:40
>>889
説明できないのはわかっていてわざと質問しました。ちょっと意地悪だったかも。
この話はもうやめてexcelの話をしましょうか。
892名無しさん@そうだ選挙にいこう:2007/12/16(日) 21:55:23
>>885
Sub 最新ファイルをコピーするの()
  Dim fso, コピー元, コピー先, ファイル, 最新日時, 最新ファイル名
  Set fso = CreateObject("Scripting.FileSystemObject")
  コピー元 = "D:\お料理レシピ\"
  コピー先 = "\\TOMOKO\最新お料理レシピ\"
  For Each ファイル In fso.GetFolder(コピー元).Files
    If 最新日時 < ファイル.DateLastModified Then
      最新日時 = ファイル.DateLastModified
      最新ファイル名 = ファイル.Name
    End If
  Next
  fso.CopyFile fso.BuildPath(コピー元, 最新ファイル名), fso.BuildPath(コピー先, 最新ファイル名)
End Sub
893 ◆Cchan9UuUo :2007/12/16(日) 21:55:36
ここの住人もレベルが落ちたんですね・・・

894 ◆Cchan9UuUo :2007/12/16(日) 21:56:35
あ、893は「直リン」の話題ね♥
895名無しさん@そうだ選挙にいこう:2007/12/16(日) 22:05:30
俺は直リンなんかより質問以外であげる奴のほうがうざい
896 ◆Cchan9UuUo :2007/12/16(日) 22:12:52
>>892
ありがとうございます!!
独身の好青年でしたら、27歳になった娘の婿にぜひ♥
897名無しさん@そうだ選挙にいこう:2007/12/16(日) 22:28:15
直リン駄目とかあげるなとかいう奴は
鳥居をくぐれないそうかみたいなもん
898名無しさん@そうだ選挙にいこう:2007/12/16(日) 22:38:35
オバサンも頑張ってるんだなw
899名無しさん@そうだ選挙にいこう:2007/12/16(日) 23:11:01
900869:2007/12/16(日) 23:49:51
>>
874
ありがとうございました。
901名無しさん@そうだ選挙にいこう:2007/12/17(月) 01:10:36
あるセルに同列の1行目〜一つ前の行までの値の合計を表示するとき、
後から途中に行を追加してもきちんと表示されるようにするにはどうすればいいでしょうか?
SUM関数だとうまくいかないですかね…
902名無しさん@そうだ選挙にいこう:2007/12/17(月) 01:27:20
後から途中に行を追加してもきちんと表示されますが何か?
903名無しさん@そうだ選挙にいこう:2007/12/17(月) 01:34:27
あら…ホントですね。VBAでセル追加してるから関数変わらないのかな…
904名無しさん@そうだ選挙にいこう:2007/12/17(月) 01:49:10
"=SUM(R[-5]C:R[-1]C)" みたいに書いてるんだよね?
905名無しさん@そうだ選挙にいこう:2007/12/17(月) 02:02:12
例えば、A11に=SUM(A1:A10)というような感じでそのまま書いてます。
VBAの方をセル追加じゃなく、行自体を追加するようにしたら解決しました。
お騒がせしました。
906名無しさん@そうだ選挙にいこう:2007/12/17(月) 06:39:34
vbaなしで関数でセルに時計(現在時刻)を表示させたいのですが、
できるでしょうか?
907名無しさん@そうだ選挙にいこう:2007/12/17(月) 06:50:18
=now()で常にF9
908名無しさん@そうだ選挙にいこう:2007/12/17(月) 06:56:07
=now()
909906:2007/12/17(月) 07:51:25
時計として自動更新したいのです。
910名無しさん@そうだ選挙にいこう:2007/12/17(月) 08:41:00
VBAがだめならVBSを使えば?
メモ帳に以下のプログラムをコピペして保存したあと、拡張子をvbsに変更してダブルクリックすると時計表示。
セルをどれかクリックすると停止。

Set Excel = CreateObject("Excel.Application")
Excel.WorkBooks.Add()
Excel.Visible = True

Do
Excel.Cells(1, 1) = FormatDateTime(Time, vbLongTime)
Loop
911906:2007/12/17(月) 10:00:24
>910
「セルをどれかクリックすると停止。」 はまずいので
ほかを考えてみます。
お知恵をいただきどうもありがとうございました。
912712:2007/12/17(月) 10:32:52
遅ればせながら

>>713さん
ありがとうございました。とても励みになりました。本当に。本当に。

>>714さん
仰るとおり、私も挿入する列に計算式を置いても、
合計範囲を固定できればうまくいくかと思ったのですが、
ダメでした。どうしても挿入したら範囲がずれてしまって。
結局、別列に式を置いて、715さんの式を置くことにしました。
そのINDIRECTを試したのですが、うまくいきませんでした。。。すみません。

>>715さん
ありがとうございました。使わせていただきました。
なるほど、COUNTで数値を拾うとこんなやり方も出来るのかと
勉強になりました。
今後、自分で思いつける自信はありませんけど。
913名無しさん@そうだ選挙にいこう:2007/12/17(月) 12:49:40
「区切り」の区切り文字(タブ、スペース、セミコロン・・・)のデフォルトのチェックを設定する、
あるいは前回のチェックを記憶しておく方法はないでしょうか?
914825:2007/12/17(月) 13:13:53
>839
お礼が遅れました、ありがとうございました。
形式を指定して貼り付けのときに「可視セル」が選べるのが
直感的な操作だと思うのですが、それはないんですね。
意外な手順でした。
915名無しさん@そうだ選挙にいこう:2007/12/17(月) 16:20:38
すんません助けてくださいお願いします。

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

A列に連番、B列に名前、C列に得点が入力されている表から、
80点〜100点の人を別シート「合格者一覧表」へ名前のみ抽出して転記するには
どのようにすればよいでしょうか。

よろしくお願いします。
916名無しさん@そうだ選挙にいこう:2007/12/17(月) 16:29:21
>>915
オートフィルタで抽出してコピペ
917名無しさん@そうだ選挙にいこう:2007/12/17(月) 16:30:59
>>916
早速のレスありがとうござります。


そ、それを何とか自動で・・・できませんかね?
918名無しさん@そうだ選挙にいこう:2007/12/17(月) 16:33:50
>>917
つ記録マクロ
919名無しさん@そうだ選挙にいこう:2007/12/17(月) 16:37:43
>>917

やっぱVBA使わんと無理ですかorz

1年前に1度奮起してやってみたっきりw>VBA


勉強しなおしてきます・・・。
920915:2007/12/17(月) 16:40:51
お礼を忘れておりました(汁。

レスいただいたみなさんありがとうございました。
921名無しさん@そうだ選挙にいこう:2007/12/17(月) 22:01:59
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 COUNTIF
すみません質問です。
COUNTIFの範囲指定は、連続するセル以外は、足していくしかないのでしょうか。
例えばA1,A5,A9,A13の4つのセル中、該当する値が入ってるセルが何個あるか数える場合などです。
今はCOUNTIF(A1,1)+COUNTIF(A5,1)+…みたいになっているのですが、
さらにセルが増えた場合、その数式の長さが恐怖です。
ちなみにセルの位置は都合上変えられません…
ご指導お願い致します。
922名無しさん@そうだ選挙にいこう:2007/12/17(月) 22:25:21
C2セルに書いた値をA列から探し、合致してたらB列の文字をD2セルに
書き出したいんですが、うまく動作しません。
どこがマズーですか?

Sub 森田検索()
  Dim FoundCell As Range, 森田 As String
  森田 = Range("C2").Value
  Set FoundCell = Range("A1").CurrentRegion.Find(What:=森田)
  If FoundCell Is Nothing Then
    MsgBox "探したけど無いYO!"
  Else
    Range("D2") = FoundCell.Offset(0, 1)
  End If
End Sub
923名無しさん@そうだ選挙にいこう:2007/12/17(月) 23:14:40
>>922
CurrentRegionだといろいろ巻き込む

Sub デコ委員長検索()
Dim FoundCell As Range, デコ委員長 As String
デコ委員長 = Range("C2").Value
Set FoundCell = Range("A:A").Find(What:=デコ委員長)
If FoundCell Is Nothing Then
MsgBox "が、夢はあきらめるべきではない"
Else
Range("D2").Value = FoundCell.Offset(0, 1).Value
End If
End Sub
924名無しさん@そうだ選挙にいこう:2007/12/17(月) 23:16:05
>>921
そう。
恐怖を感じるなら、その動かせないセルを参照する計算用の表を作ればいいんじゃねーの?
925922:2007/12/17(月) 23:23:53
>>923
有賀さつき

しかーーーし、「デコ委員長」の意味が分からん・・・
926名無しさん@そうだ選挙にいこう:2007/12/17(月) 23:30:42
>>924
やっぱり無理なんですね...orz
おとなしく別のセルに一旦整列させて、COUNTIF使います。
アドバイスありがとうございます!
927名無しさん@そうだ選挙にいこう:2007/12/17(月) 23:40:11
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

初めて質問を致します。
複数のユーザーで1つのブックを共有して使いたいのですが、同時に2人のユーザーが同じブックを編集することは可能でしょうか?

以前にgoogleスプレッドを利用していましたが、
使うデータの都合上、オートフィルタを使いたいのです。

どなたかお教えいただけると幸いです。
928名無しさん@そうだ選挙にいこう:2007/12/18(火) 00:29:05
Yes

次〜
929名無しさん@そうだ選挙にいこう:2007/12/18(火) 01:05:00
携帯からすいません。
ページ番号を1シート内で

1-1
2-1
3-1
4-1
4-2←これ

この表示の仕方がわかりません。

ぐぐったりしましたがいまいち…なので。
よろしくお願いします。
930名無しさん@そうだ選挙にいこう:2007/12/18(火) 02:27:12
>>929
質問が意味不明だ。
4-1の次が5-1にならずに4-2になるための条件は?
931名無しさん@そうだ選挙にいこう:2007/12/18(火) 08:04:12
>930

4と同じ種類にしなければいけないので、4-2とつけたいのですが。

できますか?
932名無しさん@そうだ選挙にいこう:2007/12/18(火) 08:53:01
意味不明
種類はどうやって見分けるんだ?と聞いているんだろ
933名無しさん@そうだ選挙にいこう:2007/12/18(火) 09:29:23
>>931
手でかけ
934名無しさん@そうだ選挙にいこう:2007/12/18(火) 09:53:44
>>931
Excelではそういう章・節単位のページ番号の割り振りは
想定してないから無理だろ。
933の言っているように手で書くか、
明確な分割基準があるなら、VBAで無理やり処理するか。

データをWordに持ち込めばそれなりにできるけど。
935名無しさん@そうだ選挙にいこう:2007/12/18(火) 12:30:10
【1 OSの種類         .】 WindowsXP-HE
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (Google)Excel VBA グラフ 削除

VBAのボタン動作でグラフを削除する記述はどのようなものがあるのでしょうか?
ググったところ、指定してDeleteキーで削除しか見つけられませんでした。
936名無しさん@そうだ選挙にいこう:2007/12/18(火) 12:48:33
WindowsXP Excel2002 VBAが使えるか(あまり使えません) VBAでの回答(可)
  A  B  C  D
1 日 曜日
2  1  月 良
3  2  火 悪
・  ・
30 29 木 悪
31 30 金 悪
32 31 土 良
33 合計  15

このカレンダーはWEEKDAY,DATE等を使い、○○年、△△月を入力すると、
その月の日数や曜日を調節し、表示します。
C列には良or悪の2者が入り、
C33には良の合計数を入れたいと考えます。

ここで問題があるのですが、33行目の合計の行が、月によって変わります。
(28日しかない月があったり31日まであったりするため)
28日までの月の場合、iserror関数で非表示にしますと、合計の行との間に
スキマが出来てしまいます(29、30、31日分の行)

それを無くすために、A列の日が何処まであるかを判断し、その1つ下の行に
合計を求める数式を入力する。という感じの動作を希望しています。
その方法があればお教えください。

 lastrow = Range("A65536").End(xlUp).Rowで最終行を取得したとして
 sum1 = Application.Sum(Range(Cells(2, 3), Cells(lastrow, 3)))
 Cells(lastrow + 1, 3) = sum1
こんな感じでVBA上では計算できることまでは調べたのですが、
合計を求めたいセルに、計算結果ではなく、数式を入力するにはどうすればよいでしょうか?
 Cells(lastrow + 1, 3) = "=Sum(???????)"
この??????の部分がわかりません。どうぞよろしくお願いします。
937exc:2007/12/18(火) 13:02:48
>>936
合計を一行目にするというのはどうでしょう?
938936:2007/12/18(火) 13:04:37
>>937
ありがとうございます。
このフォーマット(といっても単純なものですが)は、私以外のものも普段利用しているため、
出来ればこの形でと考えております。

>>935
マクロの記憶にて、グラフを削除する手順をマクロ化させて、
ボタンクリック時にApplication.run "macro_name"でうまくいくと思います。
939exc:2007/12/18(火) 13:34:23
>>938
セルをデータ入力用と表示用に分けた方がスマートに実現できると思います。
他の人も使うから無理かもしれないですが。
940名無しさん@そうだ選挙にいこう:2007/12/18(火) 13:35:37
>>938
複数人で使うとなると、なおさら、
937の意見に賛成します。
フォーマットが単純な上、ウィンドウ固定等を
上手に使えば、機能的な表ができると思われます。
何より、すこぶる簡単。
可変長データの場合、結果を上段に持ってくるのは有りだと思います。
941名無しさん@そうだ選挙にいこう:2007/12/18(火) 13:50:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ユーザーフォームを利用しています。
そこである条件を満たせばコマンドボタンの色を変えたいと思っています。

書式的には
(iは変数です)

if ○○ then
userform7.controls("commandbutton"& i).

以降をどう書けばよいのかわかりません。backcolorだと、backcolor = 数字 で何を入力してもボタンが真っ黒になってしまいます。
どなたかよろしくご教授下さい。
942935:2007/12/18(火) 13:58:29
>>938-940
レスさんきゅうです。
というか、グラフを消すメソッドというのが無いのですね。
943936:2007/12/18(火) 14:00:01
>>939
ありがとうございます。
少しヒントが見えました。>939と>840-841あたりを利用して、いけそうです。
lastrowを適当な未使用セル(例=Z1)に表示させて、

=SUM(C2:INDIRECT("C"&(Z1)))

見たいな感じで、マクロではこう記述させることで目的動作を満たしました。

Cells(lastrow + 1, 3).Value = "=SUM(C2:INDIRECT(""C""&(Z1)))"

>>940
ありがとうございます。>938のとおり、このフォーマットでと考えております。
944exc:2007/12/18(火) 14:01:58
>>938
このサイトの説明が参考になりますでしょうか。
違ってたらごめんなさい。
http://www.geocities.jp/happy_ngi/YNxv9562.html

でも毎月一回しか実行しないこんな操作を自動化してもあまり意味ないんじゃないですか?
945935:2007/12/18(火) 14:03:16
ありゃ、>938-940 は936さんを含んでいた。
Sorry
946exc:2007/12/18(火) 14:05:50
>>943
解決おめでとうございます。
947936:2007/12/18(火) 14:09:36
>>944,946
ありがとうございます。本来の用途とはかなりちがいます;
要点のみを質問しようと内容を実際とは変更しています。
一人当たりの頻度は月1なのですが、社員の多くが使い、同じフォーマットで管理する面から
1つエクセルファイルをテンプレート化させれば後は楽だなと思い、作ってみました。

色々とありがとうございました。
948exc:2007/12/18(火) 14:13:35
>>なるほど。それは失礼しました。
949935:2007/12/18(火) 15:14:30
>938さんのやり方でグラフの消去を試みたところ、以下のメッセージが現れ
ました。

http://www.imgup.org/iup521873.jpg

ボタンクリック時の記述は Application.run "Macro1" で、デバックを押すと
以下のサブルーチンが表示されました。
どう対処すべきでしょうか?

Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2007/12/18 ユーザー名 : PC-USER
'
ActiveWindow.Visible = False
Selection.Delete
ActiveSheet.ChartObjects("グラフ 16").Activate
ActiveChart.ChartArea.Select
ActiveWindow.Visible = False
Selection.Delete
End Sub
950名無しさん@そうだ選挙にいこう:2007/12/18(火) 16:17:29
>>949
すみません試しもせず解答してしまいました。

Sub Macro1()
ActiveSheet.ChartObjects("グラフ 1").Delete
End Sub

一度これでやってみてください。
951名無しさん@そうだ選挙にいこう:2007/12/18(火) 23:20:44
>>941
.backcolor =RGB(255,128,0)
952名無しさん@そうだ選挙にいこう:2007/12/19(水) 00:30:07
>>941
色は vbRed なら赤、vbGreen なら緑になる。あとはヘルプ見ろ。

.BackColor = vbRed

標準以外の色を使いたいときはRGB関数を使う。
953名無しさん@そうだ選挙にいこう:2007/12/19(水) 00:37:59
>951
が解答出したその後の解答の癖に何を偉そうに
954名無しさん@そうだ選挙にいこう:2007/12/19(水) 01:23:01
次の質問どうぞ
955名無しさん@そうだ選挙にいこう:2007/12/19(水) 12:11:42
【1 OSの種類         .】 Windows xp pro
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード  入れ子

K2の値が「2005」なら「前々期」、「2006」なら「前期」、
「2007」なら「当期」、いずれも無ければ「該当無」
と表示させるために以下の式を作ったつもりなのですが、K2に何を入れても「該当無」しかでないのです

=IF(K2=2005,"前々期",IF(K2=2006,"前期",IF(K2=2007,"当期","該当無")))
正しい式を教えてください、お願いします。
956名無しさん@そうだ選挙にいこう:2007/12/19(水) 12:17:32
エクセル2003を使っています
アクセスからエクセルにデータを読み込む際
オーバーフローしないようにマクロを作りたいのですが
何を上限とすればいいのでしょうか
単純に65536行x256列までと考えていいのでしょうか
957名無しさん@そうだ選挙にいこう:2007/12/19(水) 12:18:35
式は合ってる 入力した値が違うんだろう
958955:2007/12/19(水) 12:49:30
>>957
レスありがとうございます、全て半角に直したのですがダメでした
他の方法を探します、ありがとうございました。
959名無しさん@そうだ選挙にいこう:2007/12/19(水) 13:12:39
>>958
ためしに"2006"というように年を""で囲む
960名無しさん@そうだ選挙にいこう:2007/12/19(水) 13:48:57
【1 OSの種類         .】 Windows XP Pro
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel 2007 Printpreview

ブックを開くと自動的にシートにデータをセットし、そのシートをプレビューを表示するという
マクロが付いたブックがあります。
このブックをExcel2007で開くと、プレビュー画面は表示されるのですが印刷ボタンが
クリック不可状態(灰色?表示)となってしまいます。メニューからの印刷も同様です。

プレビューの部分のコードは以下の通りです。
Worksheets(1).PrintPreview

Excel2000で開くと問題なく印刷できます。
何が原因なのでしょうか?
961名無しさん@そうだ選挙にいこう:2007/12/19(水) 14:14:40
>>955
正常に機能しとるぞ
962名無しさん@そうだ選挙にいこう:2007/12/19(水) 14:19:26
>>955
K2セルの書式が文字型になってるんじゃないの?
数式自体は正しい
963名無しさん@そうだ選挙にいこう:2007/12/19(水) 15:25:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル シグモイド

散布図をブロットしたところ、シグモイド曲線を描くようなのですが
ここに一発でシグモイド曲線を表示させることはできないでしょうか?
964名無しさん@そうだ選挙にいこう:2007/12/19(水) 18:09:24
>>960
ソノシート以外ではプリントアウトは可能でしょうか?>2007
965960:2007/12/19(水) 19:15:33
>>964
どうやらWorkbook_Open内でPrintPreviewを行うと、この現象が発生する所までは分かりました。
2000では問題なく動くのでなんとかしたいのですが、ネット上で検索しても情報がありません。

これは私の環境特有の現象でしょうか…?
966名無しさん@そうだ選挙にいこう:2007/12/19(水) 21:08:35
>>965
プリンタが使用可能になるタイミングの問題かな。
正攻法でやるならプリンターのステータスをちゃんとチェックすべきなんだろうけど、
手っ取り早くやるなら別のイベントでプレビューを走らせるように改造するとか。
ちゃんと調べたわけではないけどWindowActivateかSheetActivateあたりでどう?

いっそのことタイマーをセットして、一定時間待ってからプレビューするとか。
967名無しさん@そうだ選挙にいこう:2007/12/20(木) 01:03:28
同一ブック内でのコピペなんですが、止まってしまいます。
どこがイクないのでしょうか?

Worksheets("Sheet1").Range("A1", Range("C65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet2").Range("A2")
968名無しさん@そうだ選挙にいこう:2007/12/20(木) 01:37:54
>>967
その関数自体には問題はないね。
コピーされるセルの内容、データや数式の方が怪しい。

あるいは時間がかかってるだけかも。
定番だけどコピペの前に
ActiveSheet.EnableCalculation = False
Application.ScreenUpdating = False
を追加してみる。
969名無しさん@そうだ選挙にいこう:2007/12/20(木) 07:25:42
>>967
Worksheets("Sheet1").Range("A1", Worksheets("Sheet1").Range("C65536").End(xlUp)).Copy _
  Destination:=Worksheets("Sheet2").Range("A2")
970955:2007/12/20(木) 18:57:15
>>957
どう言う意味ですか?
>>959
ダメでした
>>961
ダメでした
>>962
「標準」「数値」共にダメでした

今日は方法を変えて、
200503〜200602は「前々期」
200603〜200702は「前期」
200703〜200802は「当期」、範囲外であれば「該当無」としたいので
A2に数値を入れB2へ下記の式を入れました
=IF(A2=(200503<=200602),"前々期",IF(A2=(200603<=200702),"前期",IF(A2=(200703<=200802),"当期","該当無")))
しかしこれもダメでした、
間違っていれば正しい式を、正しければ原因を教えていただけたらと思います
よろしくお願いいします。(今日はEXCEL2007.WINXP環境です)
今回は丸投げして下さい
http://www.dotup.org/uploda/www.dotup.org16048.zip.html
PASS 1221
971名無しさん@そうだ選挙にいこう:2007/12/20(木) 19:11:22
>>970
=IF(AND(A2>=200503,A2<=200602),"前々期",IF(AND(A2>=200603,A2<=200702),"前期",IF(AND(A2>=200703,A2<=200802),"当期","該当無")))
972名無しさん@そうだ選挙にいこう:2007/12/20(木) 19:14:18
次スレ用意しとけ
973名無しさん@そうだ選挙にいこう:2007/12/20(木) 19:17:55
お前がな
974名無しさん@そうだ選挙にいこう:2007/12/20(木) 19:34:45
俺の質問に答えるためにおまえらが集まるスレなのに
なんで俺が立てなきゃならんのだ
975名無しさん@そうだ選挙にいこう:2007/12/20(木) 19:45:11
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 二重 上付き 下付き 文字 セル

1セル中に上付きと下付き文字を併用させて、二重にしたいのですが、
そんなことって可能でしょうか?
976名無しさん@そうだ選挙にいこう:2007/12/20(木) 19:59:41
>>975
フォント小さくしてセル内改行(alt+enter)すれば済む話のような気がするが違うのか
「二重」の意味がわからん
977名無しさん@そうだ選挙にいこう:2007/12/20(木) 22:32:52
>>975
たとえばセルの中の文字列を分割して、部分ごとに上付きや下付きを設定することは可能。
数式バー上で設定したい部分だけ右クリックして、セルの書式設定からやればいい。

ただたぶん、おまいさんが作りたいと思っている結果にはならないと思う。
978名無しさん@そうだ選挙にいこう:2007/12/20(木) 23:20:56
上付きと下付きの二重って、想像するに「i」←小さな数字や記号を、こんなふうに上下2列に並べたいってこと?
だとしたら、これは無理。
979名無しさん@そうだ選挙にいこう:2007/12/21(金) 00:16:39
「ろ−(改行)かり」
と入力し縦書きにする
必要な部分の字を小さくする

ちょっと苦しいか
980名無しさん@そうだ選挙にいこう:2007/12/21(金) 10:07:20
Excelの仕様について質問なんですが

マルチ・プロセッサ対応してるのは、どのExcelからですか?

関数の多いシートで作業しなければならず、少しでも速く作業をしたいのですが
どのExcelが良いかと思いまして
981名無しさん@そうだ選挙にいこう:2007/12/21(金) 10:23:17
982名無しさん@そうだ選挙にいこう:2007/12/21(金) 14:36:16
【1 OSの種類         .】 Windows XPSP2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 キー指定 第1キー

以下のような表を元に下記のような集計処理を行いたいのですが、
どのような操作手順を踏めば可能でしょうか?

セルA  
セルB 
セルC
(略)
セルS (金額が入っています)


として、全レコードについて、セルAを第1キー、セルBを第2キー、セルCを第3キーと設定して各レコードのキー設定を行います。
一方、第3キーレベルで、セルSの金額の総和を求めて、もう一度第1キーレベルでその金額の集計を取りたいのです。

どうすればいいでしょうか?
急いでます。よろしくお願いします。
983名無しさん@そうだ選挙にいこう:2007/12/21(金) 14:40:43
ピボットテーブルかな
984名無しさん@そうだ選挙にいこう:2007/12/21(金) 14:56:10
>>983

すみませんが、具体的なピボットテーブルの操作手順を教えていただけないでしょうか。
ピボットテーブル自体は使ったことはありますが、第3キーまで指定したり、
キーごとの金額集計と言うのは行ったことがありません。
985緒方竜彦:2007/12/21(金) 15:31:49
>>983

すみませんが、具体的なピボットテーブルの操作手順を教えていただけないでしょうか。
ピボットテーブル自体は使ったことはありますが、第3キーまで指定したり、
キーごとの金額集計と言うのは行ったことがありません。
986名無しさん@そうだ選挙にいこう:2007/12/21(金) 16:16:15
987名無しさん@そうだ選挙にいこう:2007/12/21(金) 19:00:31
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

行番号が、4の次が20、24の次が32になってしまっています。
(その間は連続して数値がうたれている)
これを、元の通りに 連続した数字に戻したい、と父に相談されました。
アウトライン関係かと思って削除したのですが、解決しませんでした。
解決手段はあるのでしょうか。

なお、どうしてこうなったのかは、父も良く解らないそうです…。
988名無しさん@そうだ選挙にいこう:2007/12/21(金) 19:07:42
>>987
とりあえず「4」の行と「20」の行を行ごと選択して、
行番号のところで右クリック→再表示とやってみるとか。

あと、オートフィルタを使っている(項目名にあたるセルに▼が出ている)なら
それをオフな。
989名無しさん@そうだ選挙にいこう:2007/12/21(金) 19:31:39
>>988
ありがとうございます。

行が消滅したわけではなく、隠れておりました…。
1ドットの隙間もなく。
ドラッグ操作でなんとか引きずり出せました。
大変お騒がせしました。

なんでこんなんなったやら…。
990名無しさん@そうだ選挙にいこう:2007/12/21(金) 20:00:10
>>989
複数の行をまとめて選択して、行番号の下端あたりに
マウスポインタ合わせて上にひっぱる。簡単に隠せるからやってみそ。

慣れない人の誤操作でも簡単に起きる。
991名無しさん@そうだ選挙にいこう:2007/12/21(金) 21:48:23
XPマシンに、Excel 5.0をインスコして使えますか?
992名無しさん@そうだ選挙にいこう:2007/12/21(金) 23:02:27
993名無しさん@そうだ選挙にいこう
>>979
縦書きにすると普通の字と混在できるんだな、ひっくり返さにゃならんけど
確かに苦しいがちょっと感心した