Excel総合相談所 69

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

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

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

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

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

前スレ
Excel総合相談所 68
http://pc11.2ch.net/test/read.cgi/bsoft/1210171205/
2名無しさん@そうだ選挙にいこう:2008/05/24(土) 13:59:33
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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名無しさん@そうだ選挙にいこう:2008/05/24(土) 13:59:57
★ルールを無視すると…
 >>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名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:00:20
★ 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名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:00:46
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

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

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

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。
7名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:01:38
   ________________________________
   ||
   || ━ 質問のしかた ━
   ||
   || ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
   || ★2 要望は具体例や図を使って明確かつ具体的にしる。
   || ★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
   || ★4 質問テンプレ(雛形)は必須ではないが、
   ||    OSやExcelのバージョン、VBAの可否などは必須情報。
   ||
   ||            ∧ ∧   。
   ||          ( ,,゚Д゚)/ ジュウヨウ!!      E[]ヨ
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ  つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                /  ̄ ̄ ̄ ./| ________________
                | ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
                        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      \    は〜〜〜〜い      /
    ∧ ∧    ∧,,∧   ∧ ∧
    ( ,, ∧▲  ミ  ∧ ∧ (  ∧ ∧
  〜(_(  ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
    @(_(,,・∀・)@ (   *)〜ミ_ (   ,,)
      @(___ノ 〜(___ノ    〜(___ノ
8名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:02:02
エクセルの技術的な質問と関係ない議論・雑談は下記スレッドで。

【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://pc11.2ch.net/test/read.cgi/bsoft/1151651536
9名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:22:32
10名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:24:25
先生にここのログを見せたらどんな顔するだろうな
そもそもRIGHT(A2,2)がダメっって完全に後出し条件じゃん。質問スレでは門前払いされるレベルだぞ
11名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:28:00
後だしじゃないじゃん?

909 名前:名無しさん@そうだ選挙にいこう [] 投稿日:2008/05/23(金) 20:16:39
すみませんどなたかこの関数問題を教えて下さい。
問題としては守備位置の名前を表示させず名字の名前だけ 右のセルに表示させる問題です。※ライト関数で右2文字だけ表示させるのはダメです。

こんな板で吊られた?
12名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:31:08
>>11
943 :名無しさん@そうだ選挙にいこう :2008/05/24(土) 01:50:14
自分は>>909です。
皆さん、多数決の回答ありがとうございます。
正直な所、習った事がない問題で四苦八苦してました。
最初は、名前が皆二文字の為右二文字を表示されば良いと思いライト関数を使ってほらよ。解いたぞ〜 と思ったらそんな単純なもんじゃないと一喝され
『名字は一文字の人も居れば三文字の人も居る』と言われてしまいました。
後日、教室にこのカンニングに等しい回答を手にとり出撃します。
13名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:32:27
前スレで終わったんじゃないのか?引きずるなよ
14前スレ990:2008/05/24(土) 14:33:32
前スレ994
ありがとうございました。やっぱりその方法しかないんですね。
最終行あたりを使って、保存時・終了時に削除するようにします。

前スレと元カレって似てますね
15名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:34:39
>>13
終わったかどうかはお前が判断することではない。
16名無しさん@そうだ選挙にいこう:2008/05/24(土) 14:48:33
じゃ、俺が判断する。

終了。
17前スレ942:2008/05/24(土) 14:52:47

前スレ992
分かりませんか・・・。
VBAとかマクロとかならできるか調べてみます。
検証ありがとうございました。
18名無しさん@そうだ選挙にいこう:2008/05/24(土) 15:14:07
>17
HYPERLINKが入ってると否応なしにリンクされるっぽいから、
INDIRECTとかでばらして強引にやれば関数でもいけるんじゃない?
19前スレ:2008/05/24(土) 15:36:32
>18
IF関数の書き方が間違っていると思ってました。
ばらして・・・。なるほど!!もう少し関数でがんばってみます。
20名無しさん@そうだ選挙にいこう:2008/05/24(土) 15:44:22
=SUM(HYPERLINK(B2),A1)
でもリンクされるな。この関数が入ってればリンクされる・・ということかも
21前スレ942:2008/05/24(土) 16:04:23
>20
どこに入れてもHYPERLINKされるんですね
何度も何度もIF書き換えてました(泣)
22名無しさん@そうだ選挙にいこう:2008/05/24(土) 16:57:17
こんな・・・
=IF(A1=1,HYPERLINK("http://localhost","はいぱー"),HYPERLINK("","なし"))
23前スレ942:2008/05/24(土) 18:41:36
>22
おぉー!!
無理やりリンクをはずせばよかったんですね。思いつきませんでした。
「なし」でもカーソルを持っていくと、人差し指をさした形になりますが実用上問題なしです。
ありがとうございました。

アドバイスくれたみなさん
ありがとうございました。とても助かりましたm(_ _)m



24名無しさん@そうだ選挙にいこう:2008/05/24(土) 20:27:00
よし、じゃ約束のチューをさせてもらうぞ。
その後ものの弾みで最後までやってしまっても事故だからな。
25名無しさん@そうだ選挙にいこう:2008/05/24(土) 20:43:11
や、やさしくしてくりゃれ…
26質問です:2008/05/24(土) 22:27:45
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel98
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

質問です。

たとえば、1列目と3列目のそれぞれの番号がふられていて
2列目と4列目にはそれぞれの番号に対する金額がが書かれているとします。

1列目 2列目 3列目 4列目
001 20円 002 23円
002 11円 003 30円
004 20円 005 30円

こんな感じです。これを、

001 20円 −−− −−−
002 11円 002 23円
ーーー −−− 003 30円
004 20円 −−− −−−
ーーー −−− 005 30円

このような感じで同じ番号同士のものを同じ行にくるようにしたいのですが
どのようにすればいいのでしょうか?
よろしくお願いします。
27名無しさん@そうだ選挙にいこう:2008/05/24(土) 22:33:09
挿入
28名無しさん@そうだ選挙にいこう:2008/05/24(土) 22:34:05
>26
やりたいことにあうかどうかはわからんけど、
3・4列目を1・2列目に貼り付けてしまって、
1列目で並び替え、もしくはピボットとかで集計すればどう?
29名無しさん@そうだ選挙にいこう:2008/05/24(土) 22:34:39
別の個所にVlookupで引っ張ってきて、
#N/Aを置換で---に置き換える
30名無しさん@そうだ選挙にいこう:2008/05/24(土) 22:39:39
>>26
データを不規則に移動させるのはVBA使わないと難しいんじゃないかなあ
31質問です:2008/05/24(土) 22:44:04
すいませんーーーは空白の意味です。>>28さん>>29さんありがとうございます。
ためしてみます
32名無しさん@そうだ選挙にいこう:2008/05/24(土) 22:47:40
>>26
こんなデータを用意する。
001 20 002 23
002 11 003 30
004 20 005 30
001 001
002 002
003 003
004 004
005 005
006 006
007 007
008 008
009 009
010 010

フィルタ機能を使って1列目から重複データを取り除き、それを別シートにコピペ。
フィルタ機能を使って3列目から重複データを取り除き、それを別シートにコピペ。
するとこんなデータができる。

001 20 002 23
002 11 003 30
004 20 005 30
003 001
005 004
006 006
007 007
008 008
009 009
010 010
33名無しさん@そうだ選挙にいこう:2008/05/24(土) 22:49:48
>32
できてない・・・・!
3432:2008/05/24(土) 22:50:45
見にくいのでもう一度
>>26
こんなデータを用意する。
001 20 002 23
002 11 003 30
004 20 005 30
001   001
002   002
003   003
004   004
005   005
006   006
007   007
008   008
009   009
010   010

フィルタ機能を使って1列目から重複データを取り除き、それを別シートにコピペ。
フィルタ機能を使って3列目から重複データを取り除き、それを別シートにコピペ。
するとこんなデータができる。

001 20 002 23
002 11 003 30
004 20 005 30
003   001
005   004
006   006
007   007
008   008
009   009
010   010
3532:2008/05/24(土) 22:52:26
つづき
1列目と2列目を選択して1列目で昇順にソート。
3列目と4列目を選択して3列目で昇順にソート。
できあがり。
36名無しさん@そうだ選挙にいこう:2008/05/24(土) 22:54:57
>>33
あわてものだのう。
37名無しさん@そうだ選挙にいこう:2008/05/24(土) 22:58:00
まずは1列目と3列目のデータをどこか別の一列に集めてソート、重複行を削除。
これを作業列として、LOOKUPで対応する値段をあてはめてく。
38名無しさん@そうだ選挙にいこう:2008/05/24(土) 22:59:51
>35-36
でも結局できてないじゃない・・・!
003とか残るし、手動で消さなきゃいけないじゃない・・・・。
ていうか普通に>>28でよかったんでしょ?
3932:2008/05/24(土) 23:01:51
もっと効率のいい方法もある。
こういうデータに変更する。
番号 金額 列
001 20 1
002 11 1
004 20 1
002 23 3
003 30 3
005 30 3

そしてピボットテーブル
番号 1 3
001 20
002 11 23
003   30
004 20  
005   30
完成
4032:2008/05/24(土) 23:07:12
>>38
>>28だとできてないでしょ。
41名無しさん@そうだ選挙にいこう:2008/05/24(土) 23:16:38
>>26
まずA列とC列から作業列を作る。合わせてソートして重複を除いた物をE列に入れる。
次にG1に =IF(ISERROR(VLOOKUP($E1,A$1:B$3,2,0)),"",VLOOKUP($E1,A$1:B$3,2,0)) と入れて
G列とH列にコピペ。
さらにF1に =IF(G1="","",$E1) と入れてF列とH列にコピペ

ttp://paint.s13.dxbeat.com/up/src/paint_7188.png
4241:2008/05/24(土) 23:19:28
タイプミス
× G列とH列にコピペ。
○ G列とI列にコピペ。
43名無しさん@そうだ選挙にいこう:2008/05/24(土) 23:31:31
>>41
出力はこれが一番質問者の希望通りだな。
私の好みは>>39
44名無しさん@そうだ選挙にいこう:2008/05/24(土) 23:59:50
【1 OSの種類         .】 Windows xp home
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】 エクセル 重複 合計
http://www-2ch.net:8080/up/download/1211639915837869.TaAP4f
図の左の表を右の様に加工したいです。具体的には

1.月ごとに分ける
2.1つのユーザーに対して複数の作業先がある場合は、それぞれの1番早い日付に
 他の日付の作業数を合計を入れる
 (月が違う場合はまとめない)

3000行程度あり、手作業ではちょっと面倒なので効率的に出来るよう、知恵を貸してください。
お願いします。
45名無しさん@そうだ選挙にいこう:2008/05/25(日) 00:06:26
>>44
ピボットテーブル
46名無しさん@そうだ選挙にいこう:2008/05/25(日) 00:08:49
>>44
基本的にはピボットテーブルでできますが、その前にデータを
「作業」と「作業明細」に分ける必要があります。

>2.1つのユーザーに対して複数の作業先がある場合は、それぞれの1番早い日付に
> 他の日付の作業数を合計を入れる

これ間違ってるでしょ?
4744:2008/05/25(日) 00:32:03
>45,46
やっぱりそれなんですね…。
使った事ないのでまだよく分かってません。
ピボットテーブルでどのようにやればいいかも出来れば教えて頂けるとありがたいです。
とりあえず調べてみます。

あと間違いとはどういうことでしょうか?



48名無しさん@そうだ選挙にいこう:2008/05/25(日) 00:34:06
ABCの列があったとすると
AとCだけコピペしたい場合はいちいち
AとCをひとつづつコピペするしかないのでしょうか?
4946:2008/05/25(日) 00:37:57
>>47
>2.1つのユーザーに対して複数の作業先がある場合は、それぞれの1番早い日付に
> 他の日付の作業数を合計を入れる

2.1つのユーザーに対して同じ作業先がある場合は、それぞれの1番早い日付に
 他の日付の作業数を合計を入れる

じゃないの?
50名無しさん@そうだ選挙にいこう:2008/05/25(日) 00:44:27
>>48
ctrl押しながらクリックしていけば離れてる範囲を選択できる
5146:2008/05/25(日) 00:45:35
>49
あ、読み返すとおかしいですね。

1つのユーザーに対して同じ作業先がある場合は、
1番早い日付の作業数に、他の日付の作業数の合計を加える。
さらに作業先が複数ある場合は、それぞれの1番早い日付の作業数に、
他の日付の作業数の合計を加える。

かな。分かりにくくてすみませんでした。

5246:2008/05/25(日) 00:50:50
もうひとつ間違い。
あなたの名前は>>44でしょ。

データをこのように整理してみました。
作業番号 ユーザー 受注数 作業先 作業数 日付 開始日付
1 A 50000 X 7000 4月1日 4月1日
1 A 50000 X 7000 4月2日 4月1日
1 A 50000 X 7000 4月3日 4月1日
2 A 50000 Y 7000 4月3日 4月3日
3 A 50000 Z 4000 4月4日 4月4日
4 A 50000 X 7000 5月1日 5月1日
5 A 50000 Y 7000 5月1日 5月1日
6 A 50000 Z 4000 5月1日 5月1日
7 B 30000 X 15000 4月1日 4月1日
7 B 30000 X 10000 4月2日 4月1日
8 B 30000 X 5000 5月1日 5月1日
5344:2008/05/25(日) 01:11:08
>52
その1列目は、1番上に1を入れてそれ以降は
=IF(AND(B3=B2,D3=D2,MONTH(F3)=MONTH(F2)),A2,A2+1)
こんな感じでしょうか?
そしてその後、開始日付はどうなってるのか分かりません。
54名無しさん@そうだ選挙にいこう:2008/05/25(日) 01:16:56
>>47
まずF列に「月」を作る。1行目に月と入れて、2行目に=MONTH(E2)
次にピボットテーブルを置きたい場所の左上のセルをクリックしてから
メニューからデータ→「ピボットテーブルとピボットグラフ レポート」→「次へ」
範囲を入れるダイアログが出たら元データの入った表全体をドラッグ→完了

すると、青い罫線で囲まれたピボットテーブルと、「ピボットテーブルのフィールドリスト」ってのが出てくるから
まずフィールドリストから月をドラッグ。(月にマウスポインタを合わせ、左ボタンを押す。押したままマウスを動かして
薄いグレーで「ここに行のアイテムをドラッグします」と書かれた枠の中までポインタを動かして左ボタンを離す)
続けてユーザー、作業先を同じ場所にドラッグ。

次に作業数を「ここにデータアイテムをドラッグします」のところへドラッグ。

ピボットテーブルの見出しの「月」の部分を右クリック、フィールドの設定、
出てきた「ピボットテーブルフィールド」ダイアログのラジオボタンの「なし」を選択、OK。
「ユーザー」「作業先」の合計も同様に消す。

データ領域の見出しの「集計」を右クリック、オプション、「列の総計」のチェックを外してOK。

ここまでやったのが以下のようなテーブル。
ttp://downloads.myphotos.cc:8080/up1/src/FancyFree0532.png

同じように受注数の合計も出して、日付はVLOOKUPで入れるしかないと思う。
5546:2008/05/25(日) 01:19:40
>>53
いえ、考え方を逆にしてみてください。
ユーザー,受注数,作業先,開始日付が作業番号に従属しているのです。
つまり,作業番号が決まれば、その行のユーザー,受注数,作業先,開始日付も決まります。
56名無しさん@そうだ選挙にいこう:2008/05/25(日) 01:19:44
ピボットテーブルは、操作方法を文章で書くとめちゃくちゃ長くなるけど、
実際は30秒もかからずに集計表が完成するから
ちゃんと覚えておくと色々と役に立つよ。
5746:2008/05/25(日) 01:27:59
>>52で示したデータをピボットテーブルで集計すれば目的の表ができあがります。
ここではもう一歩進んで、どうやったら>>52のようなデータを管理することができるか
考えて見ましょう。

>>52のデータでは作業番号が決まれば、その行のユーザー,受注数,作業先,開始日付が決まります。
そこでデータを「作業」と「作業明細」に分離します。
5846:2008/05/25(日) 01:31:12
こうなります。

作業
作業番号 ユーザー 受注数 作業先 開始日付
1 A 50000 X 4月1日
2 A 50000 Y 4月3日
3 A 50000 X 4月4日
4 A 50000 X 5月1日
5 A 50000 Y 5月1日
6 A 50000 Z 5月1日
7 B 30000 X 4月1日
8 B 30000 X 5月1日


作業明細
作業番号 作業数 日付
1 7000 4月1日
1 7000 4月2日
1 7000 4月3日
2 7000 4月3日
3 4000 4月4日
4 7000 5月1日
5 7000 5月1日
6 4000 5月1日
7 15000 4月1日
7 10000 4月2日
8 5000 5月1日
5944:2008/05/25(日) 01:46:17
http://www-2ch.net:8080/up/download/1211647085948806.HkdGzK
一応やってみたこの方法を添削して頂きたいです。

・A列
A2に1、A3以降は
=IF(AND(C3=C2,E3=E2,MONTH(H3)=MONTH(H2)),A2,A2+1)
・B列
B2に
=IF(A2=A1,B1+1,1)
・G列
=SUMIF($A$2:$A$12,A2,$F$2:$F$12)
・I列
=IF(B2=1,H2,"")
・J列
=MONTH(I2)

眠くなてキター
6044:2008/05/25(日) 01:49:15
うわリロード忘れてました!
また明日暇なんで参考にして試させて頂きます。
親切にレスくれた方々ありがとうございました。
61名無しさん@そうだ選挙にいこう:2008/05/25(日) 01:50:05
おまいら難しく考えすぎ。これでいいじゃん。
J2=IF($A3&$C3&MONTH($E3)=$A2&$C2&MONTH($E2),B2+J3,B2)
L2=IF($A3&$C3&MONTH($E3)=$A2&$C2&MONTH($E2),D2+L3,D2)
N2=MONTH(E2)
O2=IF(I1&K1&N1<>I2&K2&N2,"○","")

で、フラグが○の行だけオートフィルタ
ttp://x072.s10.x-beat.com/up/src/up0635.png.html
62名無しさん@そうだ選挙にいこう:2008/05/25(日) 02:04:03
>>59
それならもっと簡単にできる
ttp://i-get.jp/upload500/src/up16471.png

G2=MONTH(E2)
H2=IF(J3,B2+H3,B2)
I2=IF(J3,D2+I3,D2)
J2=A2&C2&G2=A1&C1&G1

最後に作業列がFALSEのところだけオートフィルタ
6346:2008/05/25(日) 02:04:58
>>59
>>55でも説明しましたが、A列(作業番号)をユーザーや受注数のような他の項目から導いてはいけません。
考え方が逆です。作業番号を与えれば、ユーザーや受注数が決まるのです。
6446:2008/05/25(日) 02:12:36
>>59
この表は上段が作業明細データ、下段が作業データになっていますね。
作業番号に従属する項目は>>55で説明したように
ユーザー,受注数,作業先,開始日付です。

ですから、作業データ(下段の表)には作業数と日付の項目は不要です。
65名無しさん@そうだ選挙にいこう:2008/05/25(日) 02:43:28
>>61>>62は不正解。
それじゃだめなんだよ。
日付が月をまたぐような場合うまくいかないだろ?
66名無しさん@そうだ選挙にいこう:2008/05/25(日) 02:59:45
>>65
月ごとに分けて集計すんのに、月をまたぐとだめってどういうこと?

>>62の画像が削除されたんで別んとこに再掲
ttp://bull.s11.x-beat.com/src/bull111066.png
67名無しさん@そうだ選挙にいこう:2008/05/25(日) 03:14:07
>>66
おっと月ごとに分けるんだったね。
不正解とか言って失礼。ごめん。
68名無しさん@そうだ選挙にいこう:2008/05/25(日) 09:34:01
>>50
貼り付け時にもABCのBを飛ばして
はりつけしたいのですが
69名無しさん@そうだ選挙にいこう:2008/05/25(日) 09:58:42
>>68
ctrl押しながら(列を)クリックしていけば離れてる範囲を選択できる
70名無しさん@そうだ選挙にいこう:2008/05/25(日) 10:18:30
>>69
コピーしようとしたら
そのコマンドは複数の選択範囲には使用できません
ってでるのですが・・・
71名無しさん@そうだ選挙にいこう:2008/05/25(日) 10:21:59
>>70
列ならできる。

複数のセルを指定してるとか言わないよね?>>48
72名無しさん@そうだ選挙にいこう:2008/05/25(日) 10:24:11
>>71
列ではなくセルです、すいません

でも、列でもコピペはできてもはりつけができないのですが
73名無しさん@そうだ選挙にいこう:2008/05/25(日) 10:26:02
何度もすいません
ようするにやりたいのは複数の離れ離れのセルを一度で
コピペできないかということです。もちろんセルの貼り付け位置も
間隔はそのままではなればなれのまます
74名無しさん@そうだ選挙にいこう:2008/05/25(日) 10:28:46
>>72
コピペとはコピー&ペーストの略。
日本語に訳すと複写と貼り付け。
だからコピペはできても貼り付けできないなんてことはありえないですよ。
75名無しさん@そうだ選挙にいこう:2008/05/25(日) 10:29:44
>>73
できないということなんじゃないかな。
マクロでやれば?
76名無しさん@そうだ選挙にいこう:2008/05/25(日) 11:02:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002 SP3
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 「Excel 行 番号」

<通常> オートフィルを使った場合
1 りんご
2 りんご
3 みかん
4 みかん
5 ばなな
6 ばなな

<希望> 同じデータは同じ連番(昇順)にしたい
1 りんご
1 りんご
2 みかん
2 みかん
3 ばなな 
3 ばなな

この<希望>のようにするにはどうしたらいいでしょうか?
宜しくお願いします。
77名無しさん@そうだ選挙にいこう:2008/05/25(日) 11:13:38
1列目に連番、2列目に商品が並べ替えられて入力されているとして、
A1に「1」
A2に、=IF(B1=B2,A1,A1+1)
で、A2を選択してセルの右下の黒いとこダブルクリックでフィルすればおkじゃね?
できあがったら値のみコピーして貼り付け
7876:2008/05/25(日) 11:32:58
>>77
な、なるほど。IF関数だけで、そんなに簡単にできてしまうんですね。
勉強になりました。
ありがとうございます!
79名無しさん@そうだ選挙にいこう:2008/05/25(日) 11:46:51
excelで簡単にカード型データベースがつくれるようなキットないですか
入力・編集フォームのレイアウトが自由に作れて、レコードの追加・更新・削除ができるやつ。
vectorにいくつかあるようですが、項目数に制限があるのでいやです。
80名無しさん@そうだ選挙にいこう:2008/05/25(日) 12:09:05
>79

そんなのをEXCELで始めようとするから後で手が付けられなくなる。
知識がないならACCESSでも使え。
知識があるならそんな簡単なものくらい自作しろ。
81名無しさん@そうだ選挙にいこう:2008/05/25(日) 12:26:45
ACCESSなり使えればいいんだけど、職場ではwordとexcelしか使わせてくれない。
なければ自分で汎用的につかえるものつくるしかないけど、あるなら使おうと思った。
82名無しさん@そうだ選挙にいこう:2008/05/25(日) 12:31:30
知識があるなら作るほうが早いな
83名無しさん@そうだ選挙にいこう:2008/05/25(日) 13:20:32
Access使わせてもらえるようにするのが一番いいんじゃないか。
84名無しさん@そうだ選挙にいこう:2008/05/25(日) 13:26:39
>>79
なぜ入力フォームが必要なのかをつきつめて考えてみたら?
入力フォームのどんな機能が使いたいのか。
案外不要なんじゃないか?
85名無しさん@そうだ選挙にいこう:2008/05/25(日) 13:36:57
アクセスで入力フォームが果たしている決定的な仕事は
非正規化されたテーブルへのデータ入力じゃないかなあ。

売上テーブルに得意先名や売上単価を冗長に記録するよう
な非正規化された設計がされている場合なんかに、得意先
コードや商品コードから得意先マスターや単価マスターを
参照して値をコピーするような。

これ以外に入力フォームの存在価値がわからない。
>>79もこんなことしたいの?
86名無しさん@そうだ選挙にいこう:2008/05/25(日) 13:40:11
>>73-75
離れたままのペーストは残念ながらCtrl+Vではできない。
値だけなら参照式を入れてCtrl+Enterでコピーできるが、内容(式や書式)はマクロを使わないと無理。
87名無しさん@そうだ選挙にいこう:2008/05/25(日) 14:34:17
>>46いつものピボット厨うぜー、一度で説明すれや!

>>79
ユーザーフォームでググって自分で作れ。
88名無しさん@そうだ選挙にいこう:2008/05/25(日) 14:43:39
>>87
>>46の説明が理解できないような人に回答者づらしてほしくないよ。
89名無しさん@そうだ選挙にいこう:2008/05/25(日) 15:09:07
>>88
てめーは日本語も読めないのか?www
内容に文句を言ってるんじゃねえよ。
いくつのレスしてんだよ?説明がへたくそなんだよ、ボケ!
90名無しさん@そうだ選挙にいこう:2008/05/25(日) 15:35:48
確かに。
91名無しさん@そうだ選挙にいこう:2008/05/25(日) 16:18:19
こういつ奴が、質問の仕方が悪いと本気で思ってるから救いがない
92名無しさん@そうだ選挙にいこう:2008/05/25(日) 16:20:33
構ってほしいだけなんだから相手しない
93名無しさん@そうだ選挙にいこう:2008/05/25(日) 16:57:20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

HYPERLINKについて質問
他のエクセルファイルのシートまで指定して開くリンクのシート名を他のセルから読み込みたいのですが可能でしょうか?
94名無しさん@そうだ選挙にいこう:2008/05/25(日) 17:13:34
>>93
よくわからん・・とりあえずシート名を出すならこれ

ttp://www.relief.jp/itnote/archives/001079.php
▼操作手順:セルにワークシート名を表示させる
ワークシート名を表示させたいセルに、
「=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))」

一度どこかに保存しないと機能しないので注意
95名無しさん@そうだ選挙にいこう:2008/05/25(日) 17:38:55
>>93
セルを右クリック→ハイパーリンクを選んだ時と、HYPERLINK関数を使った場合とで方法が違うんで、
まずどっちか書いて。
96名無しさん@そうだ選挙にいこう:2008/05/25(日) 17:50:30
>>95
HYPERLINK関数を使うつもりです
97名無しさん@そうだ選挙にいこう:2008/05/25(日) 19:26:03
>>96
A1のリンクからシート名を取り出してB1に入れる

Sub GetSheetName()
 L = Range("A1").Formula
 X = InStr(L, "]") + 1
 Range("B1") = Mid(L, X, InStr(L, "!") - X)
End Sub
98名無しさん@そうだ選挙にいこう:2008/05/25(日) 21:43:30
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

あるシートのセルに、そのブックに存在する他の全てのシート名を列記することは可能でしょうか?
ちょうどそのブックに存在するシート名の目次・見出しを作るような感じです。
VBAを使えば可能ということをどこかで見かけた気もしますが、一般の関数等だけではやはり無理でしょうか。
よろしくお願いします。
99名無しさん@そうだ選挙にいこう:2008/05/25(日) 21:45:42
>>98
そのとおり、VBAじゃないと無理
100名無しさん@そうだ選挙にいこう:2008/05/25(日) 21:46:03
>98

すぐ上の方法で各セルのシート名を各シートのどっかにだして
まとめセルで参照する。
101名無しさん@そうだ選挙にいこう:2008/05/25(日) 21:56:25
>>99-100
即レスありがとうございます。
>>100さんの方法はなんとなく思いつきましたが、各シートの特定のセル(例えばA1)にそのシート名を書き出させた場合、
新しいシートが末尾に追加される場合も途中に割り込ませることも想定した上で、
まとめシートにおいて自動的に列方向または行方向に並べる方法↓

  A
1 シート1
2 シート2
3 シート3
  ・
  ・
  ・

が思いつきませんでした。
なにか方法はありますか?
102名無しさん@そうだ選挙にいこう:2008/05/25(日) 22:09:29
sheet1、sheet2・・とデフルトの状態でいくつシートがあるか、欠番が無いかを調べるなら
sheet0のA1に=INDIRECT("sheet"&ROW()&"!A1")
と入れて下にオートフィルすれば欠番シートがエラー値になるので分かりやすい・・って程度

基本、シート名は>>94かVBAしか無理だな
103名無しさん@そうだ選挙にいこう:2008/05/25(日) 22:26:47
>>102
なるほど、シート名を連番にしさえすれば、エラー値はIF関数で消すとして、ある程度用は足りますね。
実はシート名は飛び飛びの日付にしているのでこの方法は使えませんが、参考になりました。
ありがとうございました。
104名無しさん@そうだ選挙にいこう:2008/05/26(月) 00:14:47
質問です
仕事で毎週重たいエクセルのファイルをもらうようになったんですが、
サクサク動かすために、グラボの導入は効果ありますか。

メインメモリはXPで1GBあるんでそこそこ足りてるはずと思います。
105名無しさん@そうだ選挙にいこう:2008/05/26(月) 00:22:25
効果はほとんど期待できません
自腹で購入してください
106名無しさん@そうだ選挙にいこう:2008/05/26(月) 01:05:25
>>104
ビデオカードはあまり関係ない。
必要なのは1にCPUパワー、2にメモリ。
ファイルの内容にもよるが、1GBでは足りない可能性もある。
107名無しさん@そうだ選挙にいこう:2008/05/26(月) 01:20:29

▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel バージョン5.0
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Googleやヘルプでの検索キーワード
マイクロソフトエクセル バージョン5 互換性

新しく始めた仕事で、エクセルを使うことになりました。
先方からエクセルで仕事を送られてくることになったので、
知り合いからバージョン5というのを貰いました。
先方のファイルは2008というお試し用で開いていたのですが、使用期限切れに伴い
開くことが出来なくなりました。
そこで、貰ったエクセルで開こうとしたところ、開けませんでした。
必要な情報はダウンロードしたつもりだったのですが・・・。
開こうとしたファイルの画面には、エクセルの絵とびっくりマークが
出ていて開くことが出来ません。

何が足りないのか、ご教授いただけると有難いです。
教えてちゃんで申し訳ありませんが、どうぞよろしくお願い申し上げます。
108前スレ893:2008/05/26(月) 01:25:04
以前、表のまとめ方で質問しましたが、
もう一度別件で質問したいことがあります。

【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】勉強中なのでほぼできないと思ってください
【4 VBAでの回答の可否】 可(というか是非お願いします)

<やりたいこと>
@二つの異なるxlsファイルがあり、その中身をマクロを使って自動的にまとめて表を生成する。
Aマクロによって生成された表から、グラフが出るようにしてほしい。

説明が下手くそですいません。
なので、実物をアップしといたので、よろしければ下記へ飛んで、ご教授ください。

ttp://uploaders.ddo.jp/upload/1mb/の
1up4575.rar

109名無しさん@そうだ選挙にいこう:2008/05/26(月) 01:35:22
>>107
Excel 5.0は今から10年以上も前に発売された、とても古いソフトです。
はっきり言って役に立ちません。新しいExcelを買ってきてください。

最新のバージョン2007を買うのが一番確実ですが、まだあまり普及していないので
大抵の仕事は、1つ前のバージョン2003でも大丈夫です。
まずは先方に必要なExcelのバージョンを確認してください。
ttp://www.amazon.co.jp/dp/B000JQLPO0

最新版以外はオークションで探すことになりますが、オークションでは、
たまにライセンスの問題で使えない物を売っている人もいるので
あまり安すぎる物には注意が必要です。
11044:2008/05/26(月) 01:40:28
>>107
つOpenOffice.org
とりあえずこれ使っとくとか。
111名無しさん@そうだ選挙にいこう:2008/05/26(月) 01:43:20
リカバリしたら試用版がまた使えるようにならないか?
112名無しさん@そうだ選挙にいこう:2008/05/26(月) 01:45:15
個人的に使うだけなら5.0だろうがOpenOfficeだろうがなんでもいいけど、
仕事で人とファイルの交換をする時はバージョンを合わせないとトラブルの元だぞ。
113名無しさん@そうだ選挙にいこう:2008/05/26(月) 01:54:14
>>108
別ファイルのデータを参照する時は

[ファイル名]シート名!セル名

のように書く。たとえば

=[登録リスト.xls]登録リスト!B3

のように。関数の中でも同じように使える。
これで複数のファイルに分かれたデータを1つにまとめられる。
あとは前スレで出たとおり。
114107:2008/05/26(月) 01:59:21
レス下さった皆様、どうもありがとうございました。
役に立たないんですか・・・>バージョン5

仕方ないので、購入を検討することにしようと思います・・・。
115名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:00:56
請求書を興味本位でOOoで開いたら全然違っててワロタ
116名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:02:52
sheet1の変数からsheet2に記載された変数を呼び出すことは可能?
自作標準問わず関数はシートを跨げるんでしょうか。
117名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:04:07
>>116
=Sheet2!A1
118名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:09:49
MS-Officeの仕様って公開されることになったんじゃなかったっけ?
まだOpenOfficeの対応が追いついてないのかな?
119名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:21:52
>>117
Excel関数じゃなくてマクロ関数で呼び出す場合はどうしたらいいんでしょうか。
120名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:29:37
>>119
Range("Sheet2!A1").Value
121名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:38:26
あわわわ、いつのまにかセルの指定の話になってますけど
そもそも最初の質問はマクロで算出した値の話です。

例えばsheet1のマクロでA1:A30の合計やらなにやらを算出して
manという値(実数)を得たとします。sheet2のマクロで、
その値をセルに出力して「man個」と表示させたいのです。

sheet2のマクロからsheet1の範囲を指定して算出しろという
突っ込みは

        ⊂ ⊂ヽ、  /)/)
          c、   `っ(  ヽ
        (   v)c、  `っ 
          V''V  (   v)  / ̄`⊃
               V''V   |  ⊃     
                   (   v)  ハ,,ハ  
                     V''V  (゚ω゚  )   
                          ⊂⊂ ヽ
                           >   )
                          (/(/
                                 ハ,,ハ
                                ( ゚ω゚ )  おことわりします
                               /    \
                             ((⊂  )   ノ\つ))
                                (_⌒ヽ
                                 ヽ ヘ }
                            ε≡Ξ ノノ `J
122名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:40:15
man個・・・・バカにしやがって!
123116,119,121,122,123:2008/05/26(月) 02:41:18
書き忘れてました。すみません。
124123:2008/05/26(月) 02:41:59
122は違ったw
書き直して123にするつもりが残して123を追加しちゃってました。すんまそん。
125名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:42:14
>>121
まずSheet1でマクロやら関数を使って何らかの計算をしたとして、
その結果はSheet1のどこかのセルに入ってるだろ?
それを参照しろ。

計算だけして結果をどこにも入れない、なんて使い方はできないからな。
126123:2008/05/26(月) 02:45:08
そうなんですか・・・何か方法はないんですか?
127名無しさん@そうだ選挙にいこう:2008/05/26(月) 02:48:28
何がやりたいんだ?
どうしてもシートを書き換えたくないんならクリップボードにでも入れとけ。
つーか、マクロはどうやって呼び出してんのよ。
128名無しさん@そうだ選挙にいこう:2008/05/26(月) 03:22:12
>>116
「sheet2に記載された変数」の意味がよくわかりません。

まず、変数はマクロの中だけで使う物なので、ワークシートに直接書くことは出来ません。
ワークシートの中で値を格納する場所は「セル」になります。

そして、マクロはモジュールという単位で管理されます。
どのマクロでも、どのシートからでも呼び出すことができます。
Sheet1のマクロ、Sheet2のマクロ、といった分け方はしません。
(例外でイベントハンドラというのはありますが)

何か、言葉の使い方を間違っていると思います。
まずはそのあたりをはっきりさせるための質問を考えた方がいいと思います。
129名無しさん@そうだ選挙にいこう:2008/05/26(月) 06:25:05
ワークシートモジュールの変数のスコープの話じゃないかな
130名無しさん@そうだ選挙にいこう:2008/05/26(月) 06:29:52
いや関数かな
131名無しさん@そうだ選挙にいこう:2008/05/26(月) 10:41:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

Sumif関数の条件式について質問です。

コード   値
412515  2
405112  1
412815  2
400817  1
407212  1

こんな感じの大量データを集計したいのですが、
コードの下2桁(12とか15とか)でSumifしたいのですが
式一発で、できないでしょうか?
132名無しさん@そうだ選挙にいこう:2008/05/26(月) 10:59:12
>>131
コードが文字列なら=SUMIF(A1:A6,"*12",B1:B6)とか配列数式でできるが、下二桁を作業列に取り出してピボットテーブルの方がよい。
133名無しさん@そうだ選挙にいこう:2008/05/26(月) 11:03:36
>>132
すばやい回答をありがとうございます。
やっぱりそうですね、数値だと*で合計できなくて><
ありがとうございました。
134名無しさん@そうだ選挙にいこう:2008/05/26(月) 12:03:03
=SUMPRODUCT((MOD(A1:A99,100)=12)*B1:B99)
135名無しさん@そうだ選挙にいこう:2008/05/26(月) 12:36:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

ATANを角度の"45°"とかの角度で求めたいのですが出し方がよく分かりません。
どなたか教えてください、お願いします。
136名無しさん@そうだ選挙にいこう:2008/05/26(月) 12:46:58
>>135
DEGRESS:ラジアンを度に変換
RADIANS:度をラジアンに変換
137136:2008/05/26(月) 12:49:05
>>135
DEGREES:ラジアンを度に変換
RADIANS:度をラジアンに変換

まちがえちゃった、コッチを見て
138123:2008/05/26(月) 12:54:56
シートを跨いで変数扱えるじゃないですか!
■sheet1 のマクロ
Public Unko As Integer 'うんこフラグ
sub test()
Unko = 1
End Sub
-------------------------------------------
■sheet2のマクロ
sub tynko()
msgbox sheet1.Unko
End Sub
-------------------------------------------
でちゃんと表示されましたよ。
「いやいや当たり前だしそもそもお前が何したいかちゃんと説明できてないから」というツッコミは

        ⊂ ⊂ヽ、  /)/)
          c、   `っ(  ヽ
        (   v)c、  `っ 
          V''V  (   v)  / ̄`⊃
               V''V   |  ⊃     
                   (   v)  ハ,,ハ  
                     V''V  (゚ω゚  )   
                          ⊂⊂ ヽ
                           >   )
                          (/(/
                                 ハ,,ハ
                                ( ゚ω゚ )  お断りします
                               /    \
                             ((⊂  )   ノ\つ))
                                (_⌒ヽ
                                 ヽ ヘ }
                            ε≡Ξ ノノ `J
139名無しさん@そうだ選挙にいこう:2008/05/26(月) 13:00:05
>>138
こいつ教えてもらう態度じゃないな・・・
140名無しさん@そうだ選挙にいこう:2008/05/26(月) 13:13:04
>>138
いやいや当たり前だしそもそもお前が何したいかちゃんと説明できてないから
つーか、聞く前にやったほうが早かったね
141名無しさん@そうだ選挙にいこう:2008/05/26(月) 13:39:06
シートを跨ぐってそういう意味だったのね。
シート関係ないやんw
142名無しさん@そうだ選挙にいこう:2008/05/26(月) 13:57:27
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

Sheet 1に参照用のデータ(それぞれの列の項目は番号、氏名、生年月日、住所…など)の表
Sheet 2で番号をドロップダウンリストから選択、Vlookup関数で参照し氏名や生年月日などが自動で入力される表

現在はこのような状態で使用しているのですが、これを番号だけではなく氏名もドロップダウンリストで選択、
番号やその他の項目が表示されるようにしたいのですが、どんな方法がありますでしょうか?
よろしくお願いします。
143名無しさん@そうだ選挙にいこう:2008/05/26(月) 14:30:48
>>142
vlookupは右側を検索できるが、左側を検索したいならlookupを使うといい
matchでもできると思う
144名無しさん@そうだ選挙にいこう:2008/05/26(月) 16:28:17
BookAのSheet1に「=Sheet2!A1」のように別シートを参照しているセルがあり、それをコピーして
BookBのSheet1に貼り付けようとすると「=[BookA.xls]Sheet2:A1」と、コピー元のブックを参照してしまいます。
これを、BookBのSheet2を指すように貼り付けたいのですが、そのような事はできますか?

(大量のセルをコピーするので、数式そのものをコピーして貼り付けするのは避けたいです。)

環境はWinXP、Office2007です。解決法がVBAでも構わないです。
よろしくお願いします。
145名無しさん@そうだ選挙にいこう:2008/05/26(月) 17:06:48
>>144
[BookA.xls]を空白に置換
146名無しさん@そうだ選挙にいこう:2008/05/26(月) 17:23:26
>>145
なるほどその手がありましたか。
ありがとうございます。
VBAを含めてもそれが最速ですかね?
147名無しさん@そうだ選挙にいこう:2008/05/26(月) 17:58:52
>>146

VBAを何だと思ってるのかな?
148144:2008/05/26(月) 18:43:19
>>147
自動化手段かな。
意図がよく汲み取れないのですが、どういう事ですか?
149名無しさん@そうだ選挙にいこう:2008/05/26(月) 18:55:07
>VBAを含めてもそれが最速ですかね?

実行時間なら手作業よりVBAの方が当然早いんだが
コーディング時間と>>148の頭の中身によっては・・・

手作業とVBAの処理時間を比較する意図がワカンネ=>>147
150名無しさん@そうだ選挙にいこう:2008/05/26(月) 19:10:28
>>149
あー、いえ。置換以外の方法を求めたのです。
151名無しさん@そうだ選挙にいこう:2008/05/26(月) 19:18:47
何かコイツ、VBAでもかまわないといいながら全然分かって無い気がする・・・
152名無しさん@そうだ選挙にいこう:2008/05/26(月) 19:24:37
>>150
置換をVBAでやれと先輩方は言っているのだよ。
153名無しさん@そうだ選挙にいこう:2008/05/26(月) 19:24:46
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
154名無しさん@そうだ選挙にいこう:2008/05/26(月) 19:26:24
全然・・・

分かって・・・・・・

無い気がする・・・・・・・・・

アホ丸出しだな先輩方
155名無しさん@そうだ選挙にいこう:2008/05/26(月) 19:27:24
VSAに固執するアンタの了見の狭さがキモイ
156144:2008/05/26(月) 19:30:24
>>149
あー。ごめんなさい。
元々VBAでやるつもりだったんですが、>>145が手作業の方法を提示してくれたものだと思っての>>146です。

・・・にしても変な日本語ですね。すみません。
×「VBAを含めても〜」→○「VBAで置換するのが最速ですかね?」
157144:2008/05/26(月) 19:38:41
ああ!なんか自分のせいで荒れてる!
スレ汚し失礼しました〜。

あと一応ですが>>154は自分ではありません。
158名無しさん@そうだ選挙にいこう:2008/05/26(月) 19:39:58
>>156
いやだから、どっちが速いかは、その質問だけじゃわからんのだってば。
たとえば、貼り付けと置換を何十回もしなきゃならなくて、ある程度
機械的に処理できるような内容ならVBAを使った方がたぶん早い。
159名無しさん@そうだ選挙にいこう:2008/05/26(月) 19:40:22
>157
VBA使うなら置換のみじゃなくて張り付ける作業をやらせるべきじゃない?
置換のみの速度はVBAでも手動でもほぼ一緒でしょ。
160名無しさん@そうだ選挙にいこう:2008/05/26(月) 19:45:05
単純な規則性とか決まった法則があるならVBAのが速い。
ルールが複雑すぎる場合は手作業でやった方が早いこともある。
内容と量で使い分けるもんだ。
161名無しさん@そうだ選挙にいこう:2008/05/26(月) 20:40:56
A1、B2、C3・・のみ置換、但し他は置換しないこと
なんていう変な規則性&手作業でやりにくいものなら断然VBAだな
あと正確にできるってのも強味
でもそういうのが200ぐらいないと手作業の方が余程はやい
100ぐらいなら間違いなく手作業の方が早い
162名無しさん@そうだ選挙にいこう:2008/05/26(月) 21:06:10
いちいちCtrl押しながらクリックは意外と面倒だし間違えやすい。
俺なら不規則に100個あったら事前にセルの一覧をテキストで打ち込んどいてVBAかな。
シート上の作業はマクロの記録でもしない限り残らないけれど、
リストが残っていると、ミスしてないかどうかあとから確認できるというメリットもある。
163名無しさん@そうだ選挙にいこう:2008/05/26(月) 21:09:22
2007を使っていますが
ある行全てのセルの頭4文字だけデリートするようなことって
出来るのでしょうか?
その方法を教えて下さい。
164名無しさん@そうだ選挙にいこう:2008/05/26(月) 21:20:01
>>163
A1に文字が入ってるとすれば
=RIGHT(A1,4)
で値として残したければこのままA1にコピー&ペーストで値のみ
165164:2008/05/26(月) 21:21:50
間違えた。これはひどい
166名無しさん@そうだ選挙にいこう:2008/05/26(月) 21:21:54
>164

MID/MIDBじゃないの?
167164:2008/05/26(月) 21:23:49
>>163
=RIGHT(A1,LEN(A1)-4)
こうだ、うん
4文字以下の時は
=if(,LEN(A1)-4<0
辺りで条件分岐させておくれ
168166:2008/05/26(月) 21:23:54
>165

www

>163

=MID(A1,5,LEN(A1))
169164:2008/05/26(月) 21:25:37
>>166>>168
ありがd
MIDだとエラーが出ないのかw
>>163
>>167より>>168の方が100倍使いやすいぜ
170168:2008/05/26(月) 21:25:37
>167

あれ?
>163は頭4文字消したいんだよな?

俺が勘違いしてるのか?
171名無しさん@そうだ選挙にいこう:2008/05/26(月) 21:28:32
いや、>>168で正解
172168:2008/05/26(月) 21:30:40
>167

あっ!
やっと意図が分かったw
173名無しさん@そうだ選挙にいこう:2008/05/27(火) 00:05:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(勉強中)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 繰り返し 処理 など

す・・すいません。VBA入門買ってしまってなんですがたぶん本当の初歩なんでしょう・・・掲載されてない・・・

a1セルに番号←基点番号
A2セルに連番個数

a1からa2の連番分数値を他のセルに連続出力したいのですが
--------------
Range("c1").Select
For i = ○○ To ○○
ActiveCell.Value = i
ActiveCell.Offset(1, 0).Select

Next i
-------------
for next文の所にA1 A2セルの内容を参照させたいのですが ど・・どうすれば
・・・よく本見てみると構文はそこそこ掲載されてるんですが初歩すぎてVBAにセルを組み込む例が全く書いていない・・・
よろしければアドバイスを・・・(´・ω・`)
174名無しさん@そうだ選挙にいこう:2008/05/27(火) 00:10:47
【1 OSの種類         .】 WindowsVISTA Business
【2 Excelのバージョン  】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel2007 Excel2003 リストボックス コンボボックス
                 エラー 不具合 マウス スクロール マクロ activeXコントロール

リストボックス(コントロール)で複数行選択するときに2列×50行なんで
マウスでスクロールしようとしたところ終了しますとメッセージがでて終了してしまいます。
原因は表示されません。
2003では正常に動作していたんで2007の不具合かと思ったんですが、
今自宅なんで2007がアップデート済みかどうか確認していません。ファイルも職場です。
明日またいじってみますが、なにをチェックしたらよいでしょうか。

 
175名無しさん@そうだ選挙にいこう:2008/05/27(火) 00:14:59
>173

Range("A1").Value
176名無しさん@そうだ選挙にいこう:2008/05/27(火) 00:42:17
>>173
Range("C1").Select
For i = Range("A1") To Range("A2")
ActiveCell.Value = i
ActiveCell.Offset(1, 0).Select
Next
177173:2008/05/27(火) 00:45:06
>>175>>176
俺がググルよりも早いとは・・・

おまえら・・・神すぎるぜ・・・・

トンクス
178名無しさん@そうだ選挙にいこう:2008/05/27(火) 01:20:15
>>173
Range("C1").Value = Range("A1").Value
Range("C1").Resize(Range("A2").Value).DataSeries

>>176
× For i = Range("A1") To Range("A2")
○ For i = Range("A1").Value To Range("A1").Value + Range("A2").Value - 1
179名無しさん@そうだ選挙にいこう:2008/05/27(火) 01:42:11
>>178
オブジェクトを正確に書けと言いたいんなら

× Range("A1").Value
○ Range("A1").Cells.Item(1,1).Value
180名無しさん@そうだ選挙にいこう:2008/05/27(火) 01:50:09
>>179
アフォ発見!
181名無しさん@そうだ選挙にいこう:2008/05/27(火) 08:00:41
.Value付けると付けないでどう違うの?
182名無しさん@そうだ選挙にいこう:2008/05/27(火) 08:12:47
>181

説明しても分かんないだろうからvalue付けとけ。
そのうち分かる。
183名無しさん@そうだ選挙にいこう:2008/05/27(火) 09:15:12
Webページとして保存と発行の違いって何なのでしょうか?

さらに、選択範囲でシートを保存した場合と発行の違いがわかりません。
同じように思えます。
184名無しさん@そうだ選挙にいこう:2008/05/27(火) 10:28:05
>>134
どうもありがとう。でもそれだと#VALUE!なのです><
185名無しさん@そうだ選挙にいこう:2008/05/27(火) 10:43:41
VISTAでExcel2007を使ってますが、セルを右クリックでセルの書式設定の画面を開くまでタイムラグが結構あるのですが、これは仕様ですか?
PCの性能的にはCore2Duoの2.1Gメモリ2G積んでるので問題ないと思いますが。
186名無しさん@そうだ選挙にいこう:2008/05/27(火) 10:46:27
>185

ウィルスとマクロのチェック。

あと「結構」と言われてそんな体感的な表現で分かるわけがない。
まずは右クリック→[F]→[ESC]を100回やって平均をだせ。
187185:2008/05/27(火) 10:57:22
>>186
PCを立ち上げて初めてエクセルで操作するときだけ遅く、その後はストレス無く開くのです。
最初の操作はだいたい4,5秒かかるかな。
こんなもんですか?
188名無しさん@そうだ選挙にいこう:2008/05/27(火) 11:16:35
>187
そんなもん。
セルの書式設定ダイアログボックスはExcelの起動時には
メモリに読み込まれてないらしく、最初の一回目は時間がかかる。
2007に限らず従来のバージョンでも同じだったと思う。
189名無しさん@そうだ選挙にいこう:2008/05/27(火) 11:25:12
>>187
HDDの読み込み速度の問題なので、CPUやメモリは関係ない。
一度読み込んでしまえばメモリ上に残るので、その後は時間がかからない。
多分だが、フォントの読み込みに一番時間がかかってる。いらないフォントをアンインストールしたらマシになるかもしれない。

参考になるかわからんが、自分の環境ではFontフォルダが256MB、その中に278個のフォントファイルが入ってる(隠しファイル含む)。
かかる時間は6秒程度。CPUはC2D,E4500。
190185:2008/05/27(火) 11:38:15
>>188-189
ありがとうございます。
そういう仕組みなのですね。
Excel2002ではこんなストレス感じなかったので不安に思ってました。
フォントなどいろいろいじってみます。
191名無しさん@そうだ選挙にいこう:2008/05/27(火) 11:44:37
>PCを立ち上げて初めてエクセルで操作するときだけ遅く、

何でこういう情報を後出しするかな〜・・・
192名無しさん@そうだ選挙にいこう:2008/05/27(火) 12:03:36
そういうとこまで気使えるレベルなら最初から質問してないだろ
193名無しさん@そうだ選挙にいこう:2008/05/27(火) 12:20:46
>>183
発行の方は、MSのSharePointServerと連携できる機能だったかな。
単体だとweb書き出しと変わらないと思うよ。
194名無しさん@そうだ選挙にいこう:2008/05/27(火) 12:33:10
>>184
この式はあくまでも例だから、A1:A99 と B1:B99 の部分には、実際に集計したい数字の範囲を入れるんだよ。
1行目が見出しでデータが2行目から始まるなら A2:A250 、 B2:B250 みたいに。
195名無しさん@そうだ選挙にいこう:2008/05/27(火) 14:00:43
1/1月 100
1/2火 150
1/3水 200
      ☆第一週の最高値
1/8月 100
1/9火 100
1/10水 300
1/12金 150
     ☆第二週の最高値

週の日数が異なる表から、
各週の最高値を検索するにはどうすれば良いですか?

よろしくお願いします。
196名無しさん@そうだ選挙にいこう:2008/05/27(火) 14:18:22
>>195

1.全日数分のシートを用意する。
2.LookupなりIndex/Matchで該当日の値を表示させる。
3.好きな単位で集計しろ。
197名無しさん@そうだ選挙にいこう:2008/05/27(火) 14:33:33
>>195
バージョン明記しようね。ピボットテーブルって知ってる?

日付 曜日 金額
1月1日 月 100
1月2日 火 150
1月3日 水 200
1月8日 月 100
1月9日 火 100
1月10日 水 300
1月12日 金 150

↑これに対し、(バージョンが2007なら)「挿入」から「ピボットテーブル」、(バージョンが2003以前なら「データ」から「ピボットテーブルとピボットグラフレポート」)
行ラベル(行フィールド)に日付、値ラベル(データアイテム)に金額
行フィールドで右クリック→「グループ化」→「日」にチェック、開始日・最終日を指定、日数を7に指定、→OK
値フィールドで右クリック→値フィールドの設定→「集計の方法」タブで最大値を選択→OK

完成例↓
ttp://paint.s13.dxbeat.com/up/src/paint_7283.jpg
198名無しさん@そうだ選挙にいこう:2008/05/27(火) 14:33:50
>>184
B列に文字列があるんだろ?
だいたいSUMPRODUCTなんてアフォが使うものなんだがw
その式なら
=SUM(IF(MOD(A1:A99,100)=12,B1:B99))
の配列数式の方がまだマシってもんだ。
199名無しさん@そうだ選挙にいこう:2008/05/27(火) 14:56:08
VBAの質問です。テキストボックスで、異常値が入力された場合、
再びテキストボックスへの入力からやり直しさせたいのですが
どうすればいいのでしょうか。

Sub test()
Dim nenkin

'('A`)
nenkin = Application.InputBox("年金は月何万欲しいですか?", "やるやる詐欺", "欲しい年金の額を数字で入れてね", Type:=1)

If Len(nenkin) < 2 Then

MsgBox "2桁以上入れろや!遠慮してんじゃねぇぞテメェ!" & Chr(13) _
"今まで苦労した分、豊な老後を過ごせやコラ!!"
End If

End Sub



と記述し、1桁だけ入力された場合、メッセージ表示後、再び('A`)の処理に戻らせたいんです。
ループ等は何か違うよな、という気がして。スマートに入力をやり直させる方法はあるんでしょうか?
200名無しさん@そうだ選挙にいこう:2008/05/27(火) 15:22:32
196さん、197さん
ありがとうございます。
バージョンは2007です。
やってみますね。
201名無しさん@そうだ選挙にいこう:2008/05/27(火) 16:06:10
Sub test()
 Dim inp_nenkin As Integer
 inp_nenkin = get_nenkin()
End Sub

Public Function get_nenkin() As Integer
nenkin = Application.InputBox("年金は月何万欲しいですか?", "やるやる詐欺", "欲しい年金の額を数字で入れてね", Type:=1)

If Len(nenkin) < 2 Then
MsgBox "2桁以上入れろや!遠慮してんじゃねぇぞテメェ!" & Chr(13) & "今まで苦労した分、豊な老後を過ごせやコラ!!"
nenkin = get_nenkin()
End If
get_nenkin = nenkin
End Function
202201:2008/05/27(火) 16:13:11
書き込みミスです。すんません。

>>199
ループが嫌なら>>201のようにFunctionにしてしまって、再帰的に呼び出すのはどう?
(書き込みミスったので、変な所に改行が入ってたり宣言が抜けてたりするのは気にしないで)

別にループでいいと思うけど。
203名無しさん@そうだ選挙にいこう:2008/05/27(火) 17:19:08
>>194
いや、それくらいわかるんだけど、MOD関数とかって範囲指定でも計算するのかな?
204名無しさん@そうだ選挙にいこう:2008/05/27(火) 17:56:35
>>200
>>196はからかってるだけだと思う。
205名無しさん@そうだ選挙にいこう:2008/05/27(火) 19:46:03
はじめまして。以下の状況での打開策を質問します。

【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】非アクティブ時 ペーストモード スペシャルペースト等

ブックAをアクティブ時にセル移動方向を右に、非アクティブ時(他のブックがアクティブ時)に
セル移動方向を下に戻すようにコードを書いてあります。

このとき、ブックAのセルの値をCTRL+Cでコピーして他のブックに貼り付けようとしても、
CTRL+V(右クリック→貼り付け)が出来なくなっている。
クリップボード経由なら貼り付けできるが、縦横入れ替えで貼り付けたいので不可。

ブックAではセル移動方向を右にしつつ、他ブックへのコピペを自由にできるような
設定は可能でしょうか?
206名無しさん@そうだ選挙にいこう:2008/05/27(火) 20:44:37
Mac用エクセル2008にiphotoからの写真をはりこみました
Winの人に送っても写真が見えないといわれてしましました

設定で回避出来る問題でしょうか?

写真をみたらjpgではなくピクチャーになっています
大量に書類作ったんでMac側の書類はいじりたくありません

よろしくお願いいたします。
207名無しさん@そうだ選挙にいこう:2008/05/27(火) 20:53:06
ぜんぶやり直しです。あきらめてください。
208名無しさん@そうだ選挙にいこう:2008/05/27(火) 21:52:09
四捨五入した値で計算したいです。
わかりくいと思うので画像を見てください。
http://imepita.jp/20080527/784770

OSはwindowsで
バージョンは2000です。
検索は四捨五入 エクセル 小数 でぐぐりました。
209名無しさん@そうだ選挙にいこう:2008/05/27(火) 21:56:33
何がしたいのか良くわからん
そのまま四捨五入した値で計算すればいいのでは?
210名無しさん@そうだ選挙にいこう:2008/05/27(火) 22:08:35
=sum(C1:C6)
っていれればいいだけじゃないの
211名無しさん@そうだ選挙にいこう:2008/05/27(火) 22:10:56
>208
仮にA列に入ってるとして、B列などに、
=ROUND(A1,0)
って入れると小数点1桁目で四捨五入した値になるから、それを合計。
212名無しさん@そうだ選挙にいこう:2008/05/27(火) 22:11:22
>>206
似たような例で2007から2003に送ったときは保存形式をxlsにすればいけた
デフォルトの拡張子は.mxlsだかで少し互換性が低い
2008は触ったこと無いんで全然違うかもしれないが一応
213名無しさん@そうだ選挙にいこう:2008/05/27(火) 22:16:06

countblankが空白セルをカウントしないんだけど、空白セルに
どんな情報が入っているのかって、どうやったらわかる?
別に、countblank以外にやりようはあるので、いいんだけど、
分からないのは気持ちわるす。
ググっても、空白に見えても「空白」じゃないセルがあるので注意、
という情報しか見つけられなかった。
214名無しさん@そうだ選挙にいこう:2008/05/27(火) 22:25:22
>>213
数式で""が表示されているとか・・・
215名無しさん@そうだ選挙にいこう:2008/05/27(火) 23:32:36
>>214
それは>>213に対する"どんな情報"という回答例であり
"どうやったら"という要件定義を満たしていない。
216名無しさん@そうだ選挙にいこう:2008/05/27(火) 23:36:52
なんだ、コイツ
217名無しさん@そうだ選挙にいこう:2008/05/27(火) 23:51:21
>>211
できました。ありがとうございます!
218名無しさん@そうだ選挙にいこう:2008/05/27(火) 23:59:57
>>213
よくわかんないけど、判定対象セルを全部trimしてやりゃ完全なブランクになんじゃないのん
219名無しさん@そうだ選挙にいこう:2008/05/28(水) 00:05:15
>213
前スレだったかで話題の出てた、
cleanをかけてみたらどう?
220名無しさん@そうだ選挙にいこう:2008/05/28(水) 00:10:16
こなん感じか
Function what(a As Range)
Dim t
t = TypeName(a.Value)
what = t
If t <> "Empty" Then
If a.HasFormula Then
what = what & " Formula[" & a.Formula & "]"
Else
what = what & " [" & a.Value & "]"
End If
End If
End Function
221名無しさん@そうだ選挙にいこう:2008/05/28(水) 00:18:08
>>215
なんかこいつ嫌い、きもいし

>>213
=CODE(A1)
222213:2008/05/28(水) 00:39:35
このスレはいつも(生)暖かいなぁ。
レスくれた人に感謝!
明日、やってみるぜ。あぁ、もう「今日」か。
223名無しさん@そうだ選挙にいこう:2008/05/28(水) 00:58:44
        ⊂ ⊂ヽ、  /)/)
          c、   `っ(  ヽ
        (   v)c、  `っ 
          V''V  (   v)  / ̄`⊃
               V''V   |  ⊃     
                   (   v)  ハ,,ハ  
                     V''V  (゚ω゚  )   
                          ⊂⊂ ヽ
                           >   )
                          (/(/
                                   (;;゚;;)
                                  (__)
                                  (__) お断りします
                            /⌒\ ( ゚ω゚ ) /⌒\ お断りします
                            \●//    \\●/
                              ((⊂   )   ノ\ つ))
                                  (_⌒ヽ
                                   ヽ ヘ }
                              ε≡Ξ ノノ `J
224名無しさん@そうだ選挙にいこう:2008/05/28(水) 01:38:26
>>205
貼り付けとセルの移動方向は関係ない。
また、Ctrl+Vというのは「クリップボードの中身を貼り付ける」という操作なので、
Ctrl+Vが使えないのにクリップボードが使える、というのも矛盾している。

原因がよくわからないなら自分で判断せずもっと詳しい情報を書くように。
225名無しさん@そうだ選挙にいこう:2008/05/28(水) 01:39:50
>>203
聞く前に実際にやって見ろ
226名無しさん@そうだ選挙にいこう:2008/05/28(水) 01:49:03
初めまして。
質問させてください。
【1 OSの種類     .】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか  .】 勉強中
【4 VBAでの回答の可否】 可
【5 検索キーワード  】比較 参照 抽出等

AというファイルとBというファイルがありまして、それぞれ
 No  型名   品名       品名カナ   組織番号   日付    ・・・ ・・・
4001 PP2223 テーブルタップ テーブルタップ 003 2008/05/28 00:00:00
4002 PP2752 コネクター   コネクター     001 2008/05/28 00:00:00
4007 PA4201 スイッチ               021 2008/05/28 00:00:00




という風にデータが入っているのですが、AファイルとBファイルを比較しまして
間違いや抜けがないか確認したいのですが、どうしてもうまくいきません。
データ量は、それぞれ一万行近くあります。

あと、Aファイルにはあるけれど、Bファイルには無い行
(上の例で言いますと、N0.4002の行がまるまる無い)がそれなりにあります。
そういうのは無視してしまって大丈夫なのですが、
たとえば、No.4001の行の型番や組織番号などに間違いが無いか比較したいのです。
私的には、No.の欄を見て、その行の比較を行うような感じで考えていたのですが、
関数では、やっぱり無理ですかね…。

よろしくお願いします。
227名無しさん@そうだ選挙にいこう:2008/05/28(水) 02:10:49
>>226
VLOOKUPでNoから型名?型番?と組織番号を取り出して比較すればいいと思うよ。
別ファイル、別シートからでも検索できるから。
228名無しさん@そうだ選挙にいこう:2008/05/28(水) 02:15:37
>>227
ありがとうございます。
VLOOKUPでやってみます。
229名無しさん@そうだ選挙にいこう:2008/05/28(水) 02:21:59
表がシートの左上にあって、例えばA1に"No"、A2に4001が入ってるとすると、
Bファイルの方に
=VLOOKUP(A2,[A-file.xls]Sheet1!A:E,2,0)=B2
と入れると、両方のファイルからNoが4001の行を探して、型番が同じかどうか調べることができる。
あとはこの式を最後の行までコピペして、オートフィルタでFALSEの行だけを取り出せばいい。
230名無しさん@そうだ選挙にいこう:2008/05/28(水) 10:53:09
【1 OSの種類         .】 WindowsXPHome
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 無限大 グラフ

-1のとき-14、0のときマイナス無限大、1のとき-10(一部のみ抜粋)
上記のようなデータをグラフにしたいのですが、セルに-∞と入れるときどのように表記すれば
グラフで0を漸近線としたグラフがちゃんと出来上がるでしょうか?
「-∞」と打ち込むと「#NAME?」と出ますし、試しに「∞」と打ち込んでそのままグラフを作ると
∞のところが0としてグラフが作成されてしまいます。
231名無しさん@そうだ選挙にいこう:2008/05/28(水) 10:57:42
>>137
遅くなりましたが、ありがとうございました。
232名無しさん@そうだ選挙にいこう:2008/05/28(水) 11:05:40
>>230
ネタですか?
233名無しさん@そうだ選挙にいこう:2008/05/28(水) 11:07:42
>230

無限大は「数値」ではありません。
234名無しさん@そうだ選挙にいこう:2008/05/28(水) 11:07:44
>>230
無限大は扱えない
それっぽく見えるように工夫してくれ
235名無しさん@そうだ選挙にいこう:2008/05/28(水) 11:52:28
>>230
でかい数字を入れた後、テキストボックスを重ねるといいと思う
236名無しさん@そうだ選挙にいこう:2008/05/28(水) 12:40:26
>>230
Excelは無限大を扱えません。
手作業でグラフを書く時のように自分で都合のよい点を選べばいいですよ。
数式処理ソフトなど無限大を解釈してくれるソフトも存在します。
237名無しさん@そうだ選挙にいこう:2008/05/28(水) 14:33:31
>>230
0のとき200くらいにして縦軸の範囲を100以下くらいにすればいいんじゃない?
238230:2008/05/28(水) 17:04:21
皆さんありがとうございます
おかげさまで想定していたグラフが書けました。
239名無しさん@そうだ選挙にいこう:2008/05/28(水) 21:12:11
初心者です。
winxp エクセル2007です。

減算で

=A1-B1 をC1に出そうとすると♯VALUEが表示される。

この表示はA1、B1の値がまずいというエラーらしいですが、

120.98と111.11が入力されています。
なにがまずいのでしょう。
セルの書式も色々かえてみましたが無駄でした。

ちなみにこの数値はテキストファイルだったものを取り込んだものです。

回答よろしくおねがいします。
240名無しさん@そうだ選挙にいこう:2008/05/28(水) 21:23:18
>>239
A1とB1をドラッグして囲み、書式を数値にして、F2 Enter F2 Enterと押してみろ
241名無しさん@そうだ選挙にいこう:2008/05/28(水) 22:24:46
>>239
エクセルの特性で数字は文字列でも計算される(エクセルだけじやない機能だけど)
よってA1に「120.98   111.11」のような文字列が入ってると思う
D1に=A1、E1に=B1といれて見て
両方数字なら、「.」ピリオドがカンマになっている、あるいは全角の可能性がある
242名無しさん@そうだ選挙にいこう:2008/05/28(水) 22:52:46
>>239
余分なスペースが入ってるとか?
セルに入ってるデータが数値として正常かどうかはISNUMBERという関数で調べることができる。
どっかのセルに =ISNUMBER(A1) 、 =ISNUMBER(B1) と入れてみて、どちらがエラーの原因か
まず調べるといいかも。

前スレで出た余分な文字を消す関数、CLEAN を使ってみるという手も。
243名無しさん@そうだ選挙にいこう:2008/05/28(水) 23:09:46
ありがとうございます。
いろいろやってますが進展ありません。面倒ですが今日は電卓で計算します。

>>240 結果かわらずでした。
>>241 D1に =A1 だとそのまま120.98が表示されます。
全角かどうかは確認しましたが半角でした。
,にもなっていません。

244名無しさん@そうだ選挙にいこう:2008/05/28(水) 23:20:50
>243
A1,B1をコピーして、
そのまま形式を選択して貼り付け
→値、で加算にチェック

ってやってみたらどうでしょう?
245244:2008/05/28(水) 23:22:39
>243
ごめん、そのままやると倍になってまうから
シートコピーして、新しいシートにするか、

あるいはどこかに0を入力してコピーして、
それをA1,B1に加算で貼り付けしてみて。
246名無しさん@そうだ選挙にいこう:2008/05/28(水) 23:59:02
俺が直接調べてやるからそのブックうp
247名無しさん@そうだ選挙にいこう:2008/05/29(木) 00:37:12
こんなに優しいスレは久々にみたぜ・・・
248名無しさん@そうだ選挙にいこう:2008/05/29(木) 01:11:16
【1 OSの種類         .】 WindowsVISTA Business
【2 Excelのバージョン  】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel2007 Excel2003 条件付き書式


Excel2003で作ったファイルを2007で読み込んだら
コピペしてあった条件付き書式の参照がメチャクチャになってました。
2003ではB2:B51がB55の値以上になると強調されるようにしてあったんですが
2007で開いてみるとコピペしたC2:C51以降もB55の値を参照してるし、
コピペした列全部が範囲に指定されてるんです。
もちろん相対参照で貼り付けてあったんですが、なぜか絶対参照になってます
これって仕様ですかね?
結局1列ずつ設定し直してるんですが、効率悪いんで
相対参照で書式だけコピーする方法をご存じでしたら教えてください。
249名無しさん@そうだ選挙にいこう:2008/05/29(木) 01:58:55
>>248
条件付き書式は2007になって大幅に仕様が変更された部分の一つだから、
もしかしたらバグかもね。
書式は

Range("B2").FormatConditions

で設定できるから、VBAで修正した方が早いかも。
250名無しさん@そうだ選挙にいこう:2008/05/29(木) 02:09:45
枠線をシート全体ではなく、一部分のみ消すことは可能ですか?
251名無しさん@そうだ選挙にいこう:2008/05/29(木) 02:25:21
>>250
無理。
目的によっては、罫線やオートシェイプで代用できるかも。
252名無しさん@そうだ選挙にいこう:2008/05/29(木) 02:29:19
>>248
まずC列をどこかにコピーしておき、B列をC列に普通にコピーしてから、
保存しておいたC列の値だけをもう一度貼り付ける
253名無しさん@そうだ選挙にいこう:2008/05/29(木) 02:44:26
>>251
どうもありがとうございました。
254名無しさん@そうだ選挙にいこう:2008/05/29(木) 02:51:15
>>249>>252
ありがとうございます。
出勤したら試してみます。
255名無しさん@そうだ選挙にいこう:2008/05/29(木) 03:22:52
>>253
背景色を白で塗り潰すと、部分的に消したようには見える。
256名無しさん@そうだ選挙にいこう:2008/05/29(木) 03:47:11
>>253
書式設定で白い罫線を引く
セルを結合する
好きなのを選べ
ttp://aaabbbccc.s6.x-beat.com/upload/src/up17799.png
257名無しさん@そうだ選挙にいこう:2008/05/29(木) 06:50:59
SQL Server Express に接続してSQLを実行したいのだが...
258名無しさん@そうだ選挙にいこう:2008/05/29(木) 08:23:18
>>257
すればいいと思うよ
259名無しさん@そうだ選挙にいこう:2008/05/29(木) 09:40:52
非常に漠然とした質問なんですが、
VBAと複雑なワークシート関数が混在する場合、どこまでVBAで書けば良いでしょう?
シートをただのデータ置き場や入力&印刷フォームにして、計算処理はすべて
VBAで書くことは何か利点がありますか?
260名無しさん@そうだ選挙にいこう:2008/05/29(木) 10:20:22
 

261名無しさん@そうだ選挙にいこう:2008/05/29(木) 10:21:59
そりゃ何か利点はある
あなたの処理がそのことをもってVBAだけで計算すべきかどうかはしらない
262名無しさん@そうだ選挙にいこう:2008/05/29(木) 10:35:05
計算をVBAに任せれば一度計算するだけでいいので、軽くなる
ワークシート関数だと再計算の度に計算するからな
でも最近のPCだと相当に重いファイルじゃないとあまり意味がない
自動の再計算を切ればいいだけの話でもあるが、戻し忘れたときに
計算をしてない数字で後の処理を進めてしまうととんでもないことになりかねないので、
そういう意味では保険とも取れるかもしれない
263名無しさん@そうだ選挙にいこう:2008/05/29(木) 10:40:24
あとアレだ
deleteキーなんかで式を消してしまう事故も防ぐことができるね
ただフォームの数字を消してしまうことも考えれば、同じかもしれないけど
264名無しさん@そうだ選挙にいこう:2008/05/29(木) 12:34:45
VBAならソースリストの中にコメントが入れられるし、
関数や変数にもわかりやすい名前が使える。
265名無しさん@そうだ選挙にいこう:2008/05/29(木) 13:09:23
超初心者の俺が言うのもなんだけど
VBAの方が複雑な処理を簡単な記載で書ける。
っつーかワークシート関数で算出する方が
ややこしくて見辛いし絶対難しい。

俺が思うに
 プログラミングの知識が少しでもある人→VBA
 無い人               →ワークシート関数
ってことなんじゃないかと思う。

誰かに使わせるならワークシート関数の方が何やってるか
素人でもわかりやすいし修正も容易だからいいと思うけど
自分で使う分にはVBAしかないと思う。
266名無しさん@そうだ選挙にいこう:2008/05/29(木) 13:20:05
複雑な処理にはVBとかC#などのプログラミング言語を使うべき。

VBAは言語として中途半端すぎるし、いちいちExcelという重たいアプリを起動しないと
確認も実行もできない。

Excelは何のためのソフトかよく考えるべき。
こういうのを本末転倒という。
267名無しさん@そうだ選挙にいこう:2008/05/29(木) 13:38:16
VBでやるとさ、大量のデータをどうするか迷うんだよね。
いちいちファイルの読み書きや入出力フォームを作るのが面倒。

Excel VBAなら最初からワークシートが用意されてるから、
データはそこに入れとけばいいし
結果もシートに書き出せばいい。
こういうことを考えなくていいのって楽。
268名無しさん@そうだ選挙にいこう:2008/05/29(木) 15:16:29
>>266
そういう話じゃねーと思うんだけど
269名無しさん@そうだ選挙にいこう:2008/05/29(木) 15:23:31
>>268
>>266はネタだろ
270名無しさん@そうだ選挙にいこう:2008/05/29(木) 17:15:07
エクセルで質問です。
ある範囲内で複数の条件に合うものの個数を
別のシートに表示させたいのですが、式が分かったら教えて頂けますか?
よろしくお願いいたします。
271名無しさん@そうだ選挙にいこう:2008/05/29(木) 17:58:56
>>270
=DCOUNT
272名無しさん@そうだ選挙にいこう:2008/05/29(木) 18:55:10
エクセル2003です。
ある商品の売上高の割合を横の棒グラフにしてみました。が、Y軸の項目を二列にしたのですが、

↓こんな感じ

(商品A)・(18年度)
(商品B)・(19年度)
(商品C)・(20年度)



商品名の文字の向きが横向きになってしまうのですが、直す方法はないでしょうか。
フォントの設定を直そうとしても年度の部分しか変わりません。

273名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:09:50
すみません
Excel2003のメニューバーのメニューのうち、
「データ」だけがないのですが、どうしたら表示可能でしょうか?
274名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:33:31
>>273
購入店舗で交換してくれるよ
275名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:40:05
・・・ということは、不良品てことですか?
会社のなんで・・。
オートフィルタとか使いたいのに困ってます
276名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:40:54
すみません仕事で使用しているのすが困っています助けてください

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

エクセルを開いてどのセルに数字を入力しても下二桁が小数になってしまいます

たとえば1000と入力すると下二桁が削除されて10になり、1111と入力すると11.11になります

どうか解決方法を教えてくださいお願いします
277名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:41:50
オランダの政府機関「The Dutch Council of State」(オランダ政府協議会)が、
MS Office形式の文書をオープンな形式であるODFやPDFに変換するツールを自前
で開発したそうです(The INQUIERの記事)。
ヨーロッパの政府機関ではオープンソースソフトウェアの採用が進んでおり
(マイコミジャーナルの記事)、協議会内に保管されている数千にも渡る機密書
類をオープンな形式に変換するために、議会内でツールの開発を行ったそうです。
ヨーロッパではコスト削減のためにオープンソースソフトウェアを採用する例が多
いそうですが、機密情報を扱う機関でもこれは例外ではないようです。

http://slashdot.jp/opensource/article.pl?sid=08/05/29/086203
278名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:42:38
>>275
Alt→D→Fでどうなる?
279名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:43:13
Alt→D→F→Fな
280名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:44:50
>>276
Ctrl+1を押して、数値の所で小数点以下のケタ数をゼロにする
281名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:45:48
>>278
Excelを開いた状態でその操作してみたらよいですか?
早速明日やってみます!
282名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:47:42
>>255
>>256
どうもありがとうございました。
283名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:48:39
>>280
すみませんやってみたけど駄目でした
284名無しさん@そうだ選挙にいこう:2008/05/29(木) 19:50:07
285名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:00:59
>>277
会津若松市がOpenOffice.orgを全庁導入へ
「順次MS Offceから切り替え,5年間で約1500万円削減」
http://itpro.nikkeibp.co.jp/article/NEWS/20080529/304780/
286名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:01:34
287286:2008/05/29(木) 20:05:05
ごめん
>>286>>281への回答れした
288名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:08:41
>>283
マクロは入ってないだろうな?
書式は問題ないんだろうな?

問題ないセルの書式をコピペしてみる。
なければ新しくEXCEL開いてコピーしる。

ってか、うpしてみろ

289名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:21:56
>>288
マクロ・書式は問題ないです

新規でエクセルを起動した状態で既にすべてのセルがこのような状態になります

別名保存して他のPCで開けば普通に使えます
290名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:33:00
小数点位置を固定するがオンだからって訳じゃないなあ>>276の通りだとすると
291名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:41:08
Excel・VBAの質問です。
他のBookのセルをVBAで「数値か文字列か」を判定する事はできるのでしょうか。

セルの表示設定→[表示形式]タブ->分類(C)
では”標準”となっているのに、sheet上で見ると左上に緑の
▲がついた、「文字列入力セル」扱いになっているセルがあります。
(入力されているのは数字)
そのセル自体は、F2で入力状態にしてからEnterを押すだけで数値扱いになります。
(このxlsはあるツールで生成されている)

しかし、2002以降のExcelは問題ないのですが、office2000lでは
その矢印が見えないため問題となっています。

VBAで「数値か文字列か」を判定したいのですが、吐き出されるxlsのため
VBAを埋め込むわけにはいきません。
そこで判定用マクロを内包したxlsを作り、チェックする際には対象のxlsと
チェック用のxlsを同時に立ち上げ、対象のxlsのセルをチェックさせようと
しているのですが実現可能でしょうか?
292270:2008/05/29(木) 20:41:39
>>271
ありがとうございます。
=DCOUNTAで計算出来たのですが、その個数表示を同シートには全くせずに
別シートだけに各合計個数を表示したいのですが可能でしょうか?
293名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:41:40
すみません、質問です。
会社ではネットが使えない環境なので、
バージョンがあってるかどうか不安ですが・・・

【1 OSの種類         .】 WindowsXP Professional (自宅はHomeエディション)
【2 Excelのバージョン   】 Excel2003 (自宅は2002 SP3)
【3 VBAが使えるか    .】 いいえ (触ったことはありますが、今回は使用禁止)
【4 VBAでの回答の可否】 否 (使っちゃいけないそうなので。)
【5 検索キーワード     】 ユーザー書式 書式設定

Excelの普通のセルに
ほげー
と入力して
「ほげー」様依頼分
と表示させることは可能でしょうか?

シートのD列にひたすら"「〜」様依頼分"という文字を
書いていかなきゃならないんですが、
初めの"「"がじゃまでコピーして張り付けるのも難しいし、
名前だけ入れたら書式を自動変換してくれるとうれしいのですが
そういうすばらしい機能ってエクセルについてませんか?
294名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:46:50
>>290
できました!どうもありがとうございました
295名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:46:58
>>293
書式を「@"様依頼分"」にする
296名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:50:44
"「"@"」様依頼分"だな
297名無しさん@そうだ選挙にいこう:2008/05/29(木) 20:57:52
>>296
@で入力文字が取れるんですね。
ありがとうございます。
今試してみたらできました。
明日早速実行してみます。
298293:2008/05/29(木) 20:58:26
なまえ入れるの忘れてました。
>>297
ごめんなさい。
299名無しさん@そうだ選挙にいこう:2008/05/29(木) 21:11:20
許されないだろ・・・MS的に考えて・・・
君出入り禁止ね
300名無しさん@そうだ選挙にいこう:2008/05/29(木) 21:18:24
MacOSX上で作成したEXCELファイルを
WindowsXP上のEXCELで読むことはできるのでしょうか
(CSVとかでなく、ブック形式のもの)
301名無しさん@そうだ選挙にいこう:2008/05/29(木) 21:24:51
昔関数だけのブックなら読めたな
けど条件付書式や、VBAが混じってきた場合互換性の程度は知らない
とりあえず日付はずれると聞いたことがある
(1と入力して日付にするとwindowsだと1900/1/1だがmacだと1904/1/1と聞いたことがある)
302名無しさん@そうだ選挙にいこう:2008/05/29(木) 21:32:01
>>291
ヤフーは好きではないが
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1313863058
ちなみに検索ワードは「エクセル vba 文字列 数値 判別」ね
303名無しさん@そうだ選挙にいこう:2008/05/29(木) 23:12:52
>>292
その別シートに=DCOUNTAを書くんだよ
304名無しさん@そうだ選挙にいこう:2008/05/29(木) 23:13:57
>>300
Macで保存するときに「××互換形式」みたいなの選べない?
305名無しさん@そうだ選挙にいこう:2008/05/30(金) 00:05:00
>>301
1904年から計算するオプションで変更だ
306名無しさん@そうだ選挙にいこう:2008/05/30(金) 00:12:04
すみません、どなたかエクセル詳しい方お力を貸してください。
【1 OSの種類         .】 Win2000(ファイルの作成はVISTA機)
【2 Excelのバージョン   】 Excel2007(但し旧エクセルファイルで保存)

ファイルの使用目的は、あるテーブルゲームでの得点集計用です。
プレイヤーが最大10ゲームプレイし、その中で成績の良かった上位4位を集計します。

large関数で10個ある得点セルの中から上位4位を抽出して、それら4位の合計を出しています。
(マイナスの場合は減算したい)

■困っている事■
得点セルの記入は、プレイしたゲーム数によるので必ずしも埋まっているわけではありません。
例えば4ゲームしかやっていないプレイヤーの場合、得点セルは4つしか埋まらない為、残り6セルは0のまま。
(ブランクではなく0になっているのは、この得点セルも計算式で求めている為です)

すると、例えば4ゲームの得点が 200, −50, −100, 50
だった場合、一位から順番に   200, 50, −50, −100
で、上位4位の差し引き合計で【100】になってほしいのですが、

large関数を使って、上位4位を求める範囲の中に0が6セル分あるので

−50と−100は0よりも小さいものとして扱われ

一位からの順番が 200, 50, 0, 0

になって合計得点が【250】になってしまいます。

このような場合で、ゼロはノーカウントにする方法はありませんでしょうか?
どなたかお分かりの方どうかよろしくお願いいたします。
307名無しさん@そうだ選挙にいこう:2008/05/30(金) 00:21:39
作業列を作って=IF(?=0,MIN(?)-1,?)などにしてそっちで計算
本当の0点との区別が付かないけど
308248:2008/05/30(金) 00:28:25
条件付き書式について質問した者ですが、
早速今日試してみました
どうもドラッグでコピーすると形式にかかわらず
ドラッグした範囲全部が指定されてしまうようです
ドラッグしないでコピーすると問題ありません

>>249さん、>>252さんありがとうございました
引き継ぎの関係でVBAはなるべく使わないようにしてるんですが、
VBAのほうが楽かもしれませんね。

309名無しさん@そうだ選挙にいこう:2008/05/30(金) 00:33:27
>>306
未プレイの0点と、ゲームをした結果の得点が0点の区別ができないと、どうしようもない。
まず、集計する前の段階で、得点を計算する部分を修正して、未プレイなら0でなく
空欄になるように計算式を修正すべきだな。
310名無しさん@そうだ選挙にいこう:2008/05/30(金) 00:33:57
>306

>307氏も触れてるが、結果が0点の人と不参加の0点との区別はどうしてるの?
311名無しさん@そうだ選挙にいこう:2008/05/30(金) 05:31:21
条件付書式で、相対参照で、下のような上下の値を調べて、
値の大きい(小さい)方を自動で赤でマークしたりできる?
ググってもイマイチ。


            1番  2番  3番 ・・・
2007年度  30%  60%   90% ・・・
2008年度  40%  20%   50% ・・・


312名無しさん@そうだ選挙にいこう:2008/05/30(金) 07:25:44
>>311
できる
313名無しさん@そうだ選挙にいこう:2008/05/30(金) 07:32:30
>>311
セルが 次の値に 等しい =max(b2:b7)
で書式はテキトーにかえる
b2:b7はテキトーにつけたんで、そっちのシートの範囲にあわせてね
314名無しさん@そうだ選挙にいこう:2008/05/30(金) 07:47:19
>>306
こんな感じでどう?
ttp://www11.axfc.net/uploader/He/so/He_105086.xls
パスは「2」
315300:2008/05/30(金) 09:15:54
みなさん、レスありがとうございます。
316名無しさん@そうだ選挙にいこう:2008/05/30(金) 09:21:03
>>311
書き忘れたけど、小さい方はmin関数で、3つ以上条件があるならRANK関数を使うとよい
317270:2008/05/30(金) 10:07:56
>>303
ありがとうございます。

その書き方が分からないのですが
元になる表がsheet1として、別シートに入れる数式は
=DCOUNTA(Sheet1!A1:B5,,Sheet!C3:D4)
と入れてみましたが、正しい値は得られませんでした。
カッコ内の、 ,,の両サイドは双方元シートでしょうか?
他にも間違っている点があったらおしえて下さい。
318名無しさん@そうだ選挙にいこう:2008/05/30(金) 10:35:52
はじめまして。質問なんですが、リスト作成でできる枠の大きさって変えられませんでしたっけ?
長文でも枠を伸ばして表示させたり、字を大きくしたりできたような気がするんですが・・・
319名無しさん@そうだ選挙にいこう:2008/05/30(金) 10:36:32
>317

キーワード゙貰ったんだからHELPかググるかすれば?
320名無しさん@そうだ選挙にいこう:2008/05/30(金) 10:37:15
>318

枠って何?
321名無しさん@そうだ選挙にいこう:2008/05/30(金) 10:49:49
>>317
単なる入力ミスかもしれないけど
Sheet1がSheetになってるよ
322名無しさん@そうだ選挙にいこう:2008/05/30(金) 11:16:14
>>318
リスト作ったセルの右にできるアイコンをクリックしたときに開く入力候補データが表示される枠です。
323名無しさん@そうだ選挙にいこう:2008/05/30(金) 11:17:07
間違えた。>>320さん宛て。
324名無しさん@そうだ選挙にいこう:2008/05/30(金) 11:20:26
>>322
リストそのものだね
補足はしたものの俺は知らない
325名無しさん@そうだ選挙にいこう:2008/05/30(金) 11:27:30
>322

リストって入力規則のリストのことか。

一応知る限りでいろいろ試してみたがダメでした。
私が知らないだけで出来るかも知れません。気長にお待ちください。
326名無しさん@そうだ選挙にいこう:2008/05/30(金) 11:44:28
327名無しさん@そうだ選挙にいこう:2008/05/30(金) 11:46:05
職場の詳しい人にも聞いたけどダメっぽいんですよね・・・
なーんかできた気がするけどなぁ・・・
枠や字がでかく表示されてるのも見た事あるし。なにより自分で作った気もするし。
解ったかたお願いします。
328名無しさん@そうだ選挙にいこう:2008/05/30(金) 12:49:52
列幅変えるか、エクセルの表示サイズ(メニューバーの何%っての)を変えるか
>>326
329名無しさん@そうだ選挙にいこう:2008/05/30(金) 14:15:24
列幅変えるとレイアウト変わるからダメです・・・
ズームも75よりでかくすると能率悪くなるので×
例えズーム変えても枠の幅広げるっていう根本的な解決にはならないし・・・
参照元の横幅なら変えられるけどリスト枠には反映されないし・・・
単純ながら悩ましいorz
解ったらレスします。お邪魔しました。
330名無しさん@そうだ選挙にいこう:2008/05/30(金) 14:23:53
1、モニターをで買い物に代えて、75%以上でも効率が落ちないようにする。
2.大きく見えるレンズ(老眼鏡ともい)をかけて仕事をする。

ぐらいしかないだろうよ、その条件じゃ。
列幅もズームも変えずに大きくするって…。

まさか、左寄せにして、文字列が右隣のセルまで伸びることを言ってなんかいないよね。
331名無しさん@そうだ選挙にいこう:2008/05/30(金) 14:34:30
>>321
ありがとうございます。

>>319
昨日から解説本や、ネットのテキストを読みつつ同時進行で調べていますが
初心者の上聞く人がいないので、進んではいますが、解答迄行きつきません。何度もすみません。
332名無しさん@そうだ選挙にいこう:2008/05/30(金) 14:59:52
>>326
GJ!
自分も>>322同様リストの幅を広くしたいと思ってたんだが、
参照先のやり方で思い通りになったよ、ありがとう。
ちなみに幅調整のためのダミーリストを削除しても、そのままの幅が保持されるようだ。
しかし、バグだか使用だかわからんけど、なんでも利用できるものだなw
333名無しさん@そうだ選挙にいこう:2008/05/30(金) 17:00:28
質問です。
EXCEL2000でxlsx形式で保存することはできますか?
334名無しさん@そうだ選挙にいこう:2008/05/30(金) 17:10:35
無理です
335311:2008/05/30(金) 19:15:12
>>312 >>313 >>316
thanks!
336名無しさん@そうだ選挙にいこう:2008/05/30(金) 20:34:09
エクセルで作った表をワードにビットマップ形式で貼り付けるときに
一番上と一番左の罫線が薄くなりますね

他の罫線と同じ濃さで表示させるには、他の形式にするしかないですか
337名無しさん@そうだ選挙にいこう:2008/05/30(金) 20:50:09
>>336
うちでいつも使ってる2007だと薄くならないけどなあ。
バージョンはいくつ?
338名無しさん@そうだ選挙にいこう:2008/05/30(金) 21:20:41
>>337
どうも、すみません。
バージョンはよく分かりませんが、自宅の2003と会社の2007両方ともそうなるのです。
ビットマップ以外の形式にすれば、すべて同じ濃さとなります。
339名無しさん@そうだ選挙にいこう:2008/05/30(金) 21:33:05
>>338
2007で試してみた
ttp://uploaders.ddo.jp/upload/1mb/src/1up4580.png

どんな感じになってんの?
340名無しさん@そうだ選挙にいこう:2008/05/30(金) 21:40:59
>>339
すみませんでした。
こちらの説明不足だったのですが
罫線を引いた状態で表を作った場合です
一番上のラインと左端の線が、枠線と同じ薄さになります
341名無しさん@そうだ選挙にいこう:2008/05/30(金) 21:49:47
じゃあとりあえずビットマップ以外の形式にしておく。
ビットマップ貼り付けは文字も図形もガタガタで汚くなるし、あまり積極的に選ぶ理由もないと思うけど、
どうしてもビットマップじゃないとダメ?
342名無しさん@そうだ選挙にいこう:2008/05/30(金) 22:02:50
>>341
他の形式にします。
お忙しいところ、たびたび、ありがとうございました。
343名無しさん@そうだ選挙にいこう:2008/05/30(金) 22:22:24
Excelで押すとマクロの処理が始まるボタンを作ったのですが、
ボタンを押すと即実行ではなく、確認ダイアログを表示して、キャンセルも出来るようにするにはどうしたらよいでしょうか?
344名無しさん@そうだ選挙にいこう:2008/05/30(金) 22:26:10
>>343
そうなるようにコード書けばいいよ
ヒント Msgbox VBYesNo
345343:2008/05/30(金) 22:44:33
>>344
うまくいきました。
346名無しさん@そうだ選挙にいこう:2008/05/31(土) 00:50:35
ブックAのA1セルの式をブックBのA1セルにコピペするとき、ブックAが入らない式で
コピペできませんか?
式の文字数が限度一杯なので、コピー元のブック名がはいると文字数あふれになるので。
347名無しさん@そうだ選挙にいこう:2008/05/31(土) 00:55:36
>>346
単に式をコピーしたいだけなら数式バーの中身をドラッグしてコピー。
ブックAのデータを参照したいなら作業列を作って式を分けるしかない。
348346:2008/05/31(土) 01:04:14
>>347
単に数式をコピーしたいだけなので、数式バーの中身をコピーしてできました。
ありがとう。
349名無しさん@そうだ選挙にいこう:2008/05/31(土) 14:03:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 すこし
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートカレンダー カレンダー


たとえばA1に6月と入力した場合に
A2 1日(日)
A3 2日(月)

などの様に日付を自動で表示させたい場合はどのようにすればよいでしょうか?
350名無しさん@そうだ選挙にいこう:2008/05/31(土) 14:23:57
>>349
例えばA1に6月1日と入力して、オートフィルで下の方へのばしていけば自動的に6月2日、6月3日となるんだけど、それではだめなの?
351名無しさん@そうだ選挙にいこう:2008/05/31(土) 14:54:00
>>349
おまい、VBAは少し使えるなんてうそだろ?w
352名無しさん@そうだ選挙にいこう:2008/05/31(土) 15:06:07
>>351
アンタが思う「少し」の程度が違うだけ
わざわざレスする事でもない
353名無しさん@そうだ選挙にいこう:2008/05/31(土) 16:02:36
>>349
A1に入れたシリアル値を取得して下に一つずらすと1加算される。とか。
354名無しさん@そうだ選挙にいこう:2008/05/31(土) 16:05:43
日付は手入力でいれてくれ そこは妥協だ
曜日はB列に書式で表示可能
それでいいじゃん そうしてくれ
355349:2008/05/31(土) 16:13:23
VBAが勉強始めたばかりなので
ボタンを作って色を付ける・消す デリートする・しない程度しかできないです。すんません・・

たしかに皆さんのおっしゃる通り日付入れるだけなら
月一回の作業だしオートフィルや書式設定で十分できるのですが

以前に>>349に書いたように月を入力しただけで
年度にあったカレンダーが自動で表示される表があったので
やり方が気になったのです。
VBAではなかったように思ったのですが(マクロの確認が常にでるように設定しているが出なかったため)
関数だけでやるのは無理なのでしょうか?
356349:2008/05/31(土) 16:28:07
DATE関数などで出来ました。
どうもです。
357名無しさん@そうだ選挙にいこう:2008/05/31(土) 16:29:30
>>349
日付関数を調べるてみな、
色々有るから君のやりたい事に合った関数がきっと見つかるよ
358名無しさん@そうだ選挙にいこう:2008/05/31(土) 16:38:46
万年カレンダーは作成可能だけど非常に難しい。
ここのメンバーじゃ無理。
359名無しさん@そうだ選挙にいこう:2008/05/31(土) 16:54:58
>>358
作り方はどこにでも書いてあるんだから誰でも作れるんじゃない?
面倒だし何の役にも立たないからやらないけど。
エクセルでカレンダーなんか作って何の意味があるんだろう。
360名無しさん@そうだ選挙にいこう:2008/05/31(土) 16:57:34
>>358 >万年カレンダーは作成可能だけど非常に難しい

カレンダー作成はエクセル入門レベルだぞ
ここのヤツらは、こだわりはきついけど馬鹿じゃない
361名無しさん@そうだ選挙にいこう:2008/05/31(土) 17:02:17
うるう年正確に計算できます?春分・秋分も?
362名無しさん@そうだ選挙にいこう:2008/05/31(土) 17:12:49
>361
それくらいexcelが勝手にやってくれるし。。。
363名無しさん@そうだ選挙にいこう:2008/05/31(土) 17:23:55
>>361
お前、本当はエクセルのコトあんまり知らねぇんだろ
ビボットだけっだてか!
364名無しさん@そうだ選挙にいこう:2008/05/31(土) 17:32:30
祝日やハッピーマンデーも出る関数なんてあったっけか
365名無しさん@そうだ選挙にいこう:2008/05/31(土) 17:48:26
>>363
エクセルはピボットだけ知ってればなんでもできる。
逆にピボットでできないようなことはエクセルに不向きな仕事だよ。
あおりでも釣りでもなく心のそこからそう思ってる。
366名無しさん@そうだ選挙にいこう:2008/05/31(土) 17:53:45
>>364
そこまで関数に頼るなよ、ちょっとの工夫で簡単にできるぞ
>>365
ハイハイ、そうですか
367名無しさん@そうだ選挙にいこう:2008/05/31(土) 17:58:48
>>366
ハイハイで流そうとしているけど実際そうだろ。
本当にExcelが役に立つのはピボットテーブルを使うときだけだ。
他のは遊びと言ったら言い過ぎかな。
368名無しさん@そうだ選挙にいこう:2008/05/31(土) 18:03:53
>>367
( ´,_ゝ`)プッ
1年後自分のレス見てなんとも思わなかったら
成長してないってコトだ
369名無しさん@そうだ選挙にいこう:2008/05/31(土) 18:05:53
>>368
君はExcelをどんなふうに使っているの?
披露してくれないか。
370名無しさん@そうだ選挙にいこう:2008/05/31(土) 18:13:02
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ファイルを開く 2007 / 開かない / 遅い

Excel2007に関連づけられたファイルをクリック(ダブルクリック)しても,
Excel本体が起動するだけで,ファイルが開きません。
もちろん,Excelを起動した後に,当該のファイルを「開く」「ドラッグ&ドロップ」すれば
普通に開きます。

ダブルクリックで Office Excel 2007 のファイルを開くことができない場合がある
http://support.microsoft.com/kb/938381/ja

を見つけましたが,その通りにしても結果は改善させません。
他のサイトを見ても,同様の解決方法だけしか見つかりませんでした。

ちなみに,当該のファイルをクリック → Excel本体だけが起動
したあとで,Excel2007のどこか,Officeボタンや最大化ボタン,
クイックアクセスツールバーのアイコンなどをクリックすると,
思い出したように当該のファイルが開きます。

解決方法がありましたら教えてください。
371名無しさん@そうだ選挙にいこう:2008/05/31(土) 18:39:24
>>369
それじゃ子供のけんかだ。
大人になったら、そん時お話しましょ。
372名無しさん@そうだ選挙にいこう:2008/05/31(土) 18:41:04
>>371
ふふ。うまくかわしたね。
大人の対応だな。
373名無しさん@そうだ選挙にいこう:2008/05/31(土) 18:49:28
> エクセルはピボットだけ知ってればなんでもできる。
とりあえずこれはないな
なんでもってなんだよ、ピボット知ってりゃ関数全部使いこなせるのかと
374名無しさん@そうだ選挙にいこう:2008/05/31(土) 18:51:46
>>372
ひょっとして、悔しいの?
傷ついたのだたらゴメンネ
375名無しさん@そうだ選挙にいこう:2008/05/31(土) 18:52:40
>>373
ははは。まいったな。これは。
376名無しさん@そうだ選挙にいこう:2008/05/31(土) 18:59:11
生半可な知識でピボット厨につっこむのはやめとけよ。あいつら理論派だからな。大火傷することになる。
>>374なんかもう涙目だろ。
377名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:01:36
>あいつら理論派
キミはあれを理論と呼ぶのか?、ただの屁理屈だろ
378名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:01:40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セル 行 列 クリップボード \n

文字列"aa\naa\naa\naa"をクリップボードにコピーして
エクセルにペーストしたところ、
aa
aa
aa
aa
というように改行して貼り付けられました。
これを
aa aa
aa aa
というように、どこかで次の列に移すようにするには
どうすればいいのでしょうか。
\nみたいな、列を移る文字があるのでしょうか。
よろしくお願いします。
379名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:06:34
>>377
それって理屈としては正しいと認める発言じゃん。
どんどん傷口が広がってるぞ。
380名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:09:34
へえそんな機能があったんだと思って試してみたけど、うちじゃそんなふうにならないぞ。
1つのセルに「aa\naa」という文字列がそのまま入る。Excelに\nを貼り付けたら改行って何の機能だろう?

想像で書くと、列の移動は\tとか。
381名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:12:04
>>362
春分の日って勝手に出たっけ?
382名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:17:46
>>380
うお、\tでできました! ありがとうございます!
この機能テキストファイルからコピーでもできると思っていたのですが、
今やってみたらできませんでした。
プログラムでクリップボードに貼り付けたときのみ
\nや\tを読み取ってくれるみたいです。
383名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:20:50
>>382
要するに改行コードを\nで表示するシステムなんでしょ。
384名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:41:39
>>361
>>381
わかってて書いてるのかもしれないけど、春分の日とか秋分の日というのは祝日だからね。
>>362が言及しているのは閏年のことだけだと解釈すべきだよ。常識的に。
385名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:45:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 どういうキーワードで検索したらよいかわかりませんでした。

【質問】
下記のようにデータ(●●は任意のデータ)がある場合に、
各行の一番右側のデータだけをH列に表示させたいのですが、どうしたらいいでしょうか?
1行目ならF列のデータを、2行目ならE列のデータ、3行目ならA列のデータを、
4行目はD列のデータ、5行目はB列のデータを(ryをH列に表示させたいです。

  A列   B列   C列   D列   E列   F列   G列   H列
1 ●●  ●●   ●●  ●●   ●●  ●●
2 ●●  ●●   ●●
3 ●●
4 ●●  ●●   ●●  ●●  
5 ●●  ●●
386名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:46:30
つまり祝日の自動計算にも対応した万年カレンダーは超難しいってことですね
わかりました
387名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:46:49
>>385
間違いがあったので訂正します。

(誤) 2行目ならE列のデータ
(正) 2行目ならC列のデータ
388名無しさん@そうだ選挙にいこう:2008/05/31(土) 19:52:09
>>386
ちょっと違う。難しいのではない。
「祝日の自動計算はできない」が正しい。
389名無しさん@そうだ選挙にいこう:2008/05/31(土) 20:01:06
計算ができなかったらどうやって祝日を決めるの?
来年の○○の祝日は○○月○○日ですって政府が発表するの?
390名無しさん@そうだ選挙にいこう:2008/05/31(土) 20:02:29
>>389
当たり。
391名無しさん@そうだ選挙にいこう:2008/05/31(土) 20:03:35
前年2月第1平日付の官報で発表される。
392名無しさん@そうだ選挙にいこう:2008/05/31(土) 20:04:32
↑春分の日な
393名無しさん@そうだ選挙にいこう:2008/05/31(土) 20:06:41
世間一般の万年カレンダーは春分・秋分は計算して出してるけどね
394名無しさん@そうだ選挙にいこう:2008/05/31(土) 20:53:13
Aセルに型番を入力し、Enterを押すとあるシートもしくは外部のCSVを読み込み
それに合致する商品名・金額・残り在庫をそれぞれB、C、Dセルに表示させたいのですが
可能でしょうか?

同じブックの中にあるシートからならエクセル関数で可能なのですが、データ量が多いため
作成するxls全てがそのシートを持っていることになり、冗長なのでどちらかといえば
csvを参照したいです。
395394(策士):2008/05/31(土) 20:54:57
すみませんVBAの話です。計算式を埋め込むと破壊されかねず、
シートを保護すると色々やっかいなのです。
396394 ◆kQBuZp0h86 :2008/05/31(土) 20:55:47
よけいな駄洒落を思いついたら名前欄がリンクになりませんでした・・・
>>394-395は自分です。
397名無しさん@そうだ選挙にいこう:2008/05/31(土) 20:59:43
万年カレンダーなんかやろうと思えばだれでもできるって。
角田レベルのことは俺でもできる。
398名無しさん@そうだ選挙にいこう:2008/05/31(土) 21:00:05
>>394
不可能ではないけど…

HDDが10MBしかなかった太古の昔ならともかく、
今はデータファイルが冗長だからって理由でCVS選ぶのは得策ではない。
CSVから目的のデータを取り出すためのコーディングの手間の方が大きい。
普通のワークシートにしときなさい。
399名無しさん@そうだ選挙にいこう:2008/05/31(土) 21:02:57
>>382-383
プログラムから貼り付けって、そりゃ当たり前だわ。CかJavaか何かで作ったんだろ。
\nを改行に変換してるのはコンパイラ(厳密にはプリプロセッサ)の仕事だ。
クリップボードにもExcelにもそんな機能はない。
400名無しさん@そうだ選挙にいこう:2008/05/31(土) 21:05:16
>>394
別のブックにあっても参照はふつーに可能
401名無しさん@そうだ選挙にいこう:2008/05/31(土) 21:08:05
>>385
文字数が2文字と決まってるんなら
=LEFT(G1&F1&E1&D1&C1&B1&A1,2)
402385:2008/05/31(土) 21:10:55
>>401
レスありがとうございます!

文字数は2文字とは限りません。
日付データだったり、部署名だったり、個人の名前だったり、色々です。

一番右側のデータだけをまとめる機会がよくあるのですが、いつも
1行1行、目と手入力でやっています。
簡単に出来る方法がないかなと思って質問しました。
403名無しさん@そうだ選挙にいこう:2008/05/31(土) 21:18:04
うまい方法が思いつかないけど
IFで右から順々にデータがあるかどうか調べるくらいかな
404名無しさん@そうだ選挙にいこう:2008/05/31(土) 21:20:08
>>398
その場合、VBAやエクセル関数では目的のブックを
開いておかなくても問題ないのでしょうか。
405名無しさん@そうだ選挙にいこう:2008/05/31(土) 21:28:29
>>402
例えば人事のデータだとして

山田  営業   経理
佐藤  総務
鈴木  製造   品管
後藤  開発   営業  総務
本田  営業

こんなふうに形式を変えるわけにはいかないの?

管理番号 名前 所属
1    山田 営業
2    本田 営業
3    後藤 開発
4    後藤 営業
5    佐藤 総務
6    山田 経理
7    鈴木 製造
8    後藤 総務
9    鈴木 品管
406名無しさん@そうだ選挙にいこう:2008/05/31(土) 21:55:38
>>404
そのとおり。
保存されてるブックの好きなセルからいきなりデータを取り出して関数の中で使える。

=SUM([C:\エクセルフォルダ\ファイル.xls]Sheet2!A1:A10)

みたいに書けばいい。
407404 ◆kQBuZp0h86 :2008/05/31(土) 21:58:22
>>406
すごい!抱いてください!
408385:2008/05/31(土) 21:59:13
>>405
説明が悪くてすみません。

>日付データだったり、部署名だったり、個人の名前だったり、色々です。

というのは、作成を頼まれる資料によって、データが違うという意味です。

なので、
【例1】
処理日(1)  処理日(2)  処理日(3)  処理日(4)   最新処理日
日付A     日付B    日付C             日付Cを表示させたい
日付D     日付E                     日付Eを表示させたい
日付F     日付G    日付H     日付I     日付Iを表示させたい

【例2】
担当者(1)  担当者(2)  担当者(3)  担当者(4)   最新処理日
名前A     名前B                     名前Bを表示させたい
名前C     名前D    名前E     名前F     名前Fを表示させたい
名前G     名前H    名前H     名前I     名前IIを表示させたい


こんな感じです。
409205:2008/05/31(土) 22:00:14
遅くなりましたが、状況を説明しなおして今一度質問します。

目的は、
1・特定のブック(ブックA)のみセルの移動方向を右にしたい。


これを実現するためにブックAに以下のコードを記述。

Private Sub Workbook_Activate()
Application.MoveAfterReturnDirection = xlDown
End Sub

Private Sub Workbook_Deactivate()
Application.MoveAfterReturnDirection = xlToRight
End Sub


これにより目的は達成されたが、今度はコピペできなくなる現象が発生。
よって、
2・ブックAのセル内容を別のブック(数種類ある)に縦横入れ替えでコピペしたい。

1の目的を達成しつつ、2のような不具合の出ないような設定は可能でしょうか?
410名無しさん@そうだ選挙にいこう:2008/05/31(土) 22:00:41
>>408
=INDEX(A1:G1,1,COUNTA(A1:G1))
411名無しさん@そうだ選挙にいこう:2008/05/31(土) 22:04:26
おお 美しい回答だ
412名無しさん@そうだ選挙にいこう:2008/05/31(土) 22:10:35
だが速さが足りない






いや言ってみたかっただけ
413385:2008/05/31(土) 22:11:04
>>410
レスありがとうございます。
しかし、それだと空白セルを選んできてしまいます。
414205:2008/05/31(土) 22:12:06
>>409
すいません、コードの内容が逆になってますので、
逆にして読んでください。
415名無しさん@そうだ選挙にいこう:2008/05/31(土) 22:18:52
>>408
【例1】
処理日(1)  処理日(2)  処理日(3)  処理日(4)   最新処理日
日付A     日付B    日付C             日付Cを表示させたい
日付D     日付E                     日付Eを表示させたい
日付F     日付G    日付H     日付I     日付Iを表示させたい

【例2】
担当者(1)  担当者(2)  担当者(3)  担当者(4)   最新処理日
名前A     名前B                     名前Bを表示させたい
名前C     名前D    名前E     名前F     名前Fを表示させたい
名前G     名前H    名前H     名前I     名前IIを表示させたい

このデータだって行に何らかの意味が本当はあるんじゃないの?
>>405は何も説明を読み違えてるわけじゃないよ。
>>410の回答で満足ならそれでもいいけど。
416名無しさん@そうだ選挙にいこう:2008/05/31(土) 22:21:18
>>413
>>410は1行目、つまりH1に入れる式だよ。1行目には見出しが入ってるみたいだから

2行目なら=INDEX(A2:G2,1,COUNTA(A2:G2))
3行目なら=INDEX(A3:G3,1,COUNTA(A3:G3))

みたいに直さなきゃいけないんだけど、間違えてない?
417385:2008/05/31(土) 22:45:27
>>415
データをダウンロードしたときに、このような形式になっているのです。
処理した日付順、担当者が変更になっていった順に。

>>416
直してやりましたがダメでした。

【例1】
  A列       B列     C列      D列
処理日(1)  処理日(2)  処理日(3)  処理日(4)   最新処理日
1 日付A     日付B    日付C             D1の空白セルを拾ってきた
2 日付D     日付E                     D2の空白セルを拾ってきた
3 日付F     日付G    日付H     日付I     きちんと日付Iを拾ってきた
418名無しさん@そうだ選挙にいこう:2008/05/31(土) 22:47:51
>>415
あんたバカだろ。他人が例まで示してるのに。
419名無しさん@そうだ選挙にいこう:2008/05/31(土) 22:49:02
>>417
試しにD1、C2、D2を選択してDeleteキーを押してみ
420385:2008/05/31(土) 22:50:07
>>416
すみません!できました!
421385:2008/05/31(土) 22:51:32
>>418
わたしの説明が悪かったんです。わたしのために喧嘩はやめてください><

>>419
ビンゴです!できました!
こんな簡単な式でできてしまうなんて!

みなさん本当にありがとございました!
422名無しさん@そうだ選挙にいこう:2008/05/31(土) 22:52:02
>>417
>データをダウンロードしたときに、このような形式になっているのです。
>処理した日付順、担当者が変更になっていった順に。
行には意味がないのか。それなら一行にしてくれたらいいのにね。
不親切なデータだな。
423385:2008/05/31(土) 22:53:45
連投してすみませんがこの式の意味を教えていただけませんか?
VLOOKUPやIF関数ならよく使うのですが・・・INDEX関数と、COUNTA関数は調べて意味も
読んでみましたが、イマイチ意味がわかりませんでした。

=INDEX(A2:G2,1,COUNTA(A2:G2))

         ↑特に、この式のこの1はどういう意味なのでしょうか?
424385:2008/05/31(土) 22:58:50
>>422
社内のシステムがそうなっているのです。

   A列      B列       C列      D列     E列  
  管理番号 アイテムの概要  処理日(1)  処理日(2)  処理日(3)
1 *******            20070616
2 *******
3 *******
4 *******
5 *******
425名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:00:54
>>424
やっぱり行に意味あるんじゃねーか。ちゃんと会話してくれよ。
ともかく解決おめでとう。
426名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:00:58
>>423
普通、データ(セル)の位置ってのはシートの左端からA列、B列、C列、最上段から1行目、2行目、のように
順に数えてくけど、データが増えたり複雑になってくると、場所を表すのがだんだん大変になってくる。

だから、広大なワークシートから一部分だけを切り取って、扱いやすい大きさの表を作るのがINDEX。
最初のA2:G2というのが、この範囲を切り取りますよっていう指定。
で、2番目と3番目の数字は、その小さな表の中だけで数えて上から何番目、左から何番目かを示す。

COUNTAはデータの個数を調べる。だから右端のデータが出てくるってわけ。
427名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:05:33
関数の中の「1」はINDEXで指定した範囲の中の1行目って意味だよ。
428385:2008/05/31(土) 23:09:39
>>425
説明が下手で本当にすみませんでした><

>>426
上の5行の説明は、非常によくわかったのですが、最後の1行の説明がわかりません。

左から何番目かを数えたのに、どうして一番右のデータだけが取り出せるのでしょうか?
データ個数とどう関係があるのでしょうか?

つくづく頭が悪くてすみません・・・

>>427
1「行目」ということなら、>>416

2行目なら=INDEX(A2:G2,1,COUNTA(A2:G2))
3行目なら=INDEX(A3:G3,1,COUNTA(A3:G3)) ←「1」ではなく、「2」にならないといけないのではないでしょうか?



429名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:10:05
平成元年の天皇誕生日はどうなってたんだろう?
昭和天皇は1月に死んでるから、カレンダー業者全員死亡?
430名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:12:43
>>428
左から順にデータが並んでて、
データの数が2個なら2番目が右端になる。
データの数が3個なら3番目が右端になる。
データの数が4個なら4番目が右端になる。

データの数が△個なら△番目が右端になる。
431名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:13:31
つまり、データの数を数えるCOUNTA関数を使えば、右端のデータは何番目かってのが自動的にわかってしまう。
432385:2008/05/31(土) 23:16:00
つまり処女・非処女もわかってしまうと?
433名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:17:54
耳と尻尾があるのが処女、童貞。
ちなみに英語だと童貞も「ヴァージン」だからな。
434385 ◆TqGiKMNe7A :2008/05/31(土) 23:20:32
>>430
COUNTA関数で何個目のデータかを数えたまでは理解できました。
しかし、一番右のを抽出するというコマンドはどこでなされているのでしょうか?
やっぱり「1」の意味がわかりません。

=INDEX(A2:G2,1,COUNTA(A2:G2))

を訳すと、
「A2からG2の範囲内で、データが何個あるか数えたよ」
でも、一番右だけのデータはどうやって取り出したのでしょうか?

>>432
そういういたずらはやめてください><
トリップつけました。
435名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:23:48
>>434
=INDEX(A2
     ↑
この「A2」セルを基準にする、って意味だよ。
ここから数え始めて、上から1番目、左からCOUNTA番目を取り出すのが、ここでのINDEX関数の役目。
436名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:25:41
いいかげん、自力で ぐ ぐ れ
437名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:27:31
理解力なさすぐる。
中卒?
438名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:31:33
関数の入れ子はコンピューターのセンスがないとなかなか理解できないもんだよ。
高校までで習う「関数」ってのは意味的にかなり限定された物だからねえ。
439385 ◆TqGiKMNe7A :2008/05/31(土) 23:33:43
>>435
むむ、だいぶわかってきました。ぼやっとした感じではありますが。

>>436,437
一応国立4大卒です。しかし、理解力なさすぎですね・・・すみません。

>>438
わたしはセンスがないと思います。
関数の説明とか読んでも理解できないことがほとんどないので。
複数の関数の複合とかになるともうわけわかめ。

とにかく、みなさん親切に回答をありがとうございました。
INDEX関数とか使ったことがなかったのですが、使えるようになるとかなりできることが広がりそうですね。
今回のを機に本腰を入れて勉強してみます。
440名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:35:36
それじゃExcelなんてまともに使えないのでは

まあ、右端のデータを取り出すのが作業列も使わずにピボットだけでできるってんなら話は別だけど。
なあ、ピボット厨さんよぉ
441名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:37:19
「できないことがほとんどない」なら、ちゃんと理解できたって意味になると思うんだけど…
442385 ◆TqGiKMNe7A :2008/05/31(土) 23:40:26
>>440
セル操作はテラ早いんですよ。
「どんな操作やってるか見えないw」って言われるくらい。
VLOOKとIF関数はよく使いますが、単純な使い方しかしていません。
関数の入れ子は苦手です。

実際、使って色々試してみるといいんだとは思うんですけど、
関数の説明読んで理解するより操作早い分、チマチマ1個1個手動でやってましたw

>>441
失礼しました・・・

× できないことがほとんどない
○ できたことがほとんどない
443385 ◆YaXMiQltls :2008/05/31(土) 23:45:39
ここまでのレス読んでわかった。

>>385は100%女。かなりの自信家だが自分の力を過信しており
自分では仕事が速く終わり帰っているつもりだがその裏では
先輩社員が尻拭いを行っている。


最近、やけに自分に冷たい先輩いないか?
444名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:49:37
>385

そろそろお引取り願えませんか?
445名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:50:42
>>385
おっぱいうp
446名無しさん@そうだ選挙にいこう:2008/05/31(土) 23:56:02
速いだけでムダが多いと見た。
なんでも力業で解決するタイプ。
447名無しさん@そうだ選挙にいこう:2008/06/01(日) 00:02:01
>>440
そもそも右端の値を取り出すようなはめにならないようにデータを設計するんだよ。
社内のシステムがそうなってるって本当かなあ。
あくまでもレポートの一つがそうなっているだけであって、根本のデータは>>405のようになっている様な気がするけどな。
448名無しさん@そうだ選挙にいこう:2008/06/01(日) 00:09:09
最初はパソコンなんかなくて、紙の上で手作業でやってたんだろうな。
だから、右へ右へと最新のデータを追記するしかなかった。

これをそのままパソコンで再現しようとして四苦八苦。おおかたそんなとこだろう。
449名無しさん@そうだ選挙にいこう:2008/06/01(日) 00:09:27
VBAに手を出すとエクセル関数使いたくなくなるな。

「おーいなんか計算されねーんだけど」

計算式に直接入力したアホのためにワークシートを保護

「おーいフォントサイズ変えらんねーんだけど」

計算をVBAに任せて解決
450名無しさん@そうだ選挙にいこう:2008/06/01(日) 00:12:56
>>449
Excelを使わないのが正解。
451名無しさん@そうだ選挙にいこう:2008/06/01(日) 00:16:43
Application.WorksheetFunctionだらけのVBA…
452名無しさん@そうだ選挙にいこう:2008/06/01(日) 00:18:38
便乗しますけど保護してないセルはフォントサイズも弄れるけど
保護してるセルは弄れないようにするってのは不可能なんでしょうか。

保護のオプションでセルの書式設定にチェック入れると
保護・非保護両方の書式が弄れてしまうんです。
453名無しさん@そうだ選挙にいこう:2008/06/01(日) 01:00:34
=INDEX(A2:G2,1,COUNTA(A2:G2))
これは単一行なので普通は
=INDEX(A2:G2,COUNTA(A2:G2))
と引数は1個にする。
単一列でも同じ。
454名無しさん@そうだ選挙にいこう:2008/06/01(日) 01:39:10
>>453
ふざけろ
455名無しさん@そうだ選挙にいこう:2008/06/01(日) 07:20:36
>>454
あんたヴァカ?
456名無しさん@そうだ選挙にいこう:2008/06/01(日) 08:43:08
>>452
ロックされたセル範囲の選択をオフにして、セルの書式設定をONでは。
457名無しさん@そうだ選挙にいこう:2008/06/01(日) 10:01:29
>>349
年も入れるべき。
B1に「2008」と追加させていただくぜ。書式設定は「0"年"」
そしてA1に「6」だけいれて書式設定は「0"月"」
A2に=DATE(B1,A1,1)書式設定は「d"日""("aaa")"」
A3に=A2+1を入れた後、下までオートフィル
A30は=IF(DAY(A29+1)=29,A29+1,"")
A31は=IF(DAY(A29+2)=30,A29+2,"")
A32は=IF(DAY(A29+3)=31,A29+3,"")
>>410
ifネストは確か7段階までだからギリギリ足りるなー(ニヤニヤ
と思っていた自分が恥ずかしい。しかしよく思いつくな
458名無しさん@そうだ選挙にいこう:2008/06/01(日) 10:09:53
>>455
>>454は=INDEX(A2:G2,COUNTA(A2:G2))の式には同意してるんじゃない?
一つの行や列なら、わざわざ行番号や列番号の1を書くやつは滅多にいないからね。
引数は1個じゃなくて2個だから「ふざけろ」と書いたんだろう。
459名無しさん@そうだ選挙にいこう:2008/06/01(日) 10:13:26
>>457
d"日("aaa")"
460名無しさん@そうだ選挙にいこう:2008/06/01(日) 10:20:10
>>459
d"日"(aaa)
461名無しさん@そうだ選挙にいこう:2008/06/01(日) 12:58:14
休み時間ヒマだったので、上司のパソコンに

「うんゆ」→「運輪」
「こくどこうつうしょう」→「国土文通省」
「せんじつは」→「先曰は」
「けっさん」→「抉算」
「ねんどまつ」→「年度未」
「しゃちょう」→「杜長」
「おくえん」→「憶円」

などを辞書登録しておいた。
どうやらまだバレていないようだ。
無知な方が幸せってこともあるなぁ
462名無しさん@そうだ選挙にいこう:2008/06/01(日) 13:02:37
これも間違いですか?

100 Let Cells("1", "a").Value = "hoge"
463名無しさん@そうだ選挙にいこう:2008/06/01(日) 13:14:24
またアホがコテ化して居座る予感
464名無しさん@そうだ選挙にいこう:2008/06/01(日) 13:21:59
普通の事務では間違いではない
が商用のプログラムやとても重いものを作るときに余計なものを書いて更に重くすることは
誤動作・相対的なスペック不足を起こさせてしまうのでそういう場合は「間違い」の範疇に入るとは思っている
465名無しさん@そうだ選挙にいこう:2008/06/01(日) 13:59:28
>>461
そうか、それでか。おまえ、ちっちゃなこだな。
466名無しさん@そうだ選挙にいこう:2008/06/01(日) 14:10:33
>>465
それ、コピペだぞ
467名無しさん@そうだ選挙にいこう:2008/06/01(日) 14:32:43
それもコピペだぞ
468名無しさん@そうだ選挙にいこう:2008/06/01(日) 15:29:07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 複数の条件に合うデータ まとめて呼び出す

日付|店 名|商 品|価 格|数
04/01|A店|010051|\1,000|10
04/01|B店|185325|\1,500|2
04/01|A店|220424|\1,200|5
04/12|B店|445876|\1,100|4
04/15|C店|048423|\1,800|3
04/15|C店|145862| \500|4
  ・   ・     ・     ・  ・
  ・   ・     ・     ・  ・
  ・   ・     ・     ・  ・
上記のような基礎データシートから個別のデータを別のシート上に呼び出し、別の処理をしたいのですが、
別処理用のシートにおいて、基礎データシートに存在する日付と店名を選択肢として持ったリストを自動生成し、
それを選択することで目的のデータ(商品・価格・数)をまとめて呼び出すにはどのような仕組みにしたらよいのでしょうか?
呼び出し欄は以下のような感じにしたいと思っています。

日付|店 名|商 品|価 格|数
  ▼|  ▼|    |    |

よろしくお願いします。
469名無しさん@そうだ選挙にいこう:2008/06/01(日) 15:36:36
>468

INDEX/MATCH/AND
470名無しさん@そうだ選挙にいこう:2008/06/01(日) 15:39:26
>>468
週に一回ぐらいの作成ならピボットテーブル。
逐一変化するリストを何度も出したい・・というようなのならオートフィルタかな?
両方使ってみればいいと思う
471468:2008/06/01(日) 15:39:33
連書きすみません、補足です。
呼び出すデータは一度に1行とは限らず、呼び出し欄で指定した条件に合致する場合は、
複数行を全て並べて呼び出したいこともあります。
例えば>>468の日付04/15は2行ともC店ですが、日付04/15・店名C店と選択した場合は、
以下のように2行とも並べて呼び出すようにしたいと思っています。

 日 付|店 名|商 品|価 格|数
04/15▼|C店▼|048423|\1,800|3
           |145862| \500|4

よろしくお願いします。
472名無しさん@そうだ選挙にいこう:2008/06/01(日) 15:46:21
オートフィルタを二列に設定すればok
473468:2008/06/01(日) 15:47:03
>>469-470
即レスありがとうございます。
>>469
すみません、もう少し詳しく説明していただけるとありがたいのですが・・・
>>470
別処理作業の頻度としてはほぼ毎日で、増える要素としてはその日の日付と商品・価格・数量の個別データです。(店名はたまに追加される程度)
ただし、毎日追加される個別データは、同一日・同一店で1〜数十までかなり変化します。
474名無しさん@そうだ選挙にいこう:2008/06/01(日) 16:04:44
>>473
とにかくオートフィルタかピボットテーブルだね。
>>470は週に一回とか書いてるけど別に毎日だろうが1時間ごとだろうが
そんなに面倒でもないよ。

やってみた?どうだった?
475468:2008/06/01(日) 16:11:05
>>474
とりあえずオートフィルタだけはやってみました。
条件に合うデータが絞り込まれるのは判りましたが、それを別のシートに書き出す方法がわかりません・・・
というか、条件を絞り込むリストは別のシート上に設けたいので・・・
オートフィルタの設定とかをいじって試行錯誤中です。
476名無しさん@そうだ選挙にいこう:2008/06/01(日) 16:15:27
シートごとコピーしてからオートフィルタ
477名無しさん@そうだ選挙にいこう:2008/06/01(日) 16:19:19
>>475
ピボットテーブルで日付別,店舗別に集計した後で、集計値をダブルクリックしてみるんだ。
478468:2008/06/01(日) 16:29:52
>>476
つまりこういうことでしょうか?
基礎データシート(シート1とする)にはなにも仕掛けを設けず、ひたすらデータを入力しておくのみ。
別処理用シート(シート2とする)は、基礎データに対応する各セルに常にシート1の値を反映させる(=シート1!C2等)ようにしておき、
シート2の日付と店名欄にオートフィルタを設定する。
もしこれでしたらなんとなくいけそうな気がしてきましたが、
問題はシート2には別処理用の計算式があり、処理対象としないデータまで書き写されていると、
余計なデータまで拾って処理してしまいそうな気がするのですが・・・

>>477
ピボットテーブルは少し前から挑戦してるんですが、どうもとっつきにくくて・・・
余裕があれば取り組んでみます。
479名無しさん@そうだ選挙にいこう:2008/06/01(日) 16:37:18
>>478
シート1をコピーして新しいシートを作るんだ
シート見出しを右クリックしてコピーするといい
シート見出しをctrl押しながらドラッグしても簡単にコピーできる

わからなかったら↓
メニューの編集→シートの移動またはコピー→移動先は同じファイル名、挿入先は好きなところでコピーを作成するにチェックしてok

べつにこんなことしなくても、シート1にそのままオートフィルタかけてしまってもいいと思うけど
480名無しさん@そうだ選挙にいこう:2008/06/01(日) 16:51:54
そういうのはAccessを使うべきだと思うんだけどねえ…
481468:2008/06/01(日) 16:53:55
>>479
シートをコピーする方法はさすがにわかります^^;;
ちょっと誤解されてるような気もしますが、処理は一度きりではなく、毎日繰り返しです。
そのたびにシートをコピーしてフィルタをかけるということではなく、
基礎データ用のシートと別処理用のシートは常にそのままで、
基礎データが増えるたびに別シートで処理をしたいと思っています。

基礎データと別処理を同じシート上で行ってもよいのですが、それを分けたい理由は、
基礎データだけでも、別処理用のシートだけでもモニタの画面がいっぱいになってしまうし、基礎データは何千行にもなってしまうので、
スクロールではなくタブの切り替えで基礎データ入力と別処理作業とを切り替えたい事と、
ある特定の日付・店舗のデータだけを別処理対象にしたいので、
一連で並んでいる基礎データの中から、条件選択によって目的のデータをダイレクトに処理対象にするやり方がわからなかったので、
それなら別処理用のシートを用意しておき、基礎データから対象となるデータのみを呼び出せばいいだろうと考えたからでした。
482名無しさん@そうだ選挙にいこう:2008/06/01(日) 17:19:36
>>480
同じく。でも無いんだろう
>>481
やはりオートフィルタしか思いつかない
シートはやりやすいところならどこでもいいと思う
あとVBA覚えた方が結果的に楽だと思うぞ
483468:2008/06/01(日) 17:25:24
>>482
ACCESSはないですし、入手見込みもありません・・・
今試しに>>478の方法で別処理をかけてみましたが、
フィルタリングしても見栄えとしてデータが絞り込まれるだけで、
やはり条件外のデータを処理対象から外すことはできないようです。
条件に合う行だけをずら〜っと抜き出すいい方法はないものでしょうか・・・
あと、VBAもゆくゆくはと思っていますが、何しろ余裕がなく・・・
484名無しさん@そうだ選挙にいこう:2008/06/01(日) 17:48:18
コピーしたら?
485名無しさん@そうだ選挙にいこう:2008/06/01(日) 17:56:40
基礎データに連番を振っておく
基礎データにフィルタをかける
フィルタ後の連番をコピーして別処理用のシートに貼り付け
別処理用のシートには抽出した連番を元にVLOOKUPで必要な項目を参照する式をつくっておく

完璧だな
486名無しさん@そうだ選挙にいこう:2008/06/01(日) 18:09:35
Sheet1のA列とB列に名前定義
Sheet2にクライテリアを作る
重複は削除できないけど、クライテリアは入力規則で名前定義した範囲を設定
フィルタオプションでSheet2に書き出し

で、いいんじゃない?
487名無しさん@そうだ選挙にいこう:2008/06/01(日) 18:22:35
>>485
いい方法だなと思いましたが、「フィルタ後の連番をコピーして別処理用のシートに貼り付け」
という部分が引っかかります。
エクセルに慣れてない者も作業することがあるので、基礎データの入力と処理対象呼び出し以外、
コピペなどの作業はできるだけ省きたいところです。(操作や対象範囲を間違えるおそれがあるので)
理想はやはり日付・店名の選択のみで一発呼び出しなのですが・・・

>>486
なんとなくいけそうな感じがしないでもないですが、「クライテリア」が判りませんので、後で調べて確かめてみます。
488名無しさん@そうだ選挙にいこう:2008/06/01(日) 18:34:23
んー、それじゃ日付・店名を連結した検索キーを基礎データにつくる
別処理用のシートには検索キーに一致する行の項目をVLOOKUPで参照する式をつくっておく

これでどうよ。検索キーは重複がないことが条件だ。
489468:2008/06/01(日) 18:50:56
>>488
ありがとうございます。
今はちょっと時間がなくなってしまったのと、検索キーが判らないので、後で調べてやってみます。
結果はまた夜か明日にでも報告します。
490名無しさん@そうだ選挙にいこう:2008/06/01(日) 19:03:34
>>489
オートフィルタの結果はAlt+ ; →Ctrl+Cでコピーできるから、
これを別シートにCtrl+Vで貼り付けて処理したら?

とりあえず「マクロの記録」で、手作業でやってる操作の手順を記録して、
あとから自動で再現できるようにしとくだけでもだいぶ楽になると思うぞ。
491名無しさん@そうだ選挙にいこう:2008/06/01(日) 19:18:31
>>481
よくわからないなあ。
モニタの画面がいっぱいになる
基礎データが何千行にもなる
ある特定のデータだけを処理対象にしたい

どれも別シートを用意しなければならない理由になってない。基礎データだけのシートをオートフィルタで操作するのが単純でいいよ。
492名無しさん@そうだ選挙にいこう:2008/06/01(日) 19:55:31
>>468
>>486が書いてるようにフィルタオプションの設定を使え。
オートフィルタは使うんじゃねーぞ。
493名無しさん@そうだ選挙にいこう:2008/06/01(日) 22:10:35
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セルの書式設定 ユーザー定義

セルに「16」と数字を入力したら、自動で「16件」となるように設定したいのですが、
セルの書式設定のユーザー定義で「@"件"」と設定したところ、
セルには「16件」と表示はされるものの、エラーマークが出て、
「数値が文字列として変換されています」となってしまいます。

設定方法を教えてください。
494名無しさん@そうだ選挙にいこう:2008/06/01(日) 22:13:03
>>493
0"件"
495名無しさん@そうだ選挙にいこう:2008/06/01(日) 22:18:11
>>494
@ではなかったんですね
できました、ありがとう!
496名無しさん@そうだ選挙にいこう:2008/06/01(日) 22:33:31
Excelで需要曲線って描ける?
497468:2008/06/01(日) 22:36:19
いろいろ調べてみたのですが、>>486の「クライテリアの作り方」が判らず、実証までたどり着いていません。
そこで>>488の検索キー方式を試してみました。
検索キーの重複がNGとのことなので、同一日付・同一店名で複数のデータが存在するケースのために
同一日付・同一店名のデータに各行整理番号を付し、日付・店名・整理番号を連結した検索キーの項目を設けました。

基礎データ
日付|店名|整理番号|検索キー|商 品|価 格|数量
4/01|A  |1     |0401A1 |010051|\1,000|10
4/01|A  |2     |0401A2 |185325|\1,500|2
4/01|A  |3     |0401A3 |220424|\1,200|5
4/05|B  |1     |0405B1 |458564| \600|1
4/05|B  |2     |0405B2 |145753| \850|8
4/05|C  |1     |0408C1 |854620|\1,420|3
4/12|B  |1     |0412B1 |445876|\1,100|4
4/15|C  |1     |0415C1 |048423|\1,800|3
4/15|C  |2     |0415C2 |145862| \500|4

下記の別処理用シートの呼び出し欄の商品・価格・数量の欄には、
=VLOOKUP($D18,$D$3:$G$11,2,FALSE)と仕込み(別処理用シート名は省略)、
これに日付・店名を入力(整理番号はあらかじめ書き込んでおく)すると、下記のような結果になり、ほぼ求めている内容となりました。

処理シートの呼び出し欄
日付|店名|整理番号|検索キー|商 品|価 格|数量
4/05|B  |1     |0405B1 |010051|\1,000|10
↑ここを↑ |2     |0405B2 |185325|\1,500|2
 手入力  |3     |0405B3 |#N/A |#N/A |#N/A
       |4     |0405B4 |#N/A |#N/A |#N/A
       |5     |0405B5 |#N/A |#N/A |#N/A

あとは、処理対象となる日付・店名の入力指定リストを、基礎データに存在する日付・店名の中から
重複日付・重複店名を省いて自動生成できればほぼ完成なのですが、どうしたらよいのでしょうか・・・。
498名無しさん@そうだ選挙にいこう:2008/06/01(日) 22:41:44
>>496
価格と需要の関係さえ定義してやれば描ける。
499497:2008/06/01(日) 22:41:55
あぁなんか、、慌てて書き込んだので
>>497の基礎データと処理シート呼び出し欄のデータが整合していませんが、
結果はちゃんと整合していました。すみません・・・。
500名無しさん@そうだ選挙にいこう:2008/06/01(日) 22:54:15
>>497
結局最終的には何を求めたいの?
店舗別日付別の売上とかいう落ちじゃないだろうな。
501486:2008/06/01(日) 22:59:14
>>497
ああ、すまん、フィルタオプションではクライテリアじゃなくて、
検索条件範囲って言うみたいだね

いっその事、入力規則の重複のないリストも
フィルタオプションで別シートに作っちまうって手もあるけど
502名無しさん@そうだ選挙にいこう:2008/06/01(日) 23:32:28
>>498
関数のグラフ化ってエクセルでできたっけ?
503名無しさん@そうだ選挙にいこう:2008/06/01(日) 23:35:53
>>502
本気で言ってるのか。
それとも「関数を定義するだけではグラフを描けませんよーだ。バーカ。」という釣りですか。
504名無しさん@そうだ選挙にいこう:2008/06/01(日) 23:38:03
>>500
それならピボットテーブルでいっぱつだけど、まさかねえ
505名無しさん@そうだ選挙にいこう:2008/06/01(日) 23:38:55
>>503
本気だけど・・・?
0.0001単位でPとXの関係作って作図するのか?
正直エクセルにそんな機能を求めたことはないので・・・。
506名無しさん@そうだ選挙にいこう:2008/06/01(日) 23:40:42
>>504
そのまさかではないかとだんだん思ってきた。
このあたりで。

>>497
>あとは、処理対象となる日付・店名の入力指定リストを、基礎データに存在する日付・店名の中から
>重複日付・重複店名を省いて自動生成できればほぼ完成なのですが、どうしたらよいのでしょうか・・・。
507名無しさん@そうだ選挙にいこう:2008/06/01(日) 23:44:51
>>505
なんだその0.0001単位って。
座標データにしてしまえばグラフにできるよ。
508名無しさん@そうだ選挙にいこう:2008/06/01(日) 23:46:52
>>507
P X
0 700
0.0001(てかできるだけ小さい数) 699
0.0002 698
とかこんなの。
509名無しさん@そうだ選挙にいこう:2008/06/01(日) 23:54:23
>>508
折れ線でも、棒でも散布図でも好きに描いたらいいじゃない。
510名無しさん@そうだ選挙にいこう:2008/06/01(日) 23:57:03
>>508
数字が小さいか大きいかなんてあくまでも相対的にしか決められないんだよ。
0.0001が小さいとか勝手に決めたら先生に注意されるぞ。
511468:2008/06/01(日) 23:58:18
>>501
なるほど、わかりました。
ただ、フィルタオプションはいろいろいじってみたのですが、うまく設定ができず、
ご指示いただいた方法を突っ込んで試すことができていません。

>>506
例示した内容はやろうとしていることをあくまで単純に模式化しただけのもので、
実際の内容は全然違い、詳細なパラメータが並ぶデータを整理・解析するというものです。
店舗別日付別の売上をまとめたいというような単純な話ではさすがにありませんよ。
512名無しさん@そうだ選挙にいこう:2008/06/02(月) 00:02:25
>>511
うまくもなにも、重複するレコードを無視するにチェックいれるだけだけど
513名無しさん@そうだ選挙にいこう:2008/06/02(月) 00:05:07
>>511
要するに基礎データから店舗別日付別の明細データを別シートに取り出したいんじゃないの?
514名無しさん@そうだ選挙にいこう:2008/06/02(月) 00:32:14
>>511
>例示した内容はやろうとしていることをあくまで単純に模式化しただけのもので、
>実際の内容は全然違い、詳細なパラメータが並ぶデータを整理・解析するというものです。

ここをちゃんと説明したらもっと適切な回答をもらえるかもしれないよ。
515486:2008/06/02(月) 00:36:47
>>511
>フィルタオプションはいろいろいじってみたのですが、うまく設定ができず、…

そういう人のためにヘルプがあるんだけど
516名無しさん@そうだ選挙にいこう:2008/06/02(月) 01:12:19
なんでここにいるやつらってのは、なんでも質問者を自分の土俵に引きずりこんで話をしようとするかね。
わからなくて聞いてきてるんだから、質問者が欲してる答えだけを素直に教えてやればよくないか?
質問者のスキルにしたって千差万別、知ってることも知らないことも、できることもできないこともあるし、
言葉足らずの一行レスで推し量れなんて無理。
解決策のひとつも提示せずに、最終的になにがしたいの?なんて、どうでもいいだろう。

>>497
日付のデータがA2:A10にあるものとして、B列およびC列に以下の作業列を挿入する。
まずB2に、
=IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(B$1:B1)+1,""))
を入力し、C2に、
=IF(ROW(A1)>MAX(B:B),"",INDEX(A:A,MATCH(ROW(A1),B:B,0)))
を入力、そしてB2とC2を必要な行数までドラッグ。
するとC列に重複した日付を除いたデータが生成される。
このC列の範囲に名前(「日付」等)を定義し、
処理用シートの入力欄のリストが参照する範囲(入力規則の条件設定の元の値)を定義した名前にする。
これで重複データを省いたリストが作成できる。
店名についても同様。
見栄え上作業列が邪魔なら非表示にすればよい。
517名無しさん@そうだ選挙にいこう:2008/06/02(月) 01:33:12
言われたことしかやらないからゆとりって言われちゃうんだよ
518名無しさん@そうだ選挙にいこう:2008/06/02(月) 01:36:47
言われたことが出来ない人間を三流。
言われたことが出来てようやく二流。
お前らはいつになったら一流になるんだ?
519名無しさん@そうだ選挙にいこう:2008/06/02(月) 01:37:39
>>516
ださい回答だが、質問者は飛びついて大喜びしそうだな。
似たもの同士というところか。
520名無しさん@そうだ選挙にいこう:2008/06/02(月) 01:40:06
>>518を訂正
言われたことしかできない人間を三流。
言われたことを上手にできる人間で二流。

だめだな、もうあいまいになってるよorz
521名無しさん@そうだ選挙にいこう:2008/06/02(月) 01:47:25
モニタの画面がいっぱいになる
基礎データが何千行にもなる
ある特定のデータだけを処理対象にしたい
詳細なパラメータが並ぶデータを整理・解析する

どれひとつとして別シートにデータを並べる理由になっていないと思わないか?
522名無しさん@そうだ選挙にいこう:2008/06/02(月) 02:20:53
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 検索場所

VBAとか全然関係ないんでこのスレであってるか不安なんですけど
検索するときにデフォルトだとシートを対象に検索しますけど、
常にブックを検索するようにできますか?
523名無しさん@そうだ選挙にいこう:2008/06/02(月) 02:31:15
>>519
そういう事はもっとカッコいい回答をビシッと示してやってから言ってくれよ
>>521
なんでお前はそこにこだわる?
そうまでしての揚げ足とりたいのか?
分けたいって言ってんだから別にいいじゃん、お前にめんどくさい仕事押し付けるわけじゃないんだし
524名無しさん@そうだ選挙にいこう:2008/06/02(月) 02:36:15
>>522
デフォルトの設定は変更できないので
マクロを作ってボタンかショーカットに割り付け
525名無しさん@そうだ選挙にいこう:2008/06/02(月) 04:10:22
>>511
エクセルに不慣れな者が操作する事もあるって前にレスしてるけど
別シートに抽出したデータをエクセルに不慣れな人が具体的にどのように整理・解析するんですか?
526名無しさん@そうだ選挙にいこう:2008/06/02(月) 07:03:11
>>523
与えられた条件だけからだとシートを分けないのが一番かっこいい解決方法だろ。
別シートに分けるのだってコピペの方がスマート。
527名無しさん@そうだ選挙にいこう:2008/06/02(月) 07:24:56
>>515がフィルタオプションがうまく設定できなかったってのは、別シートに抽出できなかったってことだろ?
抽出先のシート上でフィルタオプションの操作を始めればうまくいくよ。
オートフィルタからコピペはやるなよ。
全然スマートじゃねーからな。
528名無しさん@そうだ選挙にいこう:2008/06/02(月) 07:52:48
>>516
結果をソートすることもできる?
529名無しさん@そうだ選挙にいこう:2008/06/02(月) 07:59:47
>>527
フィルタオプションで日付をユニークにしたら失われる情報があると思うけど。
530名無しさん@そうだ選挙にいこう:2008/06/02(月) 08:43:56
>>529
店名と日付が合致したデータを別シートに抽出するんじゃないの?
ユニークとか関係ないだろ?
531名無しさん@そうだ選挙にいこう:2008/06/02(月) 09:02:44
>>525-526
朝っぱらからあら探しに必死だなw
お前らは想像力が欠如してるよ
>>511がボタン一発にこだわってるところからして、
行った先にはすでに計算式やら表やらが用意されてて、
手を加える必要はほとんどないんだろ
あとはそれを眺めて何か考えたり、
また違う何か他の作業に役立てるってところじゃないのか?
世の中はエクセルの中だけで完結してるわけではないんだよ?w
自分に見えるものだけが世の中の全てと思うなよ井の中の蛙
>>526
だからそういうのを自分の土俵に引っ張り込むって言ってんだよ
質問者はそれを望んでないだろ?むしろ分けたがってる
分けたい理由なんてどうでもいいんだよ、
>>481でスクロールをしたくないって言ってる、それで充分だ
お前の言う“スマートな方法”を無視されたって事がそんなに悔しいのか?
別にいいだろ、スマートじゃない方法でやれって作業をお前に押し付けてるわけじゃないんだから
あら探しするんだったら、質問者が望む土俵の上で一番スマートな方法を提示してからにしとけ
>>528
今までソートする必要に迫られなかったから知らない
自分が知ってたやり方を提示したまでだ
これで用が足りなかったらまたなんか聞いてくるだろ
532名無しさん@そうだ選挙にいこう:2008/06/02(月) 09:35:27
A,B,Cのシートがあった場合、Aのシートを選択中にマクロを実行した場合は
BとCのシートのA1に「ぬるぽ」、同様にBを選択中に実行した場合はAとCに
Cを選択中に実行した場合はAとBに…と、選択シート以外を弄りたいです。

もちろん名前とシート数が固定なら指定できますし
シート名の取得・シート数のカウントができるのもわかります。
ですがそれをどう組み合わせたらいいのかがわかりません…
配列にするにしても現在のワークシートの番号なんてものはないですよね?
533名無しさん@そうだ選挙にいこう:2008/06/02(月) 09:50:27
>>532
ワークシートを全部回せばいいんじゃない?
シートの番号とか使うのはスマートじゃないからやめとけ。

Dim sh As Worksheet
Dim ws As Worksheet
Set sh = ActiveSheet
For Each ws In Worksheets
  If Not sh Is ws Then
    ws.Range("A1").Value = "ぬるぽ"
  End If
Next

FillAcrossSheetsで全部のシートに書き込んでだあとでActiveSheetのA1だけ消すのもありかな?
534名無しさん@そうだ選挙にいこう:2008/06/02(月) 10:06:50
不細工に書くとこんなかな?
Dim i As Long, j As Long
j = ActiveSheet.Index
For i = 1 To Worksheets.Count
  If i <> j Then
    Worksheets(i).Range("A1").Value = "ぬるぽ"
  End If
Next
535名無しさん@そうだ選挙にいこう:2008/06/02(月) 14:02:52
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 揃える


1つの行に11900とか29010とかあって、後ろ三桁を全部800にしたい。
末尾が800より上だったら、切り上げて揃えたい。


11900の場合→12800
29010の場合→29800

よろしくお願いします。
536名無しさん@そうだ選挙にいこう:2008/06/02(月) 14:19:45
>535

MOD
537536:2008/06/02(月) 14:39:35
>535

MODよりINTのが楽だわ。
訂正しとく。
538名無しさん@そうだ選挙にいこう:2008/06/02(月) 14:50:49
>>535
=ROUND(対象数値-301,-3)+800
539名無しさん@そうだ選挙にいこう:2008/06/02(月) 17:12:38
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 日付 Sheet別

日付を一気に6月1日から6月30日までSheet別に載せる方法を教えてください。
例えば、Sheet1のあるセルに2008年6月1日、Sheet2の同じセルに2008年6月2日、
Sheet3の同じセルに2008年6月3日・・・と、6月30日まで一気に打ち込むやり方を教えてください。
540名無しさん@そうだ選挙にいこう:2008/06/02(月) 18:16:26
>>532-534
RANGE("A1").value="ガッ"
541名無しさん@そうだ選挙にいこう:2008/06/02(月) 19:32:18
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 vlookup 空白 範囲

vlookupで範囲指定するときに空白があるところまで
自動で範囲指定してくる関数か方法があった気がするのですが
忘れてしまったので教えてください。
よろしくお願いします。
542名無しさん@そうだ選挙にいこう:2008/06/02(月) 20:18:42
>>539
VBAか手入力。
543名無しさん@そうだ選挙にいこう:2008/06/02(月) 20:40:35
仕事から帰ってきて読んでみたら>>531がめちゃめちゃキレててびっくりした。
そんなに怒らせるようなこと言ったかなあ?

ところで>>539は最終的に何がやりたいの?
例えば毎日何かを記録してその日の合計を出したいのかな?
544名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:05:47
質問に端的に答えるってのも一つの方法だけど
質問者の真意を汲み取ろうとする努力を否定するような事でも無いと思うな。

「たかがExcelの質問スレでそこまで親切にする必要無い。適当に答えとけばいいだろ、面倒くせーんだよ」
という意見なら分からないでもないが。
545名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:22:01
>>539
sheet2以下は前のシートの日付+1になる式を入れる
546名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:23:11
547名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:23:18
548名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:23:35
549名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:23:39
541
550名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:23:49
555
551名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:24:04
552名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:31:30
>>541
Shift + Ctrl + スペース
あるいは
Ctrl + End
あたりの応かなあ。
553名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:35:50
誰も回答者全員に必要以上に親切にしろと言ってるわけじゃないから、
面倒なら口を出さなければいいだけじゃない?
おせっかいな人は個人の意志で勝手にやってるだけなんでしょ?

回答もせずに他人のやりとりに横から口をはさんでケチつけるだけのレスのが
よっぽど邪魔だと思う。
554名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:36:51
555名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:39:13
>>539
そもそも1シート=1日という設計はどうなのよ?

とか言うとまた「質問だけに答えてりゃいいんだよ」と怒り出す人が出てくるんだろうな・・・
556名無しさん@そうだ選挙にいこう:2008/06/02(月) 21:43:45
>>539
マクロの記録。
ちなみにページ(シート)の切り替えはCtrl+PageUp/PageDown。
あとはカットアンドペーストとマクロの登録で、キーボードかマウス連打で次々と日付が入るようになる。

本当に一気にやりたいならVBA。
557名無しさん@そうだ選挙にいこう:2008/06/02(月) 22:42:51
教えてください。

【1 OSの種類         .】 WindowsXP,vista
【2 Excelのバージョン   】 Excel2000,2003,2007
【3 VBAが使えるか    .】 使えなくもない程度
【4 VBAでの回答の可否】 可(望む)
【5 検索キーワード     】 codename excel sheets

あらかじめ、string型変数に設定されている、
ワークシートのオブジェクト名を使用して、
ワークシートにアクセスしたいのですが、どうすればよいか御存知の方、どうかお教えください。

オブジェクト名:sheet1、
シート名:sheet1name
シートIndex:1、
というワークシートがあった場合、
sheet1.range("a1).value = 100
sheets(1).range("a1").value = 100
sheets("sheet1name").range("a1").value = 100
の操作の結果は、全て同じものになると思うのですが、
これと同じことを、
sheet1.codename
によって得られる文字列を用いて行いたいと思っています。
可能でしょうか?
可能でしたら方法をご教授ください。
558名無しさん@そうだ選挙にいこう:2008/06/02(月) 22:54:43
Excel2003

水泳のタイムを表にしたいのですが
1:23.45 など、分があるときは問題ありません。
しかし、分がないとき 12.34 と表示させたいのですが
0:12.34 と表示されてしまいます。

?":"00"."00 で表示形式を設定したところ、頭の0は
表示されずにうまくいったのですが、 :  が表示されてしまいます。
どう設定すれば表示されなくなるのでしょうか。
お力をお貸しいただきたいと思います。
559名無しさん@そうだ選挙にいこう:2008/06/02(月) 23:13:18
>そもそも1シート=1日という設計はどうなのよ?

>とか言うとまた「質問だけに答えてりゃいいんだよ」と怒り出す人が出てくるんだろうな・・・

禿同。
やたらにBook重くしてるような気がする。
各シートにそれだけ必要なデータなり関数なり入っているなら、VBAは必須だと思う。

560532:2008/06/02(月) 23:13:18
>>533-534
ありがとうございました。
561名無しさん@そうだ選挙にいこう:2008/06/02(月) 23:19:06
>>558
Excel2007だと条件付き書式で記号を消せるんだけど、
2003以前だと作業列を作って文字列として : を消すか、
VBAでタイムを調べて書式を書き換えるみたいな方法しか思い付かない。

562541:2008/06/02(月) 23:25:20
>>541,554
そうでした!
ありがとうございます!
563名無しさん@そうだ選挙にいこう:2008/06/02(月) 23:25:35
>>558
>>分がないとき 12.34 と表示させたいのですが

その発想がまずダメ。
564名無しさん@そうだ選挙にいこう:2008/06/02(月) 23:35:50
>>557
ThisWorkbook.Worksheets(ThisWorkbook.VBProject.VBComponents("Sheet1").Properties("Name").Value).Range("A1").Value = 1234
                                          ^^^↑^^^
                                      ここにオブジェクト名を書く

ただ、この方法は長くてプログラムが見づらくなるしスピードも遅くなるので、
できればモジュールの先頭でシート名やシートインデックスを取得しておくか、
アクティブシートを切り替えてから処理した方がいいと思う。
565名無しさん@そうだ選挙にいこう:2008/06/02(月) 23:36:33
>>563
出た。ケチつけるだけで回答を示せないくん
566名無しさん@そうだ選挙にいこう:2008/06/02(月) 23:57:57
>>558
=IF(LEN(A1)>=5,LEFT(A1,LEN(A1)-4)&":","")&LEFT(RIGHT("000"&A1,4),2)&"."&RIGHT("0"&A1,2)

ttp://aaabbbccc.s6.x-beat.com/upload/src/up17861.png
567名無しさん@そうだ選挙にいこう:2008/06/02(月) 23:59:19
すげえ
568名無しさん@そうだ選挙にいこう:2008/06/02(月) 23:59:59
>>565
出た。煽るだけで回答を示せないちゃん
569名無しさん@そうだ選挙にいこう:2008/06/03(火) 00:05:37
出た。野次馬さん
570558:2008/06/03(火) 00:09:23
>>566 さん
ありがとうございます。
何のこっちゃ分かりませんがコピペで使わせていただきます。

その他 考えてくれたみなさん ありがとうございました

571557:2008/06/03(火) 00:36:57
>564
ありがとうございます。

Const codeName01 As String = "sheet1"
Sub ababa()
Dim obje As Object
Set obje = ThisWorkbook.Worksheets(ThisWorkbook.VBProject.VBComponents(codeName01).Properties("Name").Value)
obje.Range("A1").Value = 123456
End Sub
の形で使用しようと思います。
Objectの指定で間違いないか少々不安ですが、動いたので、たぶん…。
572名無しさん@そうだ選挙にいこう:2008/06/03(火) 00:48:07
VBAで名前をつけて保存時にのみ、設定したファイル名をあらかじめ
表示するようにするにはどうすればよいのでしょうか。
あくまで、「標準の名前を付けて保存の時にファイル名を表示させたいんです。
ActiveWorkbook.SaveAsを使うとややこしくなるので・・・
573名無しさん@そうだ選挙にいこう:2008/06/03(火) 00:52:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

A列  B列
○○
574573:2008/06/03(火) 00:53:41
>>573 すみません、途中で書き込んでしまいました・・・

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

  A列  B列
1 ○○
2 ×○
3      ■×
575名無しさん@そうだ選挙にいこう:2008/06/03(火) 00:55:09
わらた
576573:2008/06/03(火) 00:55:49
あ、また途中で書き込んでしまった・・・本当にすみません・・・

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

  A列  B列   C列
1 ○▲         
2 ×○
3      ■×
4 △●  ○△
5 ××
6      ●●

上記のようにデータがあり、C列にA列とB列を統合したデータを入力したいのですが
どうやったらできますか?
577名無しさん@そうだ選挙にいこう:2008/06/03(火) 00:57:13
=A1&B1
578名無しさん@そうだ選挙にいこう:2008/06/03(火) 00:58:56
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 (適切なワードが思いつきませんでした)

分類1 分類2 分類3 1960 ... 2007

と1行目にあるでーたをもとにピボットテーブルを作成したいです。
分類i (i = 1, 2, 3)は国名やデータ種類です。4桁の数字は西暦です。
このままだと、1960などがベクトル名?のような扱いになってしまうと思うんですが、1960などをYearとしてピボットテーブルで扱えるようにしたいです。
どうすればよいでしょうか?
579名無しさん@そうだ選挙にいこう:2008/06/03(火) 01:00:21
>>578
書式でyyyyとか
580名無しさん@そうだ選挙にいこう:2008/06/03(火) 01:01:41
>>572
質問の意味がよくわからん
どうしたらどうなってほしいのか、手順を書いてくれ
581578:2008/06/03(火) 01:03:44
>>579
ありがとうございます。でも、それでも西暦がフィールドリスト(名前わかりましたwベクトル名じゃないですね)の選択肢にひとつづつ表示されるのは変わらないんですが・・・
582573:2008/06/03(火) 01:07:11
>>577
おお!ものすごくシンプル!その手があったとは!
ありがとうございます!
583名無しさん@そうだ選挙にいこう:2008/06/03(火) 01:12:12
>>582
お前テンプレ5も書いてないし、自分で調べてないだろ?
584578:2008/06/03(火) 01:29:30
すみません、わかりにくいと思うので補足させてください。

西暦部分の一つ一つがピボットテーブルのフィールドになる現状を、

Yearという形でまとめたひとつのフィールド(その中身は西暦)にしたいのです。

よろしくお願いします。
585名無しさん@そうだ選挙にいこう:2008/06/03(火) 01:32:33
よく分からんけど1960/1/1みたいに入力しといて表示形式をyyyyでいいんじゃね
586578:2008/06/03(火) 01:36:59
>>585
気に留めてくださりありがとうございます。
分類1 分類2 分類3 Year

と1行目にある状態でピボットテーブルを作った状態が目指す形なので、それだと状況が変わりません。表示形式の問題ではないので
587名無しさん@そうだ選挙にいこう:2008/06/03(火) 01:39:12
   E       F     ZZ
  year     1960 … 2007
=F2& … &ZZ2  **     **

みたいな表にするとか
588名無しさん@そうだ選挙にいこう:2008/06/03(火) 01:40:23
>>586
質問の意味がよく分からないな。
元のデータがどういうものか、もう少し具体的に実データもしくはそれっぽいデータで書いてくれると有難いんだが。
589名無しさん@そうだ選挙にいこう:2008/06/03(火) 01:40:52
>>586
yearの下に入るデータと、1960〜2007の下に入るデータの関係は?合計?最大値?
590578:2008/06/03(火) 01:43:39
>>587
すみません、>>586がわかりにくかったですね。
分類1 分類2 分類3 Year Data
文字列1 文字列2 文字列3 西暦 データ(数値)

という形なので、Yearの中身がデータではありません。
Yearは分類のひとつという感じなんです。
591578:2008/06/03(火) 01:46:44
元のデータ
Series Name Series Code Country Name Country Code YR1960 ... YR2007
Methane Emission MT.EM China CHN 555 ... 777
592578:2008/06/03(火) 01:51:20
こういう状態でできるピボットテーブルを作成したいです↓
Series Name Series Code Country Name Country Code Year Data
Methane Emission MT.EM China CHN 1960 555
.
.
.
Methane Emission MT.EM China CHN 2007 777
593578:2008/06/03(火) 01:52:36
普段は>>592のように出力するデータベースを使うんですが、違うデータがほしかったのでこういう形式になってしまいました。
594名無しさん@そうだ選挙にいこう:2008/06/03(火) 01:53:52
>>590-592
ずれててよくわかんねー。どこがセルの区切りだよ。
あと、例を書くなら3行ぐらい書いてくれ。1行だけだとよくわからん。

元のデータはこういう感じ?

   A      B     C    D   E
1 分類1   分類2   分類3   Year Data
2 文字列1 文字列2 文字列3 西暦 数値
3 文字列1 文字列2 文字列3 西暦 数値
4 文字列1 文字列2 文字列3 西暦 数値
5 文字列1 文字列2 文字列3 西暦 数値

ちなみに、「データの正規化」ってわかる?
正規化されてないデータはピボットテーブルにできないよ。
595578:2008/06/03(火) 01:59:42
データの正規化、わかりません。今ググってみたんですが・・・。重複の有無、という認識でよいなら重複はないと思います。有料データベースからとったものなので。
元のデータは
   A      B     C    D   E
1 分類1   分類2   分類3   1960   1961   1962...2007 
2 文字列1 文字列2 文字列3 数値 数値 数値...数値
3 文字列1 文字列2 文字列3 数値 数値 数値...数値
4 文字列1 文字列2 文字列3 数値 数値 数値...数値
5 文字列1 文字列2 文字列3 数値 数値 数値...数値
です。
596578:2008/06/03(火) 02:02:11
>>594
>>592で言いたかったことはご指摘のとおりです。
597名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:02:22
で、各行に47個ずつある数値をどうやってまとめたいの?
598名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:02:59
あ、48個か
599名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:05:24
まとめたいんじゃなくてバラしたいんじゃないの?
1行を48行に。
元のデータが100行あったとしたら、全部で4800行ある巨大なワークシートに。
600名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:05:25
>>595
正規化っていうのは次のようなデータになってればいいって事

1 分類1   分類2   分類3   Year Data
2 文字列1 文字列2 文字列3 1960 数値
3 文字列1 文字列2 文字列3 1961 数値
4 文字列1 文字列2 文字列3 1962 数値
5 文字列1 文字列2 文字列3 1963 数値
・・・
601578:2008/06/03(火) 02:07:53
   A      B     C    D   E
1 分類1   分類2   分類3   1960   1961   1962...2007 
2 文字列1 文字列2 文字列3 A  数値 数値...数値
3 文字列1 文字列2 文字列3 数値 数値 数値...数値
4 文字列1 文字列2 文字列3 数値 数値 数値...数値
5 文字列1 文字列2 文字列3 数値 数値 数値...数値

   A      B     C    D   E
1 分類1   分類2   分類3   Year Data
2 文字列1 文字列2 文字列3 1960 A
3 文字列1 文字列2 文字列3 西暦 数値
4 文字列1 文字列2 文字列3 西暦 数値
5 文字列1 文字列2 文字列3 西暦 数値
という感じなんですが・・・。
あるデータの持つ、(文字列1 文字列2 文字列3 西暦)という情報を崩さない、ということなんですが。。
602名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:08:23
まさかと思うけど、こういうこと??

1960 1961 1962
数値1 数値2 数値3
数値4 数値5 数値6



1960 数値1
1961 数値2
1962 数値3
1960 数値4
1961 数値5
1962 数値6
603名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:10:02
ピボットテーブルを作るんじゃなくて、その逆か?
604578:2008/06/03(火) 02:10:36
>>599
>>602
そうです!
>>600
あ、正規化したい、っていう感じなんです。
605名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:12:23
>>604
逆じゃボケ
ピボットじゃねえじゃん
VBAでやれ
606名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:15:11
>>604
正規化っていうのはピボットテーブルを作る前にする作業なんだよ。
まずデータを整理して正規化して、それからピボットテーブルを作る。

578がやりたいのは、最終的に正規化されたデータが欲しいのであって、
ピボットテーブルを作ることじゃない。

この違いがわかるか?
607578:2008/06/03(火) 02:16:50
>>605
最終的にはピボットテーブルを使える形にしたいんです。データ範囲の設定なんかでできたらいいと思ったんですが、やっぱり無理でしたか・・・
VBAでどうやるんでしょうか?
プログラムは大学関連で数時間やったことがある程度なので、自分ではかけません。
608578:2008/06/03(火) 02:18:00
>>606
あ、なんとなく・・・。質問の仕方が悪いのはよくわかりました。ごめんなさい。
609名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:20:40
>>607
すでにまとまったデータがあるんだから、
何も一旦ばらさなくても、
そっから範囲の指定とかしてきゃいいじゃん。
フィルタとか使って色々できるぞ。
610578:2008/06/03(火) 02:25:11
>>609
具体的にどういう風にするんでしょうか?フィルタで抽出→手作業で正規化ってことですか?
611名無しさん@そうだ選挙にいこう:2008/06/03(火) 02:43:56
>>607
Sub aaa()
 Application.ScreenUpdating = False
 Worksheets("Sheet2").Range("A1:C1").Value = Worksheets("Sheet1").Range("A1:C1").Value
 Worksheets("Sheet2").Range("D1") = "Year"
 Worksheets("Sheet2").Range("E1") = "Data"
 r = 2
 r2 = 2
 While Worksheets("Sheet1").Cells(r, 1) <> ""
  For i = 4 To 51
   Worksheets("Sheet2").Cells(r2, 1) = Worksheets("Sheet1").Cells(r, 1)
   Worksheets("Sheet2").Cells(r2, 2) = Worksheets("Sheet1").Cells(r, 2)
   Worksheets("Sheet2").Cells(r2, 3) = Worksheets("Sheet1").Cells(r, 3)
   Worksheets("Sheet2").Cells(r2, 4) = Worksheets("Sheet1").Cells(1, i)
   Worksheets("Sheet2").Cells(r2, 5) = Worksheets("Sheet1").Cells(r, i)
   r2 = r2 + 1
  Next
  r = r + 1
 Wend
 Application.ScreenUpdating = True
End Sub
612名無しさん@そうだ選挙にいこう:2008/06/03(火) 07:02:20
>>571
シートと分かってるのにDim obje As Objectはまずくない?
613名無しさん@そうだ選挙にいこう:2008/06/03(火) 07:07:37
まずくはない
614名無しさん@そうだ選挙にいこう:2008/06/03(火) 07:36:41
その程度なら最初から厳密には○○のほうが良い、とか書けばいいのに
615名無しさん@そうだ選挙にいこう:2008/06/03(火) 07:55:06
>>614
出た。煽るだけで回答を示せないちゃん
616名無しさん@そうだ選挙にいこう:2008/06/03(火) 07:55:53
ブックもシートもセルもみんなオブジェクトだから
617名無しさん@そうだ選挙にいこう:2008/06/03(火) 08:16:43
>>615
何でもかんでも示せないちゃん認定しちゃだめだよ。
>>614は示しているからね。
618名無しさん@そうだ選挙にいこう:2008/06/03(火) 08:19:47
出た。野次馬さん 。
619名無しさん@そうだ選挙にいこう:2008/06/03(火) 08:46:38
Object型は最後の手段。
オブジェクトの依存関係はちゃんと把握して使い分けた方がいい。
まずはここを読んで勉強だ。
ttp://msdn.microsoft.com/ja-jp/library/cc363964.aspx
620名無しさん@そうだ選挙にいこう:2008/06/03(火) 08:47:04
>>616
ExcelのVBEに書く場合は
ブックと分りきってるならAs Workbook
シートと分かりきってるならAs Worksheet
セルと分かりきってるならAs Range
とするのが普通。
621名無しさん@そうだ選挙にいこう:2008/06/03(火) 08:51:36
ワークシートと分かりきってるならに訂正
622名無しさん@そうだ選挙にいこう:2008/06/03(火) 09:35:20
As Excel.Worksheetとした方がプロっぽい
623名無しさん@そうだ選挙にいこう:2008/06/03(火) 09:43:34
それは単なるムダ
624名無しさん@そうだ選挙にいこう:2008/06/03(火) 09:50:32
>>621
三流プロっぽいねw
625名無しさん@そうだ選挙にいこう:2008/06/03(火) 09:51:02
上は>>622への間違い
626名無しさん@そうだ選挙にいこう:2008/06/03(火) 09:59:54
そこまで書くんならApplication修飾子もつけてやれよ
627名無しさん@そうだ選挙にいこう:2008/06/03(火) 10:01:30
プログラマーの賃金が1行いくらで支払われてた時代があってな。
ムダに行数を増やすテクニックを色々と覚えたもんだよ。
628名無しさん@そうだ選挙にいこう:2008/06/03(火) 11:16:42
>>626
ExcelがApplicationだから
両方つけたらエラー
それはともかく冗長なのは汚いね
人の書き込みに適当なところで改行をいれろとしつこいやつが昔いたが、てめーのその全体的に長いコードを何とかしろと言いたかったw
629名無しさん@そうだ選挙にいこう:2008/06/03(火) 11:24:38
両方つけたらエラーじゃなくてApplicationをつけたらエラーか
630572:2008/06/03(火) 12:56:04
>>580
例えばA.xlsのファイルを編集中に「名前を付けて保存」を実行すると
あらかじめファイル名の欄に「A.xls」が表示されていますよね?
その部分を処理によって変えたいのです。

例えばマクロAを実行したら「江原はいつホスピス作るのwww.xls」
マクロBを実行したら「犬HKはなんで細木なんて出してんのwwwww.xls」
のように、名前を付けて実行であらかじめ表示されるファイル名を変えたいのです。
631名無しさん@そうだ選挙にいこう:2008/06/03(火) 13:29:04
>>630
残念ながらその部分は簡単には変更することができない。
ファイルの保存ダイアログを自前で作るか、非公開でアクセス可能なプロパティがあれば操作。

あまりスマートではないが、一旦tempフォルダに名前を付けて保存してしまい、
あとでtemp内のファイルを消すという方法もある。
632578:2008/06/03(火) 18:20:48
みなさんありがとうございました。
まだ試していませんが、これでやってみますね。
633名無しさん@そうだ選挙にいこう:2008/06/03(火) 18:59:20
>>631
うそだろ?
634名無しさん@そうだ選挙にいこう:2008/06/03(火) 19:11:13
そう思うならお前が答えてやりゃいいだろ
635名無しさん@そうだ選挙にいこう:2008/06/03(火) 20:16:43
【1 OSの種類         .】XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
小数点が付いた数値にそのまま「%」の記号を付けたいのですが、方法は無いでしょうか?
付加した瞬間数値が変わってしまい困っています。
尚、その数値は数行とあり、まとめて付加できれば理想的です。
636名無しさん@そうだ選挙にいこう:2008/06/03(火) 20:19:06
>>572
> ActiveWorkbook.SaveAsを使うとややこしくなるので・・・
そんなにややこしいかな?
GetSaveAsFilenameでデフォルトのファイル名指定してやるだけの話に読めるけど。
637名無しさん@そうだ選挙にいこう:2008/06/03(火) 20:52:57
638名無しさん@そうだ選挙にいこう:2008/06/03(火) 20:56:47
>>635
範囲選択して書式の最後に"%"を付け足す
今の書式が不明なのでデフォルト状態に対する例を示すと

G/標準
  ↓
G/標準"%"
639名無しさん@そうだ選挙にいこう:2008/06/03(火) 22:17:51
>638
ありがとうございます。
解決しました。
640571:2008/06/03(火) 22:43:49
As Object に対するレスありがとうございます。
参考にさせてもらいます。
Excel.WorkSheet という記述方法は初めて知りました。

msdnはリンク保存しました。

どもです。
641名無しさん@そうだ選挙にいこう:2008/06/04(水) 00:07:43
>>636
GetSaveAsFilenameを使うと、マクロで実施した「名前を付けて保存」と
標準の「名前を付けて保存」の二つが存在することになり、
 『なんか名前が設定されてる時とされてない時があるんだけど』
とクレームがくるんですよ
642名無しさん@そうだ選挙にいこう:2008/06/04(水) 00:13:12
>>614
そのとおり!
会社で答えようと思ったらアク禁されててちょっと歯がゆかったぜ
643名無しさん@そうだ選挙にいこう:2008/06/04(水) 00:20:12
会社なのにアク禁てどんなだよ
644名無しさん@そうだ選挙にいこう:2008/06/04(水) 00:21:30
>>641
もうすこし研究して、名前が設定される時とされない時が、それぞれどんな場合かを突き止めるんだ
単純なミスかもしらんぞ
645名無しさん@そうだ選挙にいこう:2008/06/04(水) 00:37:48
>>644
例えば保存時にマクロが動くように設定してGetSaveAsFilenameを使うと、

標準の「名前を付けて保存」を実行

マクロが動いて、「任意の文字列を設定したダイアログ」が表示される

保存(またはキャンセル)

続けて「現在のファイル名が入ったダイアログ(標準)」が表示される

といった動きにならないですか?保存時に呼ぶのがおかしいのかなぁ。
でもボタンか何かで配置しても、結局エクセル標準の機能で保存されると
差異がでますし・・・
646名無しさん@そうだ選挙にいこう:2008/06/04(水) 01:25:08
>>645
標準のはSaved = True で止める
その分、自前のモノは緻密に作り上げる必要があるが…
647名無しさん@そうだ選挙にいこう:2008/06/04(水) 08:24:14
>>643
会社側が社内ネットワークからのアクセスを禁止してるんじゃないの?
648名無しさん@そうだ選挙にいこう:2008/06/04(水) 09:29:20
それはアク禁じゃない
649名無しさん@そうだ選挙にいこう:2008/06/04(水) 09:33:43
アク禁には違いなかろう。

どうでもいいがなw
650名無しさん@そうだ選挙にいこう:2008/06/04(水) 09:38:51
アク禁の語源はアクセス禁止だけどニュアンスが違うからな
651名無しさん@そうだ選挙にいこう:2008/06/04(水) 10:03:58
【1 OSの種類         .】XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
オートシェイプを使って、図面を作成しているのですが、
プレビューでみるとちゃんと配置してあるのに、印刷をすると伸びたり、配置位置がずれたりしてしまいます。
エクセルでつくるような物ではないとは解っているのですが、上の者がエクセルで作れと言うので困ってしまいます。
しまいには、縮尺も合わせろと。。。

一度印刷をして、微調整等をしようとも思いますが、枚数が枚数なので、簡単にできる方法はないものかと。。。
質問してみた次第であります。

ご教授よろしくお願いします。
652名無しさん@そうだ選挙にいこう:2008/06/04(水) 10:39:49
>651

無駄な努力はやめましょう。
653名無しさん@そうだ選挙にいこう:2008/06/04(水) 11:48:00
×ご教授
○ご教示
654名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:19:19
>>651
どんな図面かにもよるけど、別のソフトで作ったデータを貼り付けた方がいいぞ。WMF形式とか。
ベクトル形式の元データがあれば、VBAを使って一気にオートシェイプに変換するという方法もあるにはあるけど。

とりあえず上司に、Excelなんかで図面を書こうとすると、通常の100倍以上の手間がかかって
人件費も無駄になりますよと言いなさい。
655名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:26:01
>>651
こういうのもある。ただしあまり使いやすくはないので、ごく簡単な図面に限る。
ttp://www.vector.co.jp/soft/win95/business/se403804.html
656名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:29:09
>>651
CADソフトの定番。
ttp://www.autodesk.co.jp/adsk/servlet/mform?validate=no&siteID=1169823&id=9605868

体験版で図面を書き、wmf形式で保存。
Excelでwmf形式のデータを読み込むと、自動的にオートシェイプに変換してくれる。

とりあえずExcel「だけ」で全部やるのは無理。不可能じゃないけど無謀すぎるにもほどがある。
657名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:39:42
図面と言っても処理フローとか配置図とかそんなんでしょう。
CAD使うような設計図面の作成をプロがExcelでやらせるわけないし、
そんなこともわからないような素人が、作業を行う人間の
上司としているわけがないでしょうし。
658651:2008/06/04(水) 13:48:23
上司の子供部屋の配置図です
659名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:48:50
>>651
ワードで作っといてエクセルに貼りつけては?
660名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:49:00
>657

うそだと思うだろうがそういう会社も存在するよ。
661名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:50:01
>>658

つまらないネタ投下はいりません。
662名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:50:05
Excelにこだわるのは、自宅にデータを持ち帰って、家族で見ながら修正したいんだろうな。
663名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:54:01
>651
例えば400x400ピクセルのセルを作り罫線を引いて印刷する。
これを測ってみると、私の場合、横97.2o x 縦95.5o
よって、行の高さを21ピクセル、列の巾を1列おきに20と
21ピクセルにすれば、5o方眼が出来る。
ここでAltを押しながら図形描画すれば5o単位の精度が出る。
後は応用で。
664名無しさん@そうだ選挙にいこう:2008/06/04(水) 13:58:54
本当に子供部屋の配置図作りたいだけなら
Wordの方がほぼWYSWYGで作れる分楽だよ。
665651です。:2008/06/04(水) 14:26:10
上司の子供部屋の配置図ではないですw

エクセルにラスタデータを貼り付けて、そこに旗揚げ等をオートシェイプで作成。

で、用紙サイズがA0〜A1ロングで出力と・・・

で、図面の縮尺を合わせろと・・・

1つの図面でだいたい50〜70M位になるので、PCも頻繁に固まってしまうし。。。

CADで作って、PDFに変換。さらにJPGに変換しようかなと。。。

一応、データとしてはエクセルだからいいかなと・・・

いろいろとお答えありがとうございました。
666名無しさん@そうだ選挙にいこう:2008/06/04(水) 15:41:25
>>665
縮尺はExcelの画面上でやるよりプリンターの設定で印刷サイズを微調整して合わせる方が簡単。
つーか、そんな巨大なデータなら、なおのことちゃんとしたCADを使うべき。

なんでExcelにこだわるのか、ぜひ理由を問いただして欲しい。
おおかたExcel以外のソフトの使い方を覚えるのが面倒とか、そういうのじゃないかと思うけど。
667名無しさん@そうだ選挙にいこう:2008/06/04(水) 15:47:02
【1 OSの種類         .】XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1〜A3までを範囲選択し、文字を入力する。
エンターを押すごとにアクティブセルがA1〜A3に移動していくが、
例えばA2だけ削除したい時、
これまではA2をアクティブセルにさえしていればA2だけが消えて
A1、A3は消えなかったけれど、
突然アクティブセルではない、範囲選択した全てが削除されてしまうという
設定に変わってしまいました。
解決策を見つけられませんでした。
668名無しさん@そうだ選挙にいこう:2008/06/04(水) 16:11:49
>>667
消すとき、BackSpaceキーじゃダメなの?
669名無しさん@そうだ選挙にいこう:2008/06/04(水) 17:13:48
A2をアクティブにしてF2→BkSpでは?
670名無しさん@そうだ選挙にいこう:2008/06/04(水) 17:29:47
参考までに教えて下さい
範囲指定したままの編集って
どういう状況でそうしないといけないんですか
671667じゃないけど:2008/06/04(水) 17:34:13
範囲指定しておくとエンターキーだけで次のセルへ順番に移動できるから
決まった範囲にたくさんのデータを連続入力する時には楽な場合があるっすよ。
672名無しさん@そうだ選挙にいこう:2008/06/04(水) 18:15:47
【1 OSの種類         .】XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1に数字を入力
A2→A1に入力した数字が0より大きい(正の数)場合、Xを乗算した結果を出したい
A2→A1に入力した数字が0より小さい(負の数)場合、Yを乗算した結果を出したい

例)
A1に5を入力した場合1.5倍した結果の7.5をA2に表示
A1に-5を入力した場合0.8倍した結果の-4をA2に表示

解る方、どうぞよろしくお願いします。
673名無しさん@そうだ選挙にいこう:2008/06/04(水) 18:19:39
>>672
=IF(A1>0,A1*1.5,A1*0.8)
674名無しさん@そうだ選挙にいこう:2008/06/04(水) 18:21:35
ありがとうございます。
675名無しさん@そうだ選挙にいこう:2008/06/04(水) 19:17:31
>>665
地獄だな
でも俺もjpgを貼り付ける方法を考えた
676名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:14:11
A1サイズまで拡大印刷して図面として通用する画質のjpegってどんな恐ろしいファイルサイズになることやら
677名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:17:09
>676

そんな大したことないだろ。
計算してみれば?
678名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:22:54
ヘルプください。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000,2002,2003,2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ランダム rnd rand 乱数 visual-basic

excelにて、
4byte符号無し整数全体に現れうる数値を
ランダムに得たいです。

excelのシートに、
=INT( RAND()*(4294967296 -1) )
と書くと、一見ランダムな数値が得られているようです。
上記式は範囲内の全ての値が出力される機能を持っているのでしょうか。
(多くとも、16777216種類しか得られないとの話が。)

また、vbaで書く場合はrnd()関数を使用して、
ランダムな値を得るようですが、これも同様でしょうか?

ランダム数の種の管理が面倒なので、
vbaの中で、RAND()を使用したのですが、可能でしょうか?
(というか始めこの方法をとろうとして、出来ないことを知って絶望しました。)
(『=RAND()』を設定した特定のセルのみ更新できればうれしいのですが。(シートが大きいので全体更新は速度面に…(=rand()は1セルのみ)))

よろしく御願いします。
679名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:23:29
300dpiで7000*10000ピクセルか
680名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:28:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル VBA クリック マクロ

マクロの作動に必要なコントロールボックスやショートカットでマクロが起動できるように作っているんですが
実際の作業(業務です)で試した所、コントロールボックスやショートカットでさえも、連続してデータ系の打ち込みがある作業で
非常に煩わしい事や件数が膨大で時間が掛かってしまいます。

特定のセルでエンターキーを押すだけでマクロを作動させる事は可能でしょうか?
681名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:36:55
>>678
質問の意味がよくわからない。もうちょっとしっかりした文章を書け。
とりあえず乱数の精度を上げたかったら
ttp://phys.sblo.jp/article/944148.html
682(678):2008/06/04(水) 21:41:29
(678です。もうひとつ御願いします。)

VBAのコードで、
Sub hoge()
Dim d1 As Double
Dim s1 As String
d1 = 65536 * 65536# * 65536 * 65536
s1 = d1
MsgBox s1
End Sub
をすると、指数表示が文字列に入ってしまうのですが、
これは、桁が小さいときのように普通の表示に出来ないでしょうか?
683名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:45:22
>>680
Application.OnKey "{RETURN}", "hoge"
Application.OnKey "{ENTER}", "hoge"
684名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:48:58
>>682
MsgBox Format(s1, "0")
685名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:50:25
まちがえた。
s1 = Format(d1, "0")
686名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:52:55
>>681
バカっぽいブログ。
なんでこんなの紹介したの?
687名無しさん@そうだ選挙にいこう:2008/06/04(水) 21:54:40
出た。ケチつけるだけで回答を示せないくん
688680:2008/06/04(水) 21:57:19
>>683
多分私への回答なんでしょうが>>682に応えているようにも見えるんで・・・

今時点で、Vba冒頭書式に
Private Sub hyouzi_Click()
と入れています。

早速で助かるのですがなにぶん勉強不足なもんで
よろしければ Application.OnKey "{ENTER}", "hoge" というのはどこに入れればいいのか教えてくだされ・・・
689名無しさん@そうだ選挙にいこう:2008/06/04(水) 22:03:15
>>687
正解wwwだから何?www
690名無しさん@そうだ選挙にいこう:2008/06/04(水) 22:04:03
>>688
アンカー

Application.OnKey "{RETURN}", "hoge"
Application.OnKey "{ENTER}", "hoge"
の2行を実行すると、Enterキーを押された時に手続きhoge()が呼び出されるようになるので、
何らかの方法で最初に実行しておく。Workbook_Open()の中とか。

これだけだとシートのどこでEnterが押されてもhoge()が呼ばれるので、hoge()の中で
アクティブなシートとセルを調べて、目的の位置ならhyouzi_Click()を呼ぶようにする。
691682:2008/06/04(水) 22:07:54
682です。

>684,685
おぉぉおおおお!
ありがとうございます。
まさしく、この回答がほしかったです。


678です。
こちらも言葉足りないようで、申し訳ないです。
ただ他になんと言っていいものか。
『VisualC++のrand関数は、0〜32767』は、32768種類の数値しか出しませんよね。
ExcelVBA rnd()(単精度浮動小数点数)は???
検索した結果は、16777216個と書いてありましたが、microsoftではその記述を見つけていません。
そのため質問しました。

何気に使っているRAND()も同様かと…。
あまり理解できませんが、いただいたリンクを深く呼んでみます。
692名無しさん@そうだ選挙にいこう:2008/06/04(水) 22:13:13
>>691
出力の仮数部分が15ビットなら、出てくる数値は32768種類にしかならない。
どこに小数点を打とうが32768種類であることに変わりはない。
24ビットなら16777216種類になるってだけのこと。
693名無しさん@そうだ選挙にいこう:2008/06/04(水) 22:25:25
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000〜2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 座標計算 CAD

Excelで計算させて座標点をはじきだし、プロットしたデータをCSVを出力し、CADに読ませるつもりです。

設計上、ある直線を引いたとき、この線が(ある任意の距離までに)違う線に重なるか否かをプログラム的に判別するには、
サインコサインを使ってやるのかな?
それともそれぞれのXY軸の数値から?

どういう手段を取れば最高なのか模索中です。
図形、設計でCADの事を考えられる猛者から是非ともヒントを。
694名無しさん@そうだ選挙にいこう:2008/06/04(水) 22:33:00
>>693
ASINでもACOSでもATANでもどれでもいいから2本の直線の傾きを求める。
平行なら交わらない。平行でなければどこかで交わる。
「線分と交わるか」なら交点を求めて線分の端点の座標と比較
695名無しさん@そうだ選挙にいこう:2008/06/04(水) 22:45:14
Excelでなく算数だなw
696名無しさん@そうだ選挙にいこう:2008/06/04(水) 22:48:58
Excelと関係あんの、質問の最初の1行だけだしw
697名無しさん@そうだ選挙にいこう:2008/06/04(水) 22:53:20
なんとふところの深いスレ!
698名無しさん@そうだ選挙にいこう:2008/06/04(水) 23:12:17
中学校を思い出した
線分とか懐かしいな
699名無しさん@そうだ選挙にいこう:2008/06/04(水) 23:21:02
>>693は直線という言葉を使っているけど本当は線分の交差をチェックしたいんじゃないの?

>この線が(ある任意の距離までに)違う線に重なるか否かを
700680:2008/06/04(水) 23:31:46
>>690
遅レスですがありがとうございました。

ヒントを頂いたのですが結局 条件分岐が出来なくて、どこデエンターを押してもマクロ処理が発生してしまい、特定のセル押下時のみ実行というのは
私の今の力量では無理でしたので、とりあえずどこでキーを叩いても実行されたままですが普段使用しないであろうファンクションに割り当てしまして、なんとか制御できるようにできました!

この答えだけでも業務の合間でやって3日かかってたんで非常に助かりました!
701名無しさん@そうだ選挙にいこう:2008/06/05(木) 00:36:49
>>700
Sub Enter監視開始()
 Application.OnKey "{RETURN}", "hoge"
 Application.OnKey "{ENTER}", "hoge"
End Sub

Sub Enter監視終了()
 Application.OnKey "{RETURN}"
 Application.OnKey "{ENTER}"
End Sub

Sub hoge()
 MsgBox (ActiveSheet.Name & " " & ActiveCell.Row & " " & ActiveCell.Column)
End Sub
702名無しさん@そうだ選挙にいこう:2008/06/05(木) 01:57:38
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ワードアート 縦横比

最近PCを買換えまして、それに伴ってOSやExcelのバージョンが変わり、今までできたことが
よくわかんなくなってしまいました…
ワードアートってありますよね。あれの大きさを変えるのに今までなら右下をドラッグしたんですが、
2007になってから大きさが変わらなくなってしまい、いろいろいじってもよくわからないので
質問させていただきました。
ちなみに前のExcelのバージョンはわかりません…
できれば縦横の比率もいじれれば助かります。
703名無しさん@そうだ選挙にいこう:2008/06/05(木) 02:36:46
>>702
メニューからこれを選ぶと、好きに変形できるようになる
ttp://cgi2.coara.or.jp/~negichan/imgloda/src/img10203.png
704名無しさん@そうだ選挙にいこう:2008/06/05(木) 02:41:42
まず変形させたいテキストボックスをクリックして選択
書式→ワードアートスタイル→変形→形状→四角
を選択するとテキストボックスのアンカーの色が変わる。
この状態でテキストボックスの枠線やアンカーをドラッグすると自由に変形できる。
705702:2008/06/05(木) 02:55:20
>>704
回答ありがとうございます。
やってみたのですが、書式のワードアートスタイルの欄には
文字の塗りつぶし
文字の輪郭
文字の効果
しか表示されていません…
706名無しさん@そうだ選挙にいこう:2008/06/05(木) 03:03:09
>>705
違うとこ見てるぞ。それは「図形のスタイル」だ。「ワードアートスタイル」じゃない。
707名無しさん@そうだ選挙にいこう:2008/06/05(木) 03:04:39
>>705
>>703のリンク先の画像は見たか?
708702:2008/06/05(木) 03:06:15
>>706
いえ、ワードアートを選択すると上に描画ツールと出て、
そこの「書式」に「ワードアートスタイル」と出ています。
まったく違うとこみてるんですかね?
709702:2008/06/05(木) 03:07:26
>>707
いえ、見ていません。何があるんですか?
710名無しさん@そうだ選挙にいこう:2008/06/05(木) 03:07:49
× 書式→ワードアートスタイル→変形→形状→四角
○ 書式→ワードアートスタイル→文字の効果→変形→形状→四角
711名無しさん@そうだ選挙にいこう:2008/06/05(木) 03:08:44
>>709
操作方法の解説だよ。画像見りゃ一発でわかんのに。
712702:2008/06/05(木) 03:09:14
>>710
できました!!
どうもありがとうございます!助かりました!
713名無しさん@そうだ選挙にいこう:2008/06/05(木) 07:45:31
やれやれだぜ(ry
714667:2008/06/05(木) 09:02:49
ありがとうございました。
確かにDelだと選択範囲が全部消え、Back spaceだとアクティブセルだけが
消えますね。
でもこれまではDelでもアクティブセルのみの削除ができていたので、
どこを触れば元の設定に戻るのか知りたいです。
分かる方いらっしゃいますか?
715名無しさん@そうだ選挙にいこう:2008/06/05(木) 11:18:30
Excel2002 VBA×
条件付書式で、「2の倍数」「3n-1」といった条件を指定できませんか?
レーティング表の数値を、奇数偶数で塗り分けたいと思っています。
716名無しさん@そうだ選挙にいこう:2008/06/05(木) 11:27:37
>>715
条件を「数式が」にして「=MOD(A1,2)=0」など
717名無しさん@そうだ選挙にいこう:2008/06/05(木) 12:15:54
すみませんエクセル2003での質問です
OKWEBで教えていただいたコードなのですが
(選択した行の 「全角文字を半角に変換」 というものです)
これを行ではなく列で実行するにはどうしたらよいのでしょうか?
色々と試したのですがわかりませんでした、、、
何卒よろしくお願い致します


Sub test02()

Selection.SpecialCells(xlCellTypeConstants, 3).Select

Selection = StrConv(Selection.Value, vbNarrow)
End Sub
718名無しさん@そうだ選挙にいこう:2008/06/05(木) 13:01:41
>>717
手動で列を選択してからそのマクロを実行すれば良い
719名無しさん@そうだ選挙にいこう:2008/06/05(木) 13:16:29
>>702
直接解決にはならないけど、これを入れるのもいんじゃないかしら
ttp://members.at.infoseek.co.jp/dr_admk/o2007oldui/images/excel00.jpg
ttp://members.at.infoseek.co.jp/dr_admk/o2007oldui/
720名無しさん@そうだ選挙にいこう:2008/06/05(木) 13:48:59
>>718
すみません、今試してわかったのですが
行でも列でも2つ以上の値が入っていると
(例えば列の場合、B3セルとB4セルに値が入っているとエラーが出ました
 B3セルだけだときちんと全角の文字が半角に変換されました)
「型が一致しません」というエラーが出るようです

複数のセルを変更できないと困るのですが
どうやって対処したらよいでしょうか?

721名無しさん@そうだ選挙にいこう:2008/06/05(木) 14:09:57
質問がおかしいだろ。
「このソースを複数セルを選択しても実行できるようにしてくだしあ」
って書くべきだろ
722名無しさん@そうだ選挙にいこう:2008/06/05(木) 14:20:43
出た。煽るだけで回答を示せないちゃん
723名無しさん@そうだ選挙にいこう:2008/06/05(木) 14:30:53
>>720
選択された範囲全体を半角に変換
Sub aaaa()
 For Each c In Selection.Cells
  c.Value = StrConv(c.Value, vbNarrow)
 Next
End Sub
724名無しさん@そうだ選挙にいこう:2008/06/05(木) 15:22:14
ascだかjisだか使ったほうが早いな
725名無しさん@そうだ選挙にいこう:2008/06/05(木) 15:48:19
>>721-724
ありがとうございます。
おかげさまでなんとかなりました!

質問も文章もとんちんかんで本当にすみませんでした
これで家に帰れます。。。うれしい
726715:2008/06/05(木) 17:17:37
>>716
きれいなシマシマができました。ありがとう
727名無しさん@そうだ選挙にいこう:2008/06/05(木) 18:52:40
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
角度の計算をしたいのですが、分の部分だけを60進数で計算させたいです
ヘルプを見ても時間関連のものばかりでした
728名無しさん@そうだ選挙にいこう:2008/06/05(木) 19:22:34
>>727
単純に言うと繰り上がりと繰り下がりを自作するといい。
乗算は考える必要ある?
729名無しさん@そうだ選挙にいこう:2008/06/05(木) 19:55:18
2003で作った色見本、画像重ねて表示するだけ
2007でやるとずれてめちゃくちゃになるけど互換性ないの?

MSもう死ねよ
730名無しさん@そうだ選挙にいこう:2008/06/05(木) 20:10:40
2007は互換性が本当に低いな
731名無しさん@そうだ選挙にいこう:2008/06/05(木) 20:22:50
なんでExcelに計算以外のことをさせたがるかなあ。
図面を書かせたり。
732名無しさん@そうだ選挙にいこう:2008/06/05(木) 20:28:10
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 複数シート 印刷

複数のシートを選択して、一括印刷しようとしたのですが、
1ページのみ印刷されて、2ページ以降印刷されません。
原因として考えられることがあれば教えてください。

733名無しさん@そうだ選挙にいこう:2008/06/05(木) 20:55:16
>>732
印刷の設定
ドライバの設定
データがない
範囲指定ミス
プレビューの確認漏れ
紙切れ
操作ミス
気のせい
紙がどこかに飛んでいった
734名無しさん@そうだ選挙にいこう:2008/06/05(木) 21:17:08
普通に印刷範囲の指定だろ?
735名無しさん@そうだ選挙にいこう:2008/06/05(木) 21:27:05
【1 OSの種類         .】 WindowsXPPro
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(コードを書いて欲しいです。)
【5 検索キーワード     】 エクセル VBA 列 合計 複数 ファイル 出力

失礼します。

1.1つのファイルに1シートしかない
2.一行目がフィールド名
3.列がAからAC
4.データが入力されている行数が、各ファイルによって違う

このようなxlsファイル500程ありまして、
それぞれのファイルのF列の合計(SUM)計算結果とファイル名を

ファイル名|F列合計
○○○○ |100000
△△△△ |20000
×××× |500000
   ・      ・
   ・      ・
   ・      ・

のように、別の1つのファイルに出力したいのです。

このような処理を、複数のファイル(たとえば指定したフォルダ内の全てのファイル)に対して
一括してできるコードを書いて頂きたいのですが・・・よろしくお願いします。
736名無しさん@そうだ選挙にいこう:2008/06/05(木) 22:29:02
>>735
こんなんでどうだ。もしシート名がSheet1じゃなかったら、もうちょっと工夫する必要が出てくるが。

Sub aaa()
 Application.ScreenUpdating = False

 Dim P As String 'パス名
 Dim N As String 'ファイル名
 Dim R As Long  '行
 
 P = "C:\Documents and Settings\Administrator\デスクトップ\test\" 'フォルダの指定
 If Right(P, 1) <> "\" Then P = P & "\"

 N = Dir(P & "*.xls") 'Excelのファイルを検索
 R = 2
 While N <> ""
  Cells(R, 1) = N
  Cells(R, 2) = "=SUM('" & P & "[" & N & "]Sheet1'!$F$1:$F$65536)"
  N = Dir()
  R = R + 1
 Wend
 
 Cells(1, 1) = "ファイル名"
 Cells(1, 2) = "F列合計"

 Application.ScreenUpdating = True
End Sub
737名無しさん@そうだ選挙にいこう:2008/06/05(木) 22:43:43
【1 OSの種類         .】 MacOSX or WindowsXP
【2 Excelのバージョン   】 Mac:Excel2004 Win:Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 バッチリスト Excel 作成 書式設定


セルの書式設定の表示形式をいじって
「12345678」と入力すると「12:34:56;78」となるようなセルを作りたいのですが
可能なんでしょうか。
色々調べてみましたが、無理なんすかね〜。
738名無しさん@そうだ選挙にいこう:2008/06/05(木) 23:02:08
>>737
数字の意味がどうでもいいのならユーザー定義で
0":"00":"00";"00
739名無しさん@そうだ選挙にいこう:2008/06/05(木) 23:02:24
>>737
00":"00":"00";"00
740名無しさん@そうだ選挙にいこう:2008/06/05(木) 23:05:15
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel エクセル 複合 式

現在、商品の登録をにわか覚えのVlookup,Match等を使い行っているのですが、
A1にある「りんご」を入力するとB1、B2の値がフォームに入力されるような
物を作りたいんです。
B1は、Vlookupで出せるのですが、B2がどうしても出せません。
B2を出す式がございましたら、ご教授下さい。

A B C
1 りんご  50 70
2 30 40
3 ばなな  40 60
741名無しさん@そうだ選挙にいこう:2008/06/05(木) 23:06:39
>>740
B3は出ているんだから同じようにやればいいじゃない。
742名無しさん@そうだ選挙にいこう:2008/06/05(木) 23:07:19
A B C
1りんご 50 70
2 30 40
3ばなな 40 60


ズレてしまったので・・・。
宜しくお願いします。
743名無しさん@そうだ選挙にいこう:2008/06/05(木) 23:12:02
>>739
00!:00!:00!;00
744名無しさん@そうだ選挙にいこう:2008/06/05(木) 23:12:02
   A    B C
1 りんご.  50 70
2       30 40
3 ばなな  40 60
745737:2008/06/05(木) 23:36:04
>738-739

いやーありがとうございます。助かります。
これで入力時間がかなり短縮できそうです。感謝です。
746名無しさん@そうだ選挙にいこう:2008/06/06(金) 01:40:17
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】ワークシート 振り分け
  A B C D E F G
1 Period TF R P  Code  Description  Value
2 2005 I α Γ BE-5 (Codeの詳細) (数値)

というように、1行目に分類、2行目以降にその内容があるものがあります。
以下の作業をしたいです。VBAで可能ならコードをいただきたいです。複雑すぎて自分ではかけませんでした。
@C列、D列のデータを集めて、重複があれば抜く。それを、ほかのすべてのワークシートの1行目と1列目に貼り付ける(リーグ戦のような形になります。A1のみ空欄です。)
A2行目以降、E列の先頭3文字(BE-)を抜いた数値を見て、その数値と同じワークシート名のワークシートがあれば、元のデータのC列(例の2行目ならα)と1行目、元のデータのD列(例の2行目ならΓ)と1行目が一致する箇所に下のデータのG列の数値を持ってくる。
B2行目以降、E列の先頭3文字(BE-)を抜いた数値を見て、その数値と同じワークシート名のワークシートがなければその行はとばす

A, B, Fの各行のデータは使わないです。どうぞよろしくお願いします。
747名無しさん@そうだ選挙にいこう:2008/06/06(金) 01:53:10
>>746
振り分けしたいデータの入ったシートは何枚あんの?
もしくは、振り分け作業はこれから何回ぐらいやる予定なの?
748名無しさん@そうだ選挙にいこう:2008/06/06(金) 02:05:42
>>747
それぞれ、
17枚
20回
です
749名無しさん@そうだ選挙にいこう:2008/06/06(金) 02:08:08
>>747
もとのデータは1枚にまとまっています。
Periodごとに別ファイルにしてあり、20期分の操作をしたいと考えています。

すみません、振り分け先の枚数かと勘違いしました
750名無しさん@そうだ選挙にいこう:2008/06/06(金) 02:53:05
>>746
テストデータ作んのめんどくさい
擬似データうpしたらコード書いてあげるよ
751名無しさん@そうだ選挙にいこう:2008/06/06(金) 03:12:46
>>750
ttp://www11.axfc.net/uploader/He/so/107140.xls
example
データの一部を取り出しました。お願いします。
752名無しさん@そうだ選挙にいこう:2008/06/06(金) 03:46:55
>>751
ttp://www11.axfc.net/uploader/He/so/107145.xlsexample
example

これでいいのかな?
753名無しさん@そうだ選挙にいこう:2008/06/06(金) 03:47:45
754名無しさん@そうだ選挙にいこう:2008/06/06(金) 03:52:27
>>751
連投ゴメソ

Set dct2 = New Scripting.Dictionary

の後に、

n1 = 1
n2 = 1

追加。
755名無しさん@そうだ選挙にいこう:2008/06/06(金) 06:52:07
>>754
ありがとうございました。
756735:2008/06/06(金) 06:53:53
>>736
おお!ありがとうございます!
ただ、シート名がSheet1で統一されてはないのです…
(各ファイル名の一部がそのままシート名になっていて、全シート違う名前なんです)
アクティブシートで指定すればいけそうですね。
ちょっと自分でがんばってみます。
また、夜くらいに報告します。
757名無しさん@そうだ選挙にいこう:2008/06/06(金) 10:35:33
2007はOSで言うところのVistaみたいなもんだろ。
高性能とか直観的IFとか言われても過去のユーザーを
無視した重い糞ツールなんて要りません^^
2003の後継マダー?
758名無しさん@そうだ選挙にいこう:2008/06/06(金) 10:51:09
出ません。
次の質問どうぞ
759名無しさん@そうだ選挙にいこう:2008/06/06(金) 11:59:17
17 名前:デフォルトの名無しさん[sage] 投稿日:2008/06/06(金) 02:16:52
>>11
あるよ。
以上。
はい、次。
760名無しさん@そうだ選挙にいこう:2008/06/06(金) 12:53:40
時刻入力を楽にする(対応する数値で時刻を入力)のに、表示形式の分類で00!:00!:00
を使っていて、なおかつ文字列の角度を75度、右側に罫線で使おうとしてます。

数値を入力後は、罫線も75度に傾いて自分の目的どおりなのですが、
数値入力前の罫線は、真っ直ぐ垂直に立っているように表示されます。
これを数値入力前でも、罫線が75度傾いているように見せるいい方法はないでしょうか?
761名無しさん@そうだ選挙にいこう:2008/06/06(金) 13:37:44
>>760
とりあえず全部のセルに0を入れておく。
762760:2008/06/06(金) 13:39:31
罫線を消して、線をオートシェイプの線で書くことにしました。
お騒がせしました。
763760:2008/06/06(金) 13:43:03
>>761
スペース入れるだけでも、罫線が傾いてくれるみたいなのですが、
人(身内)に渡すソフトで、しかも同じセルで時刻入力を何度も
消し書きするので、何を入れといても消されてしまうので悩んでました。
ありがとうございました。
764名無しさん@そうだ選挙にいこう:2008/06/06(金) 14:18:06
>>763
セルの中身が消されたらスペースを入れるVBAを作るとか
765名無しさん@そうだ選挙にいこう:2008/06/06(金) 14:23:06
セルを保護しておけばいいだけでわ
766名無しさん@そうだ選挙にいこう:2008/06/06(金) 14:28:02
>>765
人災!
767735:2008/06/06(金) 20:11:31
>>736
報告です。
Sheet1の箇所をWorksheets(1)に変更するだけで
期待していた処理が1秒で終わりました!!
ファイル数が多すぎて途方にくれていたので、
本当に聞いて良かったです。
VBAはすごいですね。
今回は完璧なコードを書いて頂き、ありがとうございました。
768名無しさん@そうだ選挙にいこう:2008/06/06(金) 20:28:15
すみません、関数教えて下さい。m(_ _)m
『問題』
水曜日、定休日の会社で水曜日が祝日であれば翌日を振替休日に表示させましょう。
なお、「11月の祭日」欄も参考にして条件付書式を用いて赤字の設定をすること。

日付 曜日 番号 振替 11/1 火 3 11/2 水 4 11/3 木 5 11/4 金 6 11/5 土 7 11/6 日 1 ↓ ↓ ↓ 11/23 水 4 11/24 木 5 振替 ↓ ↓ ↓ 月末までつづく!

@ 2005年11月
11月祭日
文化の日 11/3
勤労感謝の日 11/23

※曜日番号はweekday関数を入れるだけでしたのですぐわかったんですが 日曜と日付+曜日を赤く表示させる方法と 11/24に振替を表示させる方法をどうぞプロの方教えて下さい!
どうか私に勇気と愛を…
769名無しさん@そうだ選挙にいこう:2008/06/06(金) 20:33:15
すみませんちょっと訂正です
※日曜と祭日日付と祭日曜日を赤く表示です。
ごめん!
770名無しさん@そうだ選挙にいこう:2008/06/06(金) 20:38:46
カレンダーはだれでもつくれると豪語する人がちょっと前にいたから
すぐ解答がつくよ
771名無しさん@そうだ選挙にいこう:2008/06/06(金) 20:43:20
>>770 本当ですか!よ〜し期待して待ちます。
772名無しさん@そうだ選挙にいこう:2008/06/06(金) 21:04:53
>>771
無理でした
773名無しさん@そうだ選挙にいこう:2008/06/06(金) 21:08:56
とりあえずバージョンを書いてくれなきゃイヤだ!
774名無しさん@そうだ選挙にいこう:2008/06/06(金) 21:16:40
>>773 2003エクセルです!
775名無しさん@そうだ選挙にいこう:2008/06/06(金) 21:25:18
>>774
了解した!




そして、無理でした!
てか宿題なら自分でやりなさい!
776名無しさん@そうだ選挙にいこう:2008/06/06(金) 21:26:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ブックBのデータをブックAにコピーしてるんですが、
もっとスマートな記述方法お教えてください。

With Workbooks(A).Worksheets("DATA")
  .Cells(ii + 0, jj + 0).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 1).Value
  .Cells(ii + 1, jj + 1).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 2).Value
  .Cells(ii + 1, jj + 16).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 3).Value
  .Cells(ii + 2, jj + 16).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 4).Value
  .Cells(ii + 0, jj + 44).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 5).Value
  .Cells(ii + 1, jj + 44).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 6).Value
  .Cells(ii + 2, jj + 49).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 7).Value
End With
777名無しさん@そうだ選挙にいこう:2008/06/06(金) 21:26:50
数式エディタは、ワードで作ってからエクセルにペーストしたほうがうまくいくのですが

みなさんも、そんなものですか
778もり:2008/06/06(金) 22:00:44
内容:
【1 OSの種類】 WindowsXP
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 EXCEL 関数 同じ文字列

皆様よろしくお願いします。

現在ショップリストを作成しており、
●●SHOP 〒108-0001 東京都〜
■■STORE 〒100-0021 東京都〜
△△店  〒130-0032 千葉県〜

のようにHPからテキストをコピペをしています。
100店を超えてくると同じ店舗と気付かずにペーストしてしまっている事がある
のですが、
被らないようにする手段はありますでしょうか?

私の思いつく限り、店舗名を1つ1つ検索し、被っている店舗がないか確認するし
か思いつきません。
現在300店を超えておりますが、今からでも手段があれば行っていきたいです。
よろしくお願いします。

※ちなみに(●●SHOP 〒108-0001 東京都〜)は1セル内に収まっています。
全然違うソフトですが、確かadobe in designでは出来たような気がします。
779名無しさん@そうだ選挙にいこう:2008/06/06(金) 22:10:46
>>776
コピー先のセルの並びが不規則だからこんな方法しか思い付かん。
見た目は多少スッキリするがスピードは遅くなる。

Dim x As Long
ir = Array(0, 1, 1, 2, 0, 1, 2)
ic = Array(0, 1, 16, 16, 44, 44, 49)

For x = 0 To 6
 Workbooks(A).Worksheets("DATA").Cells(ii + ir(x), jj + ic(x)) = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + x + 1)
Next

RangeとSelectionsの組み合わせでどうにかできそうなんだけどなあ…
780名無しさん@そうだ選挙にいこう:2008/06/06(金) 22:16:10
最後の+1が気になったので修正。こっちのが式の意味がわかりやすいと思う。

Dim x As Long
ir = Array(, 0, 1, 1, 2, 0, 1, 2)
ic = Array(, 0, 1, 16, 16, 44, 44, 49)

For x = 1 To 7
 Workbooks(A).Worksheets("DATA").Cells(ii + ir(x), jj + ic(x)) = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + x)
Next
781名無しさん@そうだ選挙にいこう:2008/06/06(金) 22:18:55
>>778
なにができたのかわからんが、できたのならadobe in designでもなんでも好きに使えよ。
EXCEL使ってで管理するならスペースでセル分けろ。
ピボットでも駆使して重複をさがせ。

いろんな人間が好き勝手作った文字列を管理するのに
コピペだけで楽して管理できると思ったらイカンよ。
782名無しさん@そうだ選挙にいこう:2008/06/06(金) 22:23:33
>>778
A列にデータが入ってるとして、作業列を用意して2行目以降に
=IF(ISERROR(VLOOKUP(A2,A$1:A1,1,0)),"OK","重複")

あと、店名、郵便番号、住所、電話番号は列を分けた方がいいぞ
783名無しさん@そうだ選挙にいこう:2008/06/06(金) 22:27:44
>>768
特定の1ヶ月分を作るだけなら手作業で字を赤くしてきゃいいじゃん
784名無しさん@そうだ選挙にいこう:2008/06/06(金) 22:30:50
>>783
その通りだと思う。
カレンダーはマスターとして持つのがスマートな解。
5年だろうが10ねんだろうが手入力すべき。
その程度の入力は業務のボトルネックではない。
785もり:2008/06/06(金) 22:34:32
>>779 >>780
ご親切にどうもありがとうございます。
これは基礎知識をつけるべく勉強します。

>>781
おっしゃる通りです。
お怒りの中ヒントをくれてありがとうございます。

>>782
出来るとしたらIFかなと思っていたのですが、何を入れてよいのやらさっぱりで
した。
ありがとうございます。
一通り集まったら列分けていきます。

皆様ありがとうございました。
786名無しさん@そうだ選挙にいこう:2008/06/06(金) 22:35:45
同一人物だったのかw
787781:2008/06/06(金) 22:40:50
>>785
別に怒っているわけじゃねぇよ
郵便番号や住所にしても数字を全角や半角で書いているのもあるだろうし
どこかにスペースが入っているのがあるかもしれない。
住所も県名を省略して市から記載されているかもしれない。
いろんな可能性を考えてなきゃならないから面倒だよ
まぁ、300行くらいなら郵便番号住所で並び変えて目で見たほうが早いかもな
今後も増えるのなら>>782のいう通りに項目は分けろ。

しかし同一人物とはw
788名無しさん@そうだ選挙にいこう:2008/06/06(金) 22:54:46
>>783>>784 関数の問題ですので(^_^;)
789名無しさん@そうだ選挙にいこう:2008/06/06(金) 22:55:23
さらに意味のない短縮して223バイト

Dim x As Long
ic = Array(, 0, 1, 16, 16, 44, 44, 49)

For x = 1 To 7
 Workbooks(A).Worksheets("DATA").Cells(ii + (Int(x * 0.9 + 0.2) - 1) Mod 3, jj + ic(x)) = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + x)
Next
790名無しさん@そうだ選挙にいこう:2008/06/06(金) 23:03:08
フィルターをかけた後のデータだけをコピーすることができるはずなのですが、
操作の方法を忘れました。ダイヤログボックスが出て、明示セルなんたらを
チェックするのだった記憶があるのですがわからないので、教えてください。
ちなみに、XPand2003です。
791名無しさん@そうだ選挙にいこう:2008/06/06(金) 23:03:56
>>788
VBAでやるんじゃないの?
関数だけじゃ、それこそ無駄にめんどくさいだけだと思うんだけど。
792名無しさん@そうだ選挙にいこう:2008/06/06(金) 23:04:17
>>790
Alt + ;
793もり:2008/06/06(金) 23:27:29
>>786
同一人物の意味が分からないです。すみません。。

>>787
基本的に以下のURL(ttp://navi.zozo.jp/)からしかコピペしていないので、同店
舗の場合、セル内は全く同じ文字列になります。
複数のブランドの取り扱い店を調べている為、いつのまにか被りが出てきています。
電源を落とさないorキャッシュを削除しない限り、一度アクセスしたリンクは色
が変わるので分かるのですが、電源を落とさざるおえない環境です。

おそらく1000店位いきそうです。。

でも光が見えてきたので色々試してみます。ありがとうございました!!
794名無しさん@そうだ選挙にいこう:2008/06/06(金) 23:30:28
>>793
そういう条件ならピボットテーブルで大丈夫。
795名無しさん@そうだ選挙にいこう:2008/06/06(金) 23:34:14
>>791 無駄にややこしい関数です。
796名無しさん@そうだ選挙にいこう:2008/06/06(金) 23:56:15
>>793
普通は電源切っただけじゃ履歴は消えない
797名無しさん@そうだ選挙にいこう:2008/06/07(土) 00:10:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

セルの書式設定 → 表示形式 → ユーザー定義 にて
1つのセルに、

1200.56×525.77×60.35
160.05×45.21×180.44

といった感じで、サイズを入れたいのですが
どのような定義付けをすれば可能でしょうか?

縦、横、高さの桁数が一定なら、何とか出来るレベルなのですが
桁がマチマチな場合、どのようにすれば良いのか解かりません。
どなたか教えていただけましたらとても助かります。
798名無しさん@そうだ選挙にいこう:2008/06/07(土) 00:19:59
>>797
それをまずどうやって入力するつもりなのさ
799名無しさん@そうだ選挙にいこう:2008/06/07(土) 00:20:16
>>797
書式を文字列にしてそのまま入力
入力したものを計算したいとかならもう一手間必要ですが
800名無しさん@そうだ選挙にいこう:2008/06/07(土) 00:28:49
>>791
自分がわからないからって何でもかんでもVBAとか書くんじゃねーよ。
わからないなら黙ってろって。

>>795
その程度の事なら無駄にややこしい関数なんか使わなくても
OR や COUNTIFあたりで簡単にできる。
宿題だか問題集だかやっててここで答えを聞くような迷惑野郎には
これ以上教える気はないから参考書なり教科書なり読み直して自分でやれ。
801名無しさん@そうだ選挙にいこう:2008/06/07(土) 00:41:21
「中略」の意味で「↓ ↓ ↓ 」を使うのはどこの国の流儀だ?
802797:2008/06/07(土) 00:51:25
レスありがとうございます。

>>798
例えば簡単な例でしたら、0000"×"000"×"00
という定義にして、そのセルに 210052060 と
打てば、2100×520×60となりますよね。
それの応用で何とかならないものかなと思いまして。

>>797
文字列にしないでも、書式標準で良いと思うのですが
今は手入力で 1200.56×525.77×60.35 みたいな入力をしています。
それを数字部分だけの入力(テンキー入力)で済ませられないものかと…。
803797:2008/06/07(土) 00:52:09
アンカーミス失礼しました。>>799様。
804名無しさん@そうだ選挙にいこう:2008/06/07(土) 01:31:17
相談所とは名ばかりの書き込みでワロタ >798.,799
805名無しさん@そうだ選挙にいこう:2008/06/07(土) 01:36:23
>>802
いやだからね、たとえば「1234567812345678」って入れたとして、それが
「123.45×6781.23×456.78」
「1234.56×78.12×3456.78」
の、どれかわからないでしょ、って言いたいの。

とりあえずテンキーだけで入れたいなら×を*にすればいいだけでは。
小数点以下が2桁と決まってるなら、あとから小数点を追加するのは不可能ではない。
806名無しさん@そうだ選挙にいこう:2008/06/07(土) 01:36:46
>>804
>799はともかく >798の疑問は当然だと思うぞ。
結論、804はカス。
807名無しさん@そうだ選挙にいこう:2008/06/07(土) 01:41:00
3つの数字を別々のセルに入れて
= A1 & "×" & B1 & "×" & C1

みたいにしといた方がいいと思うぞ
あとで計算したり検索したり桁を揃えたりする時に楽だし
808名無しさん@そうだ選挙にいこう:2008/06/07(土) 02:13:43
>>802
手間を省きたい。テンキーだけで入れたい。でも小数点と×の両方を省略すると元の数字がわからなくなる。
小数点以下が2桁と決まってるなら、どちらか片方だけを省略することは可能。
小数点は3回、×は2回だから小数点を省略した方が入力する文字が1文字少なくなる。

どっちにしても書式のユーザー定義だけじゃ不可能だけどな。
809名無しさん@そうだ選挙にいこう:2008/06/07(土) 08:45:23
>>805
入力時に区切れるのをしらないのか?
そんなお前はその場しのぎ代用文字*を後で×置換するような
そんな生き方をこれからも続けな

>>806
お前も知らんのか
カスの極みだな
810名無しさん@そうだ選挙にいこう:2008/06/07(土) 09:06:14
>805 の言う通り「*」で入力が吉。意味的にも通じるし。
どうしても「×」にこだわるなら、後から置換すれば良い。
(*の前にチルダを付けないと全部×になるから木をつけれ)
811名無しさん@そうだ選挙にいこう:2008/06/07(土) 09:21:36
>>810
Oh!
*を置換したい場合はチルダ使うのか。。"φ(・ェ・o)~メモメモ
知らんかった。ありがトン
812806:2008/06/07(土) 09:39:37
>>809
ああ、書式設定でやる方法なんか知らないさ。
俺だったら入力そのままで別セルに表示させる。

>入力時に区切れるのをしらないのか?
ぷっ、これこそバカw
813名無しさん@そうだ選挙にいこう:2008/06/07(土) 10:34:27
>>810-812
今更、*の置換方法にまで触れるのかよ
それに立て続けにオナニーはやめなよ
814名無しさん@そうだ選挙にいこう:2008/06/07(土) 10:42:00
バカ質問にはバカ解答。お見事!!
815名無しさん@そうだ選挙にいこう:2008/06/07(土) 10:44:00
>>812
> >入力時に区切れるのをしらないのか?
> ぷっ、これこそバカw

横レスですが、便利ですよ? どう馬鹿なのかわかりませんが。
別に3セル用意して入力すなんて、印刷する場合、(印刷するの必要があるのか知らん無いですが)
印刷範囲を意識するか、非表示行列設定するか等々、余計な手間が増えますよー。
このスレッドは想定力に欠ける短絡的なレスが多いですね。
816名無しさん@そうだ選挙にいこう:2008/06/07(土) 10:55:45
>>815

君も想像力に欠けてると思うけど・・・
817名無しさん@そうだ選挙にいこう:2008/06/07(土) 11:02:13
Excel 識者不在。期待タブーな相談所 70

みたいなスレタイで次スレ希望。
818名無しさん@そうだ選挙にいこう:2008/06/07(土) 11:07:59
>813
別にイチャモンはいいから、みんなが「おおー!」というような
入力時に区切る方法を書いてくれ。
819名無しさん@そうだ選挙にいこう:2008/06/07(土) 11:23:45
開き直りかぁ。いつの時代もヘボ回答者が質問者へ転向する光景は無様だ。
820名無しさん@そうだ選挙にいこう:2008/06/07(土) 11:30:57
だからイチャモンはいいから、みんなが「おおー!」というような
入力時に区切る方法を書いてくれ。
821名無しさん@そうだ選挙にいこう:2008/06/07(土) 11:49:28
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル ファイルを保存することができません

質問です、作業中のファイルが突然保存できなくなってしまいました
作業状況の保存はできるのですが上書きや名前変更での保存ができません
マクロで写真を貼り付けるファイルなのですが
一緒に開いていたVBAを使っていないファイルは保存できます。


822名無しさん@そうだ選挙にいこう:2008/06/07(土) 12:39:49
>>821
【3 VBAが使えるか    .】 はい
だったら、どういうマクロが仕込んであるのか見てみたら??
823名無しさん@そうだ選挙にいこう:2008/06/07(土) 12:40:38
よく読め。
824名無しさん@そうだ選挙にいこう:2008/06/07(土) 12:46:58
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

お客さんの来店日と来店して物を購入したかどうかの○×をトを一つのエクセルシートにまとめてあって
購入者/来店者数の割合を簡単に求められるエクセルの操作方法はないでしょうか?
825名無しさん@そうだ選挙にいこう:2008/06/07(土) 12:49:04
割り算
826名無しさん@そうだ選挙にいこう:2008/06/07(土) 12:52:58
>>824
ピボットテーブルを使うといい。
ピボットテーブルは比率も計算できるよ。
827名無しさん@そうだ選挙にいこう:2008/06/07(土) 13:06:32
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

    A列
@行目 2
A   3
B  (空白)
C   6
D   3

のように数字が入っている所とと入っていない所が
ある列に対し、数字が入っている所を判別するにはどうすれば良いですか?
説明が下手ですみません。。。
イメージとしては
if(A1=*,1,"")
という感じのことをしたいのですが。
よろしくお願いします。
828名無しさん@そうだ選挙にいこう:2008/06/07(土) 13:11:49
ISNUMBER()
829名無しさん@そうだ選挙にいこう:2008/06/07(土) 13:23:38
828さん

ありがとうございます。
830名無しさん@そうだ選挙にいこう:2008/06/07(土) 13:35:15
>>821

マクロが使える子とは思えない質問だな。
831名無しさん@そうだ選挙にいこう:2008/06/07(土) 14:15:13
>>821
それは元々、EXCEL2000で作ったファイル?
2003とかで作ったファイルを読み込んで、作業中は互換性の問題を
感じることも無く進めているつもりでも、
いざ保存する時になると、エラー窓が出て保存出来ないってことは
良くある。
マクロというより、セル内の数式、書式、図形などが災いしていたりする。
832821:2008/06/07(土) 15:36:40
フリーソフトのほうで拾ってきたファイルなのでパスかかってて
マクロは覗けないんです
今までは問題なく使えてたので・・・
結局PC再起動して作り直して保存できました
レスくれたひとありがとうございました
833名無しさん@そうだ選挙にいこう:2008/06/07(土) 15:39:55
エクセルを起動した際、毎回、再計算され、時間がかかっています。
前回、終了時には、再計算の上、保存されているので、再計算せずに開きたいです。
・起動時の再計算を毎回させないといけないのでしょうか?
・再計算せずに起動するには、ブックオープンイベントにはどのように書いたらいいですか
xp 2003 vba可
834名無しさん@そうだ選挙にいこう:2008/06/07(土) 15:56:31
商品管理のためにVBAを使わなければならないのですがうまい方法は無いでしょうか。

商品コードAに月日と番号を振って管理しています。
例えば今日三個目のメロンが届くとそれは
ME060703
のような番号になります。

どこまで番号が発行されたかを外部ファイルで保存管理したい場合
どうするのが最適でしょうか。コード・月日・番号をCSVで管理すればいいのでしょうか?

VBAというより設計に近い話ですがよろしくお願いします。
835名無しさん@そうだ選挙にいこう:2008/06/07(土) 16:06:37
>>834
コードの桁に意味を持たせてはいけません。
業務の規模やルールが変わった時に破綻します。
商品コード 入荷日 入荷数
のように別の項目に分けましょう。
836名無しさん@そうだ選挙にいこう:2008/06/07(土) 16:08:08
>>833
オプションの計算方法を手動にするのではだめなのか?

>>834
ここはVBAスレでも設計スレでもないのだが・・・
そんな番号の発生方法なら発生順に好きなフォーマットで全部書き出しておけ
837名無しさん@そうだ選挙にいこう:2008/06/07(土) 16:11:36
>>836
>ここはVBAスレでも設計スレでもないのだが・・・
何言ってんの?
838名無しさん@そうだ選挙にいこう:2008/06/07(土) 16:33:44
全ての行のAとB列を結合したいのですが
どうすれば良いのでしょうか?

839名無しさん@そうだ選挙にいこう:2008/06/07(土) 16:35:35
テンプレ使ってくれ。
840名無しさん@そうだ選挙にいこう:2008/06/07(土) 16:37:53
>>838
=A1&B1って入れてオートフィル
作業列不可ならVBA
841名無しさん@そうだ選挙にいこう:2008/06/07(土) 17:47:49
>>835
ありがとうございます。
商品コード 入荷日 入荷数で分けるとすると、どんな管理をすればいいんでしょうか。
以前は入荷数だけだったので、インクリメントした入荷数をファイルに書き出すだけで
済んでいた今は要素が三つあるわけでこれをどうしたらよいのかが全く思い浮かばなくて・・・



>>836
低脳のくせにレスすんなよ。誰もがああなるほどすげぇやそいつはって回答を示した後で
そういうこと書くならこっちだってここに書く前にどこか然るべき場所を探して質問してから
その実装方法をここで聞くべきだったな、とか思うけど何もしない奴に偉そうにそんな事
言われても腹しか立たない。つーか回りの奴だって「何こいつ?」と思っていてもそれを
黙っていてくれるんだよ。自分の品格とスレの空気のためにな!
それがなんだよお前は自分の思ったことヘラヘラ書き込みやがってうんこ野郎が。お前は
「あいつに子供ができたらこの名前を付けてやってくれ」とじいちゃんが書き残したメモが偶然
じいちゃんの命日前日にみつかって、妻と話した結果すばらしい名前だからこの名前を付けよう
ということになって、命日当日、業務を調整して会社を早退し市役所へ向かうも途中で
渋滞に巻き込まれ、やっと窓口についたら17:00調度で間に合ったと思ったら目の前に
 「本日の業務は終了いたしました」
の札を置かれ、なんとしても今日届けたいんですお願いしますこれだけ受理してください
俺のじいちゃんが考えた名前を子供に付けてやりたいんです今日はじいちゃんの命日で
これは何かの縁なんだこの子が生まれる前からこの子を想っていた人がいたことを
名前で証明させてあげたいんだどうかこの通りお願いいたしますと土下座するも
 「また明日きてください」
とゴミを見るような目つきで言い捨てる40代後半未婚の独身女性か!?
842名無しさん@そうだ選挙にいこう:2008/06/07(土) 17:57:08
長文キモい
まで読んだ
843名無しさん@そうだ選挙にいこう:2008/06/07(土) 17:59:42
>>841
Excelと日本語を基礎からやり直すことをすすめる。
844名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:02:54
2ちゃんって怖いね
845名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:05:41
日本語としてはすばらしいだろ支離滅裂と思わせてすんなり読めるし。
ただ内容が電波。
846名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:06:00
>>834
業務内容がよく分からないので最適な設計とか管理方法とか質問されても答えようが無いと思うんだが。
847名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:07:40
データ構造の設計はピボ厨さんにやらせると完璧なものを作ってくれるぞ
848名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:07:50
要は三つの要素、「α(変動)+β(加算)+θ(加算)」から成る番号を
どうやって管理したらいいのかという話だろ。
849名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:08:52
α、βの次がγじゃなくてθなのはさすがだな、兄者
850名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:16:15
エクセルでフォルダを監視させて、作業が終わったものをから
自動的に色を変える(もしくは斜線を引く)などということはできるでしょうか?
教えてください。
851名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:18:34
それはつまりフォルダ名が記載されたフォルダがあり、何らかの作業が終わると
そのセルに色をつけたり斜線を引けるか?という質問で良いのだよね。

↓じゃ、答えてやってくれたまえ
852名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:24:00
>>850
何らかの作業が行われたかを判別して
それにあった処理をすれば良い
853名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:24:25
>>850
まず「何をやったら作業が終わるのか」定義を書いてくれ
内容によって監視できたりできなかったりする
854名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:24:57
フォルダの動画を再生して、絶頂を迎えたら色がつくようにしたいです
855名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:26:04
>>851-854
ここまで自演
856名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:38:26
>>841
入荷日、入荷数が変わっても商品コードは不変である。
というポリシーに変更すればよい。
どちらかというと世間じゃこれが普通。
857850:2008/06/07(土) 18:39:51
すいませんド素人なんです…。

フォルダAの中に作業が終わったフォルダを手動でつっこんでいくと、
フォルダAを監視してるエクセルが、
それを自動的に読み込んでいって更に
色をかえてくれるみたいなことなんですけど…。
うまく説明出来なくてすいません。
858名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:44:27
青果は入荷のたびに産地や生産者が変わるから、ユニークなコードを付けてるとキリがないんじゃね?
想像だけどさ。

まあ、何がやりたいのかもうちょっと詳しく書いてくれないと答えようがないわな。
859名無しさん@そうだ選挙にいこう:2008/06/07(土) 18:48:08
>>857
作業が終わった「ファイル」じゃなくて「フォルダ」を突っ込む(コピーか移動する)の?
860850:2008/06/07(土) 19:05:49
>>859そうです!その中にファイルが入ってる状態です。
861名無しさん@そうだ選挙にいこう:2008/06/07(土) 19:14:11
>>857
VBA使わないと出来ないからド素人だとどうかな・・・
Excelにこだわらずフリーソフトを使うというのも一つの手。
「フリーソフト フォルダ監視」とかで検索すると色々見つかるよ。
862850:2008/06/07(土) 20:03:54
すいません、ありがとうございました!
探してみます
863名無しさん@そうだ選挙にいこう:2008/06/07(土) 22:31:17
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(スキルは初心者程度です)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル コピー +自己購入している書籍

シートAのD列に行数は(開始行は定まっていて)終了行が不定で数値を入力しているのですが
その後、繰り返し同じD列の開始定位置から繰り返し入力を行っています。それをそのままマクロ実行でシートBのA列にコピーしたいのですがよい方法はないでしょうか?
コピーするだけなら問題ないのですが、シートBのコピー先にはシートAの内容を上書きすることなく続ける形でコピーをしたいのですが・・・
行が不定なのと上書きしないように・・というのがネックになってます。
よろしければお願いします。

例)1.2.3.4.5.6.と入力して実行→シートBのA列に1,2,3,4,5,6
  7.8.9.10  と入力して実行→シートBのA列に1〜6に続けて7.8.9.10
864名無しさん@そうだ選挙にいこう:2008/06/07(土) 22:49:54
はじめからシートBに入力すれば?
865名無しさん@そうだ選挙にいこう:2008/06/07(土) 22:52:08
>>863
ひんと
xlUp
866名無しさん@そうだ選挙にいこう:2008/06/07(土) 22:54:40
【1 OSの種類         .】 WindowsXPsp2
【2 Excelのバージョン   】 Excel2003

今までは、例えばA29にフォーカスがあり、キーボードの↓キーを押すとA30にフォーカスが移っていたのですが、
↓キーを押すとフォーカスがA29のままで↓キー1回につき、下に1行ずつページ送りがされるようになってしまいました。
どなたか解決方法をご存じの方おりましたら教えて頂ければ幸いです。
867名無しさん@そうだ選挙にいこう:2008/06/07(土) 22:55:58
>>866
ScrollLockというキーを押してみれ
868名無しさん@そうだ選挙にいこう:2008/06/07(土) 22:57:54
>>867
おおお!出来ました、ありがとうございます!
スクロールロックキーの存在を初めて知った・・・w
869863:2008/06/07(土) 23:01:04
>>864
会社の業務で使用なんですが
シートAに一時的に入力しているのは入力が正しいか確認する為のマクロをすでに組んでいまして・・・
結果的にOKなのがコピー元のD列に表示されるようなつくりなんです。

今実際にやってるのはマクロでなくそのコピー元をドラッグして手動でコピー先に貼り付けてるんですが、日に100回以上やってるとさすがに
なんとかならんかな・・と。
>>865
ひんとだけではだぶん今の俺の能力では無理です><

よければオススメの書籍あれば教えてくだされ。
初心者本だと単一マクロなんで応用にどうも弱いです。
870名無しさん@そうだ選挙にいこう:2008/06/07(土) 23:03:49
>>869
なぜコピーしているの?
その目的は?
871824:2008/06/07(土) 23:03:59
>>826
ご回答ありがとうございます
大量のデータがあるので一々手作業でやっていたら時間が
かかるので作業を自動化したいと思っておりました
明日を利用し取り組みます
872名無しさん@そうだ選挙にいこう:2008/06/07(土) 23:11:32
>>871
ピボットテーブルを使えば、来店時期別とかお客さん別とか自由自在に
購入率を求めることができるよ。
873名無しさん@そうだ選挙にいこう:2008/06/07(土) 23:52:50
>>869
コピーをマクロでするのは簡単だけど
入力が正しいかのチェックをシートBでやってもいいんじゃないの
874名無しさん@そうだ選挙にいこう:2008/06/08(日) 00:00:44
>>869
xlUpで検索すると、データの最後が何行目に入ってるか調べる方法が出てくるよ。
最後の行の次が空白だから、そっから次のデータを入れるようなコードを書けばいい。
875名無しさん@そうだ選挙にいこう:2008/06/08(日) 00:10:03
ずっと>>865調べて苦戦してます

>>870>>873
コピーからの作業はすでにできている既存部分の使用で、質問ではなかったので記載してませんが
コピー先のシートは顧客にデータ報告できる様な様式と更にその番号を加工するマクロを作ってます。

シートBで直接入力すると、ifのケースが発生して今の処理よりおそらく容量的にも効率はあがりますが・・・確実に今よりは大変になるんで・・・
具体的にはチェックではじかれた場合の様式の間詰め処理や顧客には報告できない部分(例えば)入力チェック欄の削除 等。

質問からずれましたが・・
876名無しさん@そうだ選挙にいこう:2008/06/08(日) 00:19:03
>>875
シートAのD列にデータを入れる時、終了行の下は空白?
877名無しさん@そうだ選挙にいこう:2008/06/08(日) 00:30:11
人に聞く前にもう少し勉強したほうがいい。
質問できるレベルになってない。
878名無しさん@そうだ選挙にいこう:2008/06/08(日) 00:32:22
そこまでできるんなら単にコピペする程度のことでなに手間取ってんのって感じ。
シートBの作業セルに最後の行+1のアドレスが入る式をいれて、コピペするとき
そこを参照すればいいじゃん。最後の行はCOUNTでわかるだろ。
もちろん最後の行を検索する方法もあるだろうけど。
879名無しさん@そうだ選挙にいこう:2008/06/08(日) 00:43:33
質問できるレベル・・・プッ
880名無しさん@そうだ選挙にいこう:2008/06/08(日) 01:18:03
>>877は質問に答えるレベルになってないwというか日本語の使い方を(ry
881名無しさん@そうだ選挙にいこう:2008/06/08(日) 01:30:14
「関西(完済)人になろう」なんてCMやってるけど、そのうち
「朝鮮(挑戦)人になろう」なんて言い出しやがるんじゃねぇかと
思ってニヤニヤしてるうちに一日が終わった。
882881:2008/06/08(日) 01:30:36
誤爆です、申し訳ありません。
883名無しさん@そうだ選挙にいこう:2008/06/08(日) 05:16:43
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい(少し)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 指定した日に貼り付け マクロ 変数等

    | A | B | C | D | E | F | G | H | I  | J | K | L |
──|──|──|──|──|──|──|──|──|──|──|──|──|
  1 .|      6/4         |     6/5      |      6/6         |
──|──|──|──|──|──|──|──|──|──|──|──|──|
  2 .|山田|    |    |    |山田|    |    |    |山田|    |    |    |
──|──|──|──|──|──|──|──|──|──|──|──|──|
  3 .|鈴木|    |    |    |鈴木|    |    |    |鈴木|    |    |    |
──|──|──|──|──|──|──|──|──|──|──|──|──|
  4 .|田中|    |    |    |田中|    |    |    |田中|    |    |    |
──|──|──|──|──|──|──|──|──|──|──|──|──|
  5 .|山本|    |    |    |山本|    |    |    |山本|    |    |    |
──|──|──|──|──|──|──|──|──|──|──|──|──|
  6 .|高橋|    |    |    |高橋|    |    |    |高橋|    |    |    |
──|──|──|──|──|──|──|──|──|──|──|──|──|

上のようなシートに別シートからデータを貼り付けます。
6/4分はB2:D6へ、6/5分はF2:H6へ、6/6分はJ2:L6へ、……といった感じです。
これを毎週月曜日に1週間分まとめてやらなければなりません。
指定した日付に貼り付けるようなワークシート関数やVBAはありませんでしょうか?
884名無しさん@そうだ選挙にいこう:2008/06/08(日) 06:09:41
>>883
貼り付ける前のデータが、別シートにどういう順番で並んでいるかがわからないと
どうにも答えようがない

あと、6/4は水曜だけど、水曜から始まる表を月曜に作るの?
885名無しさん@そうだ選挙にいこう:2008/06/08(日) 07:39:09
>>883
表を作る時は行と列を明確にして下さい。
この表の場合、列があいまい。
886名無しさん@そうだ選挙にいこう:2008/06/08(日) 08:25:18
>>885
1行目は4列ずつ結合してあるとオレは読み取ったが
887名無しさん@そうだ選挙にいこう:2008/06/08(日) 09:22:08
>>886
一行目が結合してあってもあいまい性は解消されないよ。
888名無しさん@そうだ選挙にいこう:2008/06/08(日) 09:38:10
また貼り付けの話か そもそもデータの構造が悪い
6/4 山田 なんたら
6/4 鈴木 かんたら
6/5 山田 なんたら
6/5 鈴木 かんたら
こうやってピボットテーブルで整形できまり
889名無しさん@そうだ選挙にいこう:2008/06/08(日) 10:06:22
>>887
どこがあいまいなんだ?
890名無しさん@そうだ選挙にいこう:2008/06/08(日) 10:22:11
>>875
顧客には再利用できるデータとして渡したいのかな?
そうでなければ印刷範囲の指定で必要な部分だけ印刷して渡したり、
PDFに変換して渡すのがいいと思うんだが。

データ渡しするにしても、シートを2つに分けずに最初から1つのシートに入力して、
顧客に見せてもいいデータだけを新規ファイルに値貼り付けするようなマクロを組んだ方がはるかに楽だよ。

現状のやり方だと自分の手元に残るデータ=顧客に渡すデータだから、
何かチェックにミスがあった場合でも元のデータを復元できなくて困るんじゃないかなあ。
891名無しさん@そうだ選挙にいこう:2008/06/08(日) 10:42:42
ちっとも治療しないで、そもそも生活習慣が悪いと
説教垂れてばかりの病院みたいな、、
892名無しさん@そうだ選挙にいこう:2008/06/08(日) 10:53:14
要領を得ない質問する人って根本的なところから
仕事の進め方が間違ってる場合が多いからなあ。
893名無しさん@そうだ選挙にいこう:2008/06/08(日) 12:05:22
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 条件に合う 順に並べ

元のデータ(またはその属性)から条件に合うものだけを抽出し、別のセルに上から順に隙間なく並べるにはどうしたらよいでしょうか?
ただし、オートフィルタ等の手動操作によって並べ替えるのではなく、元データ・抽出データとも常時同じフォーマットで表示したままとします。
(抽出条件指定時に同じフォーマットのまま内容が入れ替わる)

例1)条件:女
元データ 性別 抽出データ
青木    男  岩崎
岩崎    女  上田
上田    女  岡田
遠藤    男  (なし)
岡田    女  (なし)

例2)条件:正規データ
元データ  抽出データ
A       A
#N/A    C
C       E
#DIV/0!   (なし)
E      (なし)

なお、元データ(およびその属性)と抽出データ表示欄は必ずしも並んでいる必要はありません。
ネット検索してもオートフィルタがらみの記事はいくらでも見つかるのですが、関数で処理しているものは見つからなかったので、よろしくおねがいします。
894名無しさん@そうだ選挙にいこう:2008/06/08(日) 12:22:29
見つからないのは、関数でするのが現実的じゃないからだよ。

無理やりやるとすれば、例1の場合、作業列その1をつくって性別が女なら1を表示
作業列その2をつくって、作業列その1が1なら連番を表示
抽出シートには1から連番を適当につくっておいて、VLOOKUPで抽出データを参照
895名無しさん@そうだ選挙にいこう:2008/06/08(日) 12:34:40
>>893
そういうのはフィルタオプションを使えば割と簡単にできるよ。
説明が面倒なんで「Excel フィルタオプション」とかでググってみて下さい。
896名無しさん@そうだ選挙にいこう:2008/06/08(日) 12:52:53
>>889
例えば、6/4の山田さんは3つの列があるんだけど、それぞれ何?
897名無しさん@そうだ選挙にいこう:2008/06/08(日) 13:01:06
>>894-895
ありがとうございます。
>>894の方法でできました。ありがとうございました。
898名無しさん@そうだ選挙にいこう:2008/06/08(日) 13:05:37
>>892
同感。
単純なことを無理に難しくやってる人多いね。
899名無しさん@そうだ選挙にいこう:2008/06/08(日) 13:21:15
>>897
やっぱり現実的じゃない方法を選んだか。こういう手法は元データが増減や抽出データの並べ替えに弱いんだ。
遠回りして結局フィルタがいいという結論に到達するんだろうな。
900名無しさん@そうだ選挙にいこう:2008/06/08(日) 13:48:27
>>896
いやだから、並べ替える前のデータが出てこないことには話が進まないんだってば
901名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:16:23
エクセルでグラフを書いたんですけど、コードを添付しろと言われました
コードって何のことでしょうか?
902名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:23:15
>>900
いやだから前とか後とか関係ないんだってば。
処理後のデータであっても処理の意味が明確であれば処理前のデータについても明確にわかる。
そもそも>>896

>>889
>どこがあいまいなんだ?

に対する返事だよ。
もう一度聞くね。
例えば、6/4の山田さんは3つの列があるんだけど、それぞれ何?
903名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:25:10
バスト・ウエスト・ヒップ
904名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:27:53
質問に質問で返すアホ
905名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:39:53
>>902
> 例えば、6/4の山田さんは3つの列があるんだけど、それぞれ何?
元のデータを見ないでも、その3つの列が何かってのが分かったら>>883に答えられるっての?
すごーい
馬鹿じゃないの
906名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:43:37
>>905
例えば処理後の3列がバスト、ウエスト、ヒップだとしたら、
元のデータのバスト、ウエスト、ヒップからデータをコピーしたらいいだろ?

バカはお前じゃないの?
907名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:44:11
データを正規化するには3列の内容が分からないとって言いたいんじゃないのかな
908名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:51:40
>>906
それをするにはどうすればいいですかって質問だろw
909名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:54:54
>>908
ピボットテーブル使えばいいじゃない。
はい解決。次。
910名無しさん@そうだ選挙にいこう:2008/06/08(日) 14:56:43
>>908
こいつ答えにつまるとすぐに話題をそらすやつだな。
911名無しさん@そうだ選挙にいこう:2008/06/08(日) 15:01:00
>>909 それだけの解答するのにどんだけレスつかってんだよ バカじゃねーの?
912名無しさん@そうだ選挙にいこう:2008/06/08(日) 15:01:38
俺もピボットテーブルはよく使うけどピボット厨はやりすぎっつーか社会に出た方がいいよ
913名無しさん@そうだ選挙にいこう:2008/06/08(日) 15:04:30
だいたいピボットなら>>888で解答済みじゃん わけわかんね
914名無しさん@そうだ選挙にいこう:2008/06/08(日) 15:10:29
>>912
ピボットにしろVBAにしろ、
> 例えば、6/4の山田さんは3つの列があるんだけど、それぞれ何?
これがわからなければ答えようが無い。
それさえわかれば、しかるべきところからしかるべきところにコピーすればいいんだよ。
ピボットでやるのがかっこいいと思うけどな。
915名無しさん@そうだ選挙にいこう:2008/06/08(日) 15:15:26
だから
>しかるべきところからしかるべきところにコピーすればいいんだよ
をどうやってやればいいのかって質問なんだってば。日本語読めないのかおまえは
916名無しさん@そうだ選挙にいこう:2008/06/08(日) 15:16:37
>>915
もういやだ。
バカの相手はしたくない。お前質問者じゃないんだろ。
ひっこめ。
917名無しさん@そうだ選挙にいこう:2008/06/08(日) 15:47:16
ピボット厨の回答能力のなさは以前から、指摘されてる。
質問者も、回答者もかわいそうだが、あきらめろ。
918917:2008/06/08(日) 15:49:23
このスレ、折れは、今日、今来たところwww
919名無しさん@そうだ選挙にいこう:2008/06/08(日) 15:51:24
>>916
元のデータが無くても回答可能なエスパーがバカの相手くらいで弱音を吐くなよ
920名無しさん@そうだ選挙にいこう:2008/06/08(日) 16:02:11
それ程のエスパーなら列があいまいとか関係なくね?

つか「列があいまい」って・・・
921名無しさん@そうだ選挙にいこう:2008/06/08(日) 16:02:31
このスレの質問の大半はピボットで解決していると思うが…。
922名無しさん@そうだ選挙にいこう:2008/06/08(日) 16:03:56
ピボ厨の気持ちも分かるんだが・・・
ピボ厨はもう少しコミュニケーション力を付けようぜ
923名無しさん@そうだ選挙にいこう:2008/06/08(日) 16:07:09
このスレの質問のピボットでの解決率をExcelで求めたいんですが、どうしたらいいですか?
924名無しさん@そうだ選挙にいこう:2008/06/08(日) 16:08:14
>>923
これから統計とっていこうよ。
925名無しさん@そうだ選挙にいこう:2008/06/08(日) 16:11:07
>>916にバカと言われて自覚のある連中がわいてきた。
926名無しさん@そうだ選挙にいこう:2008/06/08(日) 16:12:40
自己紹介乙
927名無しさん@そうだ選挙にいこう:2008/06/08(日) 17:33:40
ビボットだけじゃ仕事になんねーんだよな
ビボット君も大人になったらイヤでも解ることだから
みんなソットしておいてやりなよ
928名無しさん@そうだ選挙にいこう:2008/06/08(日) 18:01:41
VBAができるやつはピボットはあまり使わないんじゃない?
同等なことは頭を使えば簡単にできるし。
929名無しさん@そうだ選挙にいこう:2008/06/08(日) 18:05:38
(1)まずデータを集める。これが一番大変。場合によっては何年もかかる。
(2)次にピボットで集計する。たぶん一瞬で終わる。
(3)最後に分析結果の文章を添えて、報告書として体裁良くまとめる。これもかなりの労力が必要。

全体の仕事から見れば集計なんてほんの一瞬だから、ピボットだろうが手作業でコピペだろうが
能率は大して変わんないっつーの。
2番だけできても何の役にたたねーんだよ。
930名無しさん@そうだ選挙にいこう:2008/06/08(日) 18:16:51
>>928の考えが一番ヴァカw
931名無しさん@そうだ選挙にいこう:2008/06/08(日) 18:28:46
vba厨だが確かにピボットは使う機会少ないと思う
もちろん正規化されていればつかうが、
>>893>>883の例だと正規化せずに直接データをほおりこむようにするね
特に>>883はやりやすそう
>>893はオートフィルタと並び替えを手動でやると思う
もちろん頻度等にもよるけど

932名無しさん@そうだ選挙にいこう:2008/06/08(日) 18:46:44
>>927
ピボットで楽々仕事ができる環境じゃない人は不幸だと思う。
ちなみに何がネックでピボット使えないの?
>>928
うーん。何言ってるのかわからない。
>>929
集計なんてほんの一瞬でやりたいよね。わかります。
>>931
VBAでやりたければそれでもいいんだけど、>>883の場合は何をやるのか説明できる?
933名無しさん@そうだ選挙にいこう:2008/06/08(日) 18:57:51
別シートがどういうものか不明瞭だがそれさえわかれば簡単
大方シート名かファイル名に日付が入ってるだろうからそれを引っ張ってくる
多分だけど俺ならoffsetを使う

ただ当日渡されるってだけでデータ以外は同じファイルだと怖いね
担当者が休んだ場合など、翌日に処理する可能性もあるから
934名無しさん@そうだ選挙にいこう:2008/06/08(日) 19:03:14
>>933
元データには集計をするための情報が含まれているのはまず間違いない。
それがなければ集計不可能なんだから。
集計結果は日付ごとに3列あるわけなんだがこれをどう解釈するの。

ピボット使わない人はこういう感覚が欠如しているんじゃないか。
935名無しさん@そうだ選挙にいこう:2008/06/08(日) 20:15:20
元の質問には集計とは一言も書いてないし。
その日に応対するお客さんか最大3人とかそんなんじゃないの?
結果をまとめるんじゃなくて、次の一週間の予定表を作りたいのかもしらんぞ。
936名無しさん@そうだ選挙にいこう:2008/06/08(日) 20:36:31
データのシートから貼り付けたいんだから
=Sheet1!(A1)とかじゃだめなの?
マクロだったら
WorkSheet(Sheet2).Range("B2")=WorkSheet(Sheet1).Range("B2")
とか。
元データがどう並んでるか解らないからループが使えるかどうか解らないけど
>>883はそういうことが聞きたいんじゃないの?
937名無しさん@そうだ選挙にいこう:2008/06/08(日) 20:36:50
>>935
あんまり頭の悪いことはかかないでくれ。
938名無しさん@そうだ選挙にいこう:2008/06/08(日) 20:51:28
>>936
文法ムチャクチャw
939名無しさん@そうだ選挙にいこう:2008/06/08(日) 20:58:01
>>938
おう、悪いな。 s が抜けてたり " が抜けててエラーになるのは日常茶飯事だ。
言いたいことはわかってくれ。
940883:2008/06/08(日) 22:04:14
お騒がせして皆様申し訳ありません。
>>883の表の名前の横の3列は空白です。
別シートも同じようなつくりになっていますが
空白のところに売上、顧客数、単価が入力されています。
941名無しさん@そうだ選挙にいこう:2008/06/08(日) 22:11:02
ほれ 項目が明らかになったぞ ちゃんと回答してやれ
942名無しさん@そうだ選挙にいこう:2008/06/08(日) 22:16:35
元データのシートが全く同じ形式なら
=Sheet1!B2
で良くね?
943名無しさん@そうだ選挙にいこう:2008/06/08(日) 22:17:36
>>940
まったく同じ順番なら丸ごとコピーすればいいと思うんだけど、それができないってことは
並んでる順番が違うんでしょ?
それをはっきりと書いてくれなきゃどうしようもないよ。

とにかく説明はいいから別シートの一部を書いてくれ。
944名無しさん@そうだ選挙にいこう:2008/06/08(日) 22:29:49
売上は売上のところに
顧客数は顧客数のところに
単価は単価のところに

コピーしてやればよい。
945名無しさん@そうだ選挙にいこう:2008/06/09(月) 01:01:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL 在庫管理

エクセルで在庫管理する方法を教えて下さい。
お客さんの倉庫5ヶ所に欠品を起こさないように商品を納入しないといけません。
対象となる商品点数は13種類です。
管理する期間は過去3ヶ月程度から1週間先の予定くらいまでを考えています。
各倉庫からの出荷情報は顧客のWebサイトから入手することができます。
今後、倉庫数、商品点数ともに変化する可能性があります。

よろしくお願いします。
946名無しさん@そうだ選挙にいこう:2008/06/09(月) 01:06:40
また荒れるヨカン…
947名無しさん@そうだ選挙にいこう:2008/06/09(月) 01:18:38
>>945
在庫管理というのは、文字だけの掲示板で説明できるほど簡単な物ではないので、既製品を使ってください。

ttp://www.vector.co.jp/vpack/filearea/win/business/hanbai/

在庫管理が自力で作れる程度の能力があれば、VBAの知識もそれなりにあるはずなので、
VBAが使えない今のあなたには、たとえ教えてもらいながらでも、自作はたぶん無理だと思います。
948名無しさん@そうだ選挙にいこう:2008/06/09(月) 01:18:53
Sheet1に倉庫1、Sheet2に倉庫2・・・と作成
それぞれのSheet毎に期間と商品点数の表を作成するだけ
倉庫数が増えればSheetを増やす
商品点数が増減するなら表の項目を変更する
終了
949名無しさん@そうだ選挙にいこう:2008/06/09(月) 01:29:39
所詮この程度か。
このスレどこまでレベル低いんだよ。
在庫管理すらできないやつがどんな仕事してるんだろう。
倉庫ごとにシート分けるのもかっこわるい。

950名無しさん@そうだ選挙にいこう:2008/06/09(月) 01:33:32
神降臨 カミ━━━━(。A。)━━━━!!
951名無しさん@そうだ選挙にいこう:2008/06/09(月) 01:37:59
ざわざわ......
952名無しさん@そうだ選挙にいこう:2008/06/09(月) 01:40:03
ピボット使えばできるよ。冗談でもなんでもなく。
953名無しさん@そうだ選挙にいこう:2008/06/09(月) 02:36:52
何?
在庫管理のどこが難しいって?
954名無しさん@そうだ選挙にいこう:2008/06/09(月) 02:38:03
文字で説明できない奴が在庫管理かじったことがあるのを自慢して去ったのか
955名無しさん@そうだ選挙にいこう:2008/06/09(月) 02:42:37
誰でもいいから説明してやれよ。最近雑談が多すぎるぞ
956名無しさん@そうだ選挙にいこう:2008/06/09(月) 05:25:31
無駄だよ。煽ってちっぽけな優越感に浸りたいだけで本当はみんなできないんだから。
どこの会社にもいるよね。「そんなの簡単だよ」「もっといい方法があるのに」って言うくせに
いざ頼もうとすると言い訳して逃げるやつ。
957名無しさん@そうだ選挙にいこう:2008/06/09(月) 06:35:31
>>944
お前、本当にバカだったんだな
いや知ってたけど
958名無しさん@そうだ選挙にいこう:2008/06/09(月) 07:01:07
いや>>944の回答が全てを表してるよ。
それさえわかれば実現手段は何でもいい。
959名無しさん@そうだ選挙にいこう:2008/06/09(月) 07:16:56
>>956
入庫と出庫のデータがあるなら在庫数量は計算できるぞ。
お前できないのか?
960名無しさん@そうだ選挙にいこう:2008/06/09(月) 07:40:22
>>957
コピーというのはコピー元とコピー先を指定しなきゃ。
この場合はコピー元とコピー先の項目名がいっしょなんだからどちらか一方が明らかになればいいんだよ。
961名無しさん@そうだ選挙にいこう:2008/06/09(月) 09:21:08
もう1000までにまともな解答は無理だから残りは雑談にしようぜ。
未解決の質問jは次スレに持ち越しって事で。
>>945なんかももう少し具体的に業務の流れを書くか、自分で出来るだけの事をした上で質問した方が解決が早いと思うよ。
962名無しさん@そうだ選挙にいこう:2008/06/09(月) 09:30:56
在庫管理なんか簡単だよ。
過去実績から時期毎の適正在庫を出す。
常にそれ近くになるように在庫を監視。
配送日になったら在庫を補充。

関数なんか使わなくても、商品名、現在庫、適正在庫、納品数の欄があれば四則演算でできる。
963名無しさん@そうだ選挙にいこう:2008/06/09(月) 09:33:53
>>962

商品名を四則演算でどうすればいいのかな?
964名無しさん@そうだ選挙にいこう:2008/06/09(月) 09:38:25
バカは放置
965名無しさん@そうだ選挙にいこう:2008/06/09(月) 10:13:32
【1 OSの種類         .】 WindowsXP sp2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 経過日数



=DATEDIF(T40,A1,"D")
A1をA1固定ではなく当日にしたいのですが、この場合はどうすればよいのでしょうか
966名無しさん@そうだ選挙にいこう:2008/06/09(月) 10:15:33
>>965
TODAY()
967名無しさん@そうだ選挙にいこう:2008/06/09(月) 10:16:28
>>965
=DATEDIF(T40,TODAY(),"D")
968名無しさん@そうだ選挙にいこう:2008/06/09(月) 10:34:57
>>961
簡単に言うとある日付における在庫数は
繰越数量+繰越日からある日付までの入庫数-繰越日からある日付までの出庫数
で求められる。
今回のケースはこれを商品ごと、納入倉庫ごとに計算するだけ。
こんなの中学生でもできるだろ。
969名無しさん@そうだ選挙にいこう:2008/06/09(月) 10:46:59
>>965
そんなものにDATEDIF関数使うなよ。
=TODAY()-T40で十分だろ?
970名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:01:50
ありがとうございます。もう1つ。

毎月の平日数と休日数を自動で算出し、更に該当の売上も自動算出したいのですが・・・

     C     D     E       F       G       H
37  平日数   21   平日売上   100     平日平均   2000
38  休日数   9    休日売上   1000     休日平均   20000

現在、日数(C37とC38)は都度数え手打ち、売上(F37とF38)は該当セル(D4〜D34)を毎回範囲指定して算出しています
971名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:02:57
誤記
× C37とC38
○ D37とD38

失礼しました
972名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:07:12
凄い奴が現れたなw
973名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:16:27
セルが入力された日時を記録したいと思っています。
具体的にはA1に文字が入力される→B1にその日時が記録される→A2に入力→B2に…としたいのです。
関数はB1セルに「=IF(IsBrank(A1)=FALSE,NOW(),)」としました。

が、これですとA列のどこかに入力する度にB列全ての日時が変わってしまいます。
行別に管理する方法はありますでしょうか。
よろしくお願いいたします。
974名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:32:44
>973

つマクロ
975名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:36:23
>>973
そういう処理はVBAを使わないと無理かな。
VBAだったら、worksheetのchangeイベントで、
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column = 1) Then
Application.EnableEvents = False
Target.Offset(0, 1).Value = Now()
Application.EnableEvents = True
End If
End Sub
基本こんなかな
976名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:38:47
>>970
売上データの1日ごとに、その日が平日か休日かを入力する列を設けておく。
平日数と休日数はCOUNTIFで、平日売上と休日売上はSUMIFで計算する。
977名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:44:48
>>968
社会に出た事無い人はお気楽でいいねえ
978名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:49:11
>>974-975
なるほど。関数だと無理だったんですね。
マクロもVBAも不勉強でまだ使った事がないのですが、
教えていただいた通りにやってみます。
ありがとうございました。
979名無しさん@そうだ選挙にいこう:2008/06/09(月) 11:55:50
>>945
”欠品を起こさない”という条件が、
具体的に日本語で書ければ、自ずから問題は
解決すると思うが?
980945:2008/06/09(月) 13:57:40
みなさまアドバイスありがとうございます。
>>979
商品ごと、倉庫ごとに基準在庫が決まっており、その数を割ったら商品を補充します。
ただ、人間の判断によって補充のタイミングや量は調整することがあります。
判断の材料として、在庫数量の時系列での変化が見えるようにしたいです。
商品は固定しておいて、各倉庫別に在庫の推移を見たり、倉庫は固定で商品全部の在庫を見たり、したいです。
981名無しさん@そうだ選挙にいこう:2008/06/09(月) 15:56:49
>>980
今いえることは、入力シートと、
表示シートを分けた方がいいな。
位かな。
982名無しさん@そうだ選挙にいこう:2008/06/09(月) 16:43:02
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 文字 入力   ^

質問ですが、セルに文字を入力しようとするとすでに ^ が入っているんですが、
どうやったらなくせるのでしょうか。
ある日から突然そうなったんですが直し方がわかりません。
よろしくお願いします。
983名無しさん@そうだ選挙にいこう:2008/06/09(月) 17:14:24
VBAでcsvファイルを読み込み、一部を書き換えて
保存するにはどうすればよのでしょうか。

180,65,N
179,62,N
174,57,A

のようなデータがあるとした場合、二行目の
最後の要素”N”をAに書き変えたいのです。

できれば、全体を吐き出し直す以外の方法で
お願いできないでしょうか…
(これ以上重くするとブラックホールが発生します)
984名無しさん@そうだ選挙にいこう:2008/06/09(月) 17:51:38
>>981
ありがとうございます。
入力シートと表示シートは分けようと思います。
何かいい方法ありませんでしょうか。

日付を固定して商品ごと倉庫ごとの在庫数量一覧も表示させたいです。
985名無しさん@そうだ選挙にいこう:2008/06/09(月) 18:58:02
ほらVBA厨 呼ばれてるぞ
986名無しさん@そうだ選挙にいこう:2008/06/09(月) 19:13:30
お待たせ!!VBA厨房だよ!!
でもピボットテーブルが一番向いてるんじゃねーのかそれ
VBAでできる事と言ったらworksheet_hangeでピボットを更新することくらいだよそれ
>>984はピボット作れるのかい?作れないのかい?
987名無しさん@そうだ選挙にいこう:2008/06/09(月) 19:16:12
おっと、worksheet_hanageは打ち間違い
worksheet_chingeだな。キムタクに怒られるわ。こわいこわい
988名無しさん@そうだ選挙にいこう:2008/06/09(月) 19:43:11
989名無しさん@そうだ選挙にいこう:2008/06/09(月) 19:46:10
>>984
自分でここまではやったってのを何一つ示せないレベルだと
仕事で満足に使えるレベルのものを作るのは不可能だと思うよ。
その感じだと市販やフリーソフトの在庫管理ソフトを探す方が早道だと思う。
990名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:15:37
>>989
お前がVBAで作るのが無理ってことだろ?
偉そうに説教するとかっこ悪いぞ。
991名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:17:09
在庫管理にVBAなんて必要無いだろ
992名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:34:30
ったく えらそうな口ばかりで役立たずばっかしw
993名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:41:39
君たちのレベルだと在庫管理のような難しいことするのは不可能だよ。
在庫管理はExcelじゃ無理だよ。フリーソフト使いなよ。

在庫管理程度のことができないなんてこいつら一体エクセルで何やってるんだ?
994名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:43:37
多分エクセルなんてほとんど使った事なくて
いきなり上司からパソコンで在庫管理やれとか言われたんでしょ
995名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:46:09
簡単と言ってる奴が何一つ具体的な解答をしていない件
996名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:46:24
>>994
そうかもしれないがこの質問者の場合、やりたいことは非常にはっきりしてるぞ。
この程度のことはExcelで簡単にできるべきだと思わないか?
997名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:47:10
>>996
もう少し楽しみたいんだよ。
998名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:49:06
>>996
そりゃそうだけど、いくら簡単でも本人にやる気が無いと意味無いしなあ・・・
999名無しさん@そうだ選挙にいこう:2008/06/09(月) 20:51:33
>>998
勝手に決め付けるなよ。
お前ができないんだろ。
意味も分からず誰かが完全に作ってくれたExcelのファイルをただ使うだけなら
フリーや市販ソフトでも同じ事。エクセルでやる意味が無い。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。