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総合相談所 64
http://pc11.2ch.net/test/read.cgi/bsoft/1200819992/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
★ルールを無視すると…
>>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分野の話ではないので、ここでは聞かないでください。
★ 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セルを分割 (分割したいセル以外を結合)
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
▼数式・関数
・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
・ 関数式でセルの選択状態を取得する (VBA)
・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
・ 入力したセルに結果を返す (VBA)
・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
・ 値の書き換え、値の保持 (VBA)
・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA)
・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数)
▼VBA
・ ExecuteExcel4Macroの参照で空セルと0値を区別する
・ セルの値や変数値で直接変数名を指定する (配列、コレクション)
・ VBのコントロール配列と同じような操作をしたい
(イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents)
▼ユーザーフォーム
・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む)
▼グラフ
・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
(オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
┌┐
〜〜
||
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。
また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。
ここに書かれてないからといって必ず出来るはずだなんて思わないように。
>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。
テンプレ終わり
________________________________
||
|| ━ 質問のしかた ━
||
|| ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
|| ★2 要望は具体例や図を使って明確かつ具体的にしる。
|| ★3 質問前に
>>2-20あたりの注意書きやQ&Aを必ず読むこと。
|| ★4 質問テンプレ(雛形)は必須ではないが、
|| OSやExcelのバージョン、VBAの可否などは必須情報。
||
|| ∧ ∧ 。
|| ( ,,゚Д゚)/ ジュウヨウ!! E[]ヨ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/  ̄ ̄ ̄ ./| ________________
| ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ は〜〜〜〜い /
∧ ∧ ∧,,∧ ∧ ∧
( ,, ∧▲ ミ ∧ ∧ ( ∧ ∧
〜(_( ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
@(_(,,・∀・)@ ( *)〜ミ_ ( ,,)
@(___ノ 〜(___ノ 〜(___ノ
9 :
名無しさん@そうだ選挙にいこう:2008/02/10(日) 21:13:32
質問者の心得
1 回答者には馬鹿もいる。
2 質問者に代わって自己解決報告をする自己解決厨がいる。
2' 無用なレスに対応するのも自由、しないのも自由。
3 簡単にお礼は言うな 確認を十分にしてからにせよ。
10 :
名無しさん@そうだ選挙にいこう:2008/02/10(日) 22:56:49
お願いします。
これから勉強するエクセル超初心者なんですが、フリーウェアで基礎から習えるオススメの
入門ソフトがあったら教えてくれませんか?
11 :
名無しさん@そうだ選挙にいこう:2008/02/10(日) 23:49:16
こんばんは。以前このスレで質問し、回答を頂きました。
今回はその続きを質問させていただきたいです。 よろしくお願いいたします。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 不可
【4 VBAでの回答の可否】 可
【5 検索キーワード 】(わかりませんでした)
<前回の質問>
「Aを入力して検索すると、Aを含む品名が複数でてくるような
ものをつくりたい。」
これに対し、以下のコードを教えて頂き解決しました。
Sub test()
Dim Jkn As String
Jkn = Application.InputBox("品名を入力してください。", Type:=2)
If Jkn = "False" Then Exit Sub
With ActiveCell.Worksheet
If .FilterMode = True Then
.ShowAllData
End If
.AutoFilter.Range.AutoFilter 1, "=*" & Jkn & "*"
End With
End Sub
使っているうちに、1つ機能を追加したくなり、再びここにお邪魔します。
長いのでレスをわけます。
12 :
名無しさん@そうだ選挙にいこう:2008/02/10(日) 23:49:55
<現状>
検索結果が表示された後、連続して検索をするには1回1回手動で
検索結果をクリアして、ふたたび検索ボタンをクリックするような
動作をしている
↓
<やりたいこと>
クリックすると検索結果をクリアするようなボタンを作って、
連続検索をやりやすくしたい。
一生懸命書いたのですが、やりたいことがわかりにくくてごめんなさい。
どなたか、教えていただけませんか?
13 :
名無しさん@そうだ選挙にいこう:2008/02/10(日) 23:54:20
<やりたいこと>に追加です。
検索ボタンに、「一番最初に検索結果をクリアしてから検索を開始する」
という機能を持たせることが出来れば、ボタンが1つですむので
一番いいかな・・・と思うのですが、それは不可能なのでしょうか?
>>11-13 順番を変えればいいだけだよ。
Sub test()
Dim Jkn As String
With ActiveCell.Worksheet
If .FilterMode = True Then
.ShowAllData
End If
Jkn = Application.InputBox("品名を入力してください。", Type:=2)
If Jkn = "False" Then Exit Sub
.AutoFilter.Range.AutoFilter 1, "=*" & Jkn & "*"
End With
End Sub
16 :
15:2008/02/11(月) 02:05:51
>>11-13 補足。
クリアの機能は元々付いています。
InputBoxで情報を受け取った後に、クリアしてから抽出しています。
クリアされている状態で、InputBoxに入力したいなら、
上記の様に、2行目3行目を後ろへずらしてやればいい、という事です。
17 :
名無しさん@そうだ選挙にいこう:2008/02/11(月) 11:33:06
その列にある数字が表記されているセルの個数を表すCount関数は、
VBA上ではどう表記するのでしょうか? ある変数に格納させたいのですが
count = ActiveSheet.Count("C:C")
だと蹴られてしまいます・・なんかVBAの基礎が分かって無い感じですが、宜しくお願いします。
>>17 WorksheetFunction.Count
WorksheetFunction.まで打てば、VBAで使えるワークシート関数一覧が表示されるからいろいろ調べてみれ
19 :
名無しさん@そうだ選挙にいこう:2008/02/11(月) 12:35:18
こんにちは。作業の途中で詰まってしまったので、回答を頂けると助かります。
ではお願いします。
【1 OSの種類 .】 Windowsvista
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 NUM!、binomdist、引数
<質問>
binomdist関数を用いて、二項分布の確率密度関数の値を出しているのですが、以下の式で#NUM!が出てしまいます。
=BINOMDIST(230,2000,1/6.18,FALSE)で#NUM!
成功数を229にすると4.08212E-10と出ますので、数値はそれの微増した値が出るはず。
と思ったので、処理できる範囲内であると思うのですが、エラーが出てしまいます。
よろしくお願いします。
>>19 上が230、下が229
6.06802E-10
4.08212E-10
2003だとできるけどなぁ
ちなみに小数点以下30位の数値だと
0.000000000606801943405160000000
0.000000000408212216472562000000
ってなります
その式使ったことないんだけどね
22 :
11-13:2008/02/11(月) 13:02:48
>>14 ありがとうございました!
オートフィルタを解除したいのではなく、1回1回全てを表示する
状態に戻してから検索したいという意味でした。
言葉が足りなくてすみません。
>>15-16 丁寧に説明していただき、ありがとうございました。
元々ついていたのですね。以前は何か操作方法を間違えたようです。
1つ追加で質問をさせてください。
パソコンがこの作業(クリアにする作業?)をするとき、再計算中という
表示が出てかなり時間がかかる(30秒くらい)のですが、これは仕方のない
ことなのでしょうか?
データの数が一万を軽く超えているので、それをクリアするのは時間がかかる
ということなのでしょうか。
基本的にテーブルがごたごたしてるんだと思う
特に数式が大量に入ってると最悪
数式が入ってる部分は可能な限り値にするか、
VBAで計算させるようにするか、
PCを買い換えるしかないな
>>20 御回答ありがとうございます。
2002だと無理なのかもしれませんね。とりあえず2007でやってみます。
>>21 御回答ありがとうございます。
それは有効数字に関するエラーですね。
やはり
>>20さんの数字がちょうど有効数字16桁からすべて0にカットされていますね。
MDIではなくSDIで複数ウィンドウ表示したいんですが
どうしたらよいでしょうか
ExcelはMDIです
27 :
25:2008/02/11(月) 15:53:20
>>26 ありがとうございます。
そのヒントでExcelをSDI化することに成功しました。
ごめん MDIってなんだかしりませんでした
29 :
25:2008/02/11(月) 16:14:48
>>28 正確に言うと、MDIなのは変わらないので
SDIのように扱えるようした というところです。
先にエクセルを立ち上げれば大丈夫
ちなみにこの状態だと同じ名前の別ファイルも同時に扱える
WindowsXP-Pro
Excel2003
チェックボックスに関して質問です
チェックボックスをONした時にA1のセルにA2の内容をコピーし、
OFFした時はA3の内容をコピーする事は可能でしょうか?
プロパティではリンクするセルの設定しか出来ず(しかも、ONとOFFのリンク先を個別に設定出来ない)
32 :
31:2008/02/11(月) 17:42:24
途中で送信・・・
プロパティではリンクするセルの設定しか出来ません(しかも、ONとOFFのリンク先を個別に設定出来ない)
チェックボックスでは出来ない場合、他の方法は(ワンクリでA1のセルに2種類の選択肢をコピーする方法)
あるのでしょうか?
>>31 VBA使えば可能
VBAが嫌なら
チェックボックスのリンク先をB1にして
A1に=IF(B1,A2,A3)
34 :
名無しさん@そうだ選挙にいこう:2008/02/11(月) 19:52:54
WindowsXP
Excel2003
ピボットテーブルのグループ化について教えてください。
本を見るとすぐグループ化できるはずなんですが、できません。
日付(セルの書式をみると標準になっています 2007/6/5 13:00等)
のデータがずらっと並んでて日付、もしくは時間ごとでグループ化したい
のですがどうすればできるのでしょうか?どこかの設定を変更すればできそう
ではあるのですが。
35 :
31:2008/02/11(月) 19:55:39
>>33 出来ました
後者の方法を使用しました
ありがとうございます
37 :
名無しさん@そうだ選挙にいこう:2008/02/11(月) 21:22:37
【1 OSの種類 .】 Windowsxp
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 駆け出し
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 コンボボックス 抽出
シート"報告書"と"品番マスタ"があります
現在コンボボックスに"品番マスタ"の数だけ表示させるため以下のように書きました
フォーム上のオプションボタンのAAAにチェックが付いたら"品番マスタ"のカラムB:Bを見てAAAのものだけ抽出し、
コンボボックスには抽出されたものだけを表示させたいのですがどうすればいいですか?
これだとフォームがポップアップした時点ではチェックボックスにチェックが入ってないので使い物になりません
Private Sub UserForm_Initialize()
Dim countm As Integer
'品番マスタのRowSorce取得
countm = Range("品番マスタ!H1").Value
frm入力フォーム.cmb品番.RowSource = "品番マスタ!A2:B" & countm + 1
End Sub
39 :
34:2008/02/11(月) 21:34:49
>>36 右クリックとは?
題目のところや日付表示を選んで右クリックしてグループ化をしても
選択対象はグループ化できませんとエラー表示されるんですが
>>22 ファイルの状態によっては、
この辺を挟むと速くなりますよ。
Sub test()
Dim Jkn As String
Application.ScreenUpdating = False
ActiveSheet.EnableCalculation = False
With ActiveCell.Worksheet
If .FilterMode = True Then
.ShowAllData
End If
ActiveSheet.EnableCalculation = True
Application.ScreenUpdating = True
Jkn = Application.InputBox("品名を入力してください。", Type:=2)
If Jkn = "False" Then Exit Sub
Application.ScreenUpdating = False
ActiveSheet.EnableCalculation = False
.AutoFilter.Range.AutoFilter 1, "=*" & Jkn & "*"
End With
ActiveSheet.EnableCalculation = True
Application.ScreenUpdating = True
End Sub
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 open append
Open "C:\Autoexec.bat" For Append As #1
Print #1, " (略) "
Close #1
これを開いた時のイベントプロシージャに仕込むとどうなるんですか?
42 :
10:2008/02/11(月) 23:02:30
43 :
名無しさん@そうだ選挙にいこう:2008/02/11(月) 23:02:50
横レスですが、この文のところで↓
.AutoFilter.Range.AutoFilter 1, "=*" & Jkn & "*"
オブジェクト変数またはWithブロック変数が設定されていません(error 91)
となるのをset文か何かでどう書いたらいいですか?
>>43 そのコードは、
アクティブシートにオートフィルターが掛かっていること前提だよ。
A1から始めて、A2がブランクならA1に結合
A3もブランクなら、やっぱりA1に結合。
A4がブランクでなく、A5がブランクなら
A5をA4に結合。
こーゆーマクロって出来るの?
46 :
43:2008/02/11(月) 23:20:23
>>45 こうかな。
Sub Macro001()
Cells(1).Resize(1, Cells(1).End(xlToRight).Column - 1).Merge
End Sub
48 :
47:2008/02/11(月) 23:40:11
ごめん。ちゃんと読んでなかった。
上記は前半だけだね。
49 :
名無しさん@そうだ選挙にいこう:2008/02/12(火) 00:32:44
条件付き書式で年月日のあるデータを
8時〜13時に色づけしたいのですがどうやったらできますか?
単純に8:00と13:00を入力しても色が変わらなかったです。
申し訳ないですがご存知の方よろしくお願いします。
50 :
47:2008/02/12(火) 00:40:57
>>45 出来るよ。
一応作ったけど、やる気になってるとこだったら、
押しつけても悪いんで、うpは控えときます。
上記をloopで繰り替え繰り返せばいいよ。
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 ?
セルの書式設定の表示形式の日付に関して質問です。
種類(T)には、「*2001/3/14」と「2001/3/14」があるようですがこの2つの違いはなんですか?
>>51 日本では「2001/3/14」の書式が一般的ですが、他国では「14/3/2001」と表記するところもあります。
[コントロールパネル]から[地域と言語のオプション]を起動したとき、
「*2001/3/14」を選択してあれば、「14/3/2001」を標準的に使う国の場合は、「14/3/2001」と表記し、
「2001/3/14」を標準的に使っている国を指定したときは、「2001/3/14」と表記します。
「*」の付かない日付指定は、どこの地域を指定しても「2001/3/14」と表記します。
>>49 excel2007だと
数式を〜を選んで
=AND(HOUR(B3)>=8,HOUR(B4)<=13)
で出来たよ。
>>53 セル番ばらばらになってるorz
同じ該当セルで。
55 :
51:2008/02/12(火) 01:55:41
56 :
45:2008/02/12(火) 01:59:30
>>47 ニコ動とNAVERで遊んでいた(笑)
すまそ。
早速明日参考にさせて貰いまつ。
多謝
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 ちんこ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 色々
「ABCDAB」という文字列が入力されたセルあったとして、
関数を使って最も単純にAとBの文字数を数える方法を教えてくれる貴方はとても優しい。
今の場合は、Aが2文字でBも2文字で合計4文字になるけど、これを関数を使って計算したいので、
その方法を教えてくれる貴方はとても優しい。
>>57 =LEN(A1)-LEN(SUBSTITUTE(SUBSTITUTE(A1,"A",""),"B",""))
59 :
名無しさん@そうだ選挙にいこう:2008/02/12(火) 02:59:53
【1 OSの種類 .】 Windows2000
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 少し
【4 VBAでの回答の可否】 可
Excel2000において、VBAにてシートのコピーを行うと、グラフのXY軸タイトルが消えてコピーされる
というバグ?があるみたいなのですが、回避策をご存知でしたら教えてください。
例えばグラフを含むシート名=1のシートで マクロAを実行する
sub マクロA()
Application.ScreenUpdating = False
For i = 1 To 30
ActiveSheet.Copy After:=Sheets(Worksheets.Count)
ActiveSheet.Name = Worksheets.Count + 1
Next i
end sub
これを実行すると、シート1と同じものがコピーされるはずなのですが、なぜか
シート3以降はグラフのXY軸タイトルが消えてしまいます。
■ちなみに
Application.ScreenUpdating = False
を無くすとうまくいきます。
Application.ScreenUpdating = False の状態を維持しつつ、上記問題を解決する方法を
お教えください。
60 :
34:2008/02/12(火) 08:37:20
すいません。
誰かご存知の方いらっしゃらないでしょうか?
>>34 日付が一部空白になっていたりしませんか?
その場合ピボットテーブルはグループ化してくれません。ここはぜひ改善してほしいところです。
62 :
名無しさん@そうだ選挙にいこう:2008/02/12(火) 10:28:13
エクセルでピボットテーブルを作成しているのですが、累計を出すことはできるのでしょうか?
出す方法がありましたら、ご教授お願いいたします。
右クリック→オプション、列の総計か行の総計のことか?
64 :
名無しさん@そうだ選挙にいこう:2008/02/12(火) 10:55:33
>>63 列の総計と行の総計のところには最初からチェックマークがついているので、それではないかもです。
なんといいますか、前月の合計数に、今月分の合計数を月ごとに足していきたいのです。(串挿し計算とも言うらしい)
65 :
名無しさん@そうだ選挙にいこう:2008/02/12(火) 10:56:18
>>63 列の総計と行の総計のところには最初からチェックマークがついているので、それではないかもです。
なんといいますか、前月の売上個数に、今月分の売上個数を月ごとに足していきたいのです。
(串挿し計算とも言うらしい)
>>56 > ニコ動とNAVERで遊んでいた(笑)
実際遊んでたとしても、言う必要ないんじゃねえの?
「反応遅くなってごめんなさい」だけでいいんじゃねえの?
見知らぬお前のためにコード書いてる間、実は相手は遊んでたなんて知りたいと思うか?
言われた相手の気持ち考えてからレスしろよ
>>66 親切を押し売りするなよ。お前が解答しないのは自由だ。
>>67 こんな事を親切の押し売りと感じるアンタの心の醜さが悲しいよ
精神病患者は全部のレスが自分宛の私信だと思い込んでレスしちゃうらしいな
っつーかほとんどの奴は自分の勉強のために回答してるんでしょ
それか暇つぶし
ただ他の質問スレに比べてかなり丁寧なのは確かだけどな
71 :
d:2008/02/12(火) 13:58:10
>>45 もう見てないかな。^^
Sub test()
Dim RR As Range
Dim R As Range
Set RR = Range("A1").EntireColumn
Set RR = Intersect(RR, RR.Worksheet.UsedRange)
Set RR = RR.SpecialCells(xlCellTypeBlanks)
For Each R In RR.Areas
R.Offset(-1).Resize(R.Rows.Count + 1).Merge
Next
End Sub
>>70 よっぽど高度な質問ならまだしも
ある程度Excel使ってるやつからしたら
リファレンス見ないでも答えられるような質問に答えることが勉強になるとは思えん
9割がそんな質問だしな
9割暇つぶし
残りの1割が勉強になるってのには同意
73 :
名無しさん@そうだ選挙にいこう:2008/02/12(火) 17:52:00
A1〜A3のセルに、それぞれ=100/3と入れ、小数点第二位まで
表示させると33.33になります。
このとき、A4セルに=SUM(A1:A3)と入れると100.00になってしまうんですが、
見たまんまの99.99にするにはどうすればいいですか?
76 :
名無しさん@そうだ選挙にいこう:2008/02/12(火) 21:35:09
ツール オプション 表示(違うタブだったかも) 表示桁数で計算するにチェック
78 :
ゆきえ:2008/02/12(火) 22:55:38
【1 OSの種類 .】 mac
突然Microsoft Excelが起動しなくなりました。
画面に「 共有ライブラリのエラーによりアプリケーション”Exicel"は起動出来ませんでした:<Apple;carbon;Multimedia><CFMPriv_QuickTime><>" 」
と表示されてしまいます。
Microsoft Office Xを再インストールをしてみたのですが同じ画面が表示されます。
どうすれば元の状態に戻るのでしょうか??
よろしくお願いします。
QuickTimeを入れ替えてみる
>>71 excel2007なんだけど、エラーになっちゃう。
RRをウォッチすると下の行を実行すると RRが Nothing に…
Set RR = Intersect(RR, RR.Worksheet.UsedRange)
with構文とか分かんねぇし、もそっと勉強しまつ orz..
多謝。
81 :
47:2008/02/12(火) 23:18:54
>>80 夕べ作ったサンプル、載せようか?
もうちょっと、自分でやってみる?
パソコンを買ったらオフィス2007が入ってたので、Wordで日記を書いてるんですが
Excelは何に使えばいいですか?
83 :
名無しさん@そうだ選挙にいこう:2008/02/12(火) 23:34:47
84 :
80:2008/02/12(火) 23:54:10
>>81 取りあえず結果が欲しいので載せて下さい。
前回見せて貰ったのは横方向結合のような。
安直でスマソ
日記ならワードよりメモ帳のほうがよっぽど使いやすいと思うんだけどなぁ
エクセルは趣味じゃほとんど使わんかもしれんね
仕事になるとこれがなかったら泣いてるところだろうけど
82です。
マス目が正方形じゃないので、オセロをするにも大変ですね。
アミダくじなんて作るのも面倒だし、こんなの何に使ってるんですか?
82です。
メモ帳だと文字に色をつけたり大きくしたりできないでしょ?
89 :
47:2008/02/13(水) 00:28:58
>>84 本当ごめん。
作ってあるのも、横方向だ! orz
まだ起きてるなら、直すし、
もう寝るなら、とりあえず横方向のうpする。
とりあえず、ちょっと直し始める。
>>86 セルのサイズは調整できるよ。正方形にもできる。だから安心してオセロ作ってくれ。
自分も昔オセロ自作したんだけど、強い思考ルーチン作るの意外に難しくて挫折した。
>>84 拙いコードですが、どうぞ。
何回繰り返すか、又はどの行まで編集するかが分らなかったので、
最終行まで、延々と結合を繰り返すコードにしました。
Sub Macro002()
Dim S As Long
Dim E As Long
Dim L As Long
L = Rows.Count '※
S = 1
Do
E = Cells(S, 1).End(xlDown).Row
If E > L Then E = L '行数指定用
If E = L And Cells(E, 1).Value = "" Then
Cells(S, 1).Resize(E - S + 1, 1).Merge
Else
Cells(S, 1).Resize(E - S, 1).Merge
End If
S = E
Loop Until S = L
End Sub
※この行数まで編集を繰り返します。
20行目までなら、L=20として下さい。
>>89 2chで無理するのは(・A・)良くない。
教えて貰ったResizeをキーにググったら、良いサンプルが見つかったんで
無理に直さなくても良い4。
---sample----
Sub セルの結合()
Dim 行, 対象列, 開始行 As Long
Dim 上のセルの内容, このセルの内容 As String
Dim 対象シート As Worksheet
対象列 = 1 '・・・(数字で指定)
開始行 = 1 '・・・(数字で指定)
Set 対象シート = Sheets("Sheet1") '名前で指定
With 対象シート
行 = 開始行 + 1
上のセルの内容 = .Cells(行, 対象列) ← 開始行の間違いの予感
Do While Not (IsEmpty(.Cells(行 - 1, 対象列)) And IsEmpty(.Cells(行, 対象列)))
このセルの内容 = .Cells(行, 対象列)
If このセルの内容 <> 上のセルの内容 Then
If 開始行 < 行 - 1 Then
.Cells(開始行 + 1, 対象列).Resize(行 - 開始行 - 1, 1).ClearContents
End If
.Cells(開始行, 対象列).Resize(行 - 開始行, 1).Merge
開始行 = 行
上のセルの内容 = .Cells(開始行, 対象列)
End If
行 = 行 + 1
Loop
End With
End Sub
94 :
47:2008/02/13(水) 01:02:35
95 :
62:2008/02/13(水) 01:11:30
ピボット上では【累計=総計】だったみたいですね。
今さらながら気づきました。
しかも何もいちいち自分で設定しなくても、自動的に最初から表示されていました。
あまりの自分の愚かさに呆れかえりますw
失礼しました。
>>86 あみだくじっていうのはもともと今のような格子状ではなく、クモの巣のように放射状に描くものだったそうな。
つまり、あみだくじを実現するのにマス目が正方形か長方形かなんて気にする必要はないよ。
データ構造を連結リストにして、それを探索させればよい。
>>87 日記をHTMLで書いてみるのも乙なものじゃない?
文字に色付けたり大きくしたりはもちろん、ハイパーリンクさせたりもできるよ。
もちろんメモ帳だけでOK。
98 :
45:2008/02/13(水) 01:35:32
>>94 ∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵。∴∵
∴∵∴∵:。∴∵∴∵∴: --─- ∴∵∴∵∴∵∴∵
∴∵゜∴∵∴∵∴∵ (___ )(___ )
>>1 ∵。∴∵∴∵ ゜
∴∵∴∵∴:∵∴∵_ i/ = =ヽi ∴∵∴∵。∴∵∴
∴∵☆彡∴∵∵ //[|| 」 ||] ∴:∵∴∵∴∵:∴∵
∴∵∴∵∴∵ / ヘ | | ____,ヽ | | ∴:∵∴∵∴∵:∴∵
∴゚∴∵∴∵ /ヽ ノ ヽ__./ ∴∵∴∵:∴∵∴∵
∴∵∴∵ く / 三三三∠⌒> ∴:∵∴∵:∴∵
∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∵∴∵∴∵
∧∧ ∧∧ ∧∧ ∧∧
( )ゝ ( )ゝ( )ゝ( )ゝ 無茶しやがって・・・
i⌒ / i⌒ / i⌒ / i⌒ /
三 | 三 | 三 | 三 |
∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪
三三 三三 三三 三三
冗談はさておき、折角なんで、挙げて^^
最近は計算よか、表機能を使ったテキスト処理が多いんだよね。
ではではノシ
99 :
47:2008/02/13(水) 02:14:36
【1 OSの種類 .】 WindowsXPsp2
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 シート オートフィル
"=sheet1!$A$1"
"=sheet2!$A$1"
という風に、シート数を連番で入力させるにはどういうやり方がありますか?
シート名はsheet"x"で統一しています
INDIRECT
シート名によってはリスト作らなきゃならないが
>>100 売上データが月ごとに別シートへ入力されているのを合算したいといったところか。
104 :
34:2008/02/13(水) 07:57:42
>>61 いえ、空白セルはありませんでした。
他にグループ化できない要因はあるのでしょうか?
セルの書式をみると日付です。
105 :
61:2008/02/13(水) 08:11:05
>>104 どこかにゴミデータが混じってないでしょうか。
データの一部分を抜き出してピボットテーブルを適用した場合は上手くグループ化できますか?
まずはデータを半分に分けてピボットテーブル、そしてグループ化が上手くいかなかった方をさらに二分割して調べることを繰り返して、問題のある箇所を特定してみてはいかが?
106 :
61:2008/02/13(水) 08:30:12
>>104 ついでに言うと私の場合、ピボットテーブルで日付のグループ化があまりにもセンシティブなんで、元のデータに年、月の列を増やしてやることもあります。
この方がてっとり早いかも。
【1 OSの種類】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 できればくわしく記述していただけると
【5 検索キーワード】VBA
今エクセルで地道な作業をしてるのですが単純作業なのでマクロ化したいとおもったのですがうまくいきません。
同じ日付を縦に20個入れて次の日、と一年分記述したいのですがどうすればいいでしょうか?
よろしくお願い致します
>>107 最初に一年分の日付を入力して、それを19回コピペする。その後ソートする。
>>107 Sub Macro2()
Dim i As Long
For i = 0 To 365
If i = 0 Then
Range("A" & 1 + i * 20 & ":A" & 20 + i * 20).Value = "1/1"
Else
Range("A" & 1 + i * 20 & ":A" & 20 + i * 20).Formula = "=a1+" & i
End If
Next
End Sub
最後にA列を選択してコピー→値で貼り付けにすれば値になる
式のままでもいいならそのままで
年を変えたいときは5行目を2005/1/1かなんかにするといい
月の途中からでも多分作れる
うるう年じゃない時は最後の20行を消すか、
For i = 0 To 364に変える
後は書式設定を使えば日付だけや区切り位置(値に直してから)
を変えれば分割も出来る
久々にいい仕事したぜ!
>>107 一応VBAの使い方を書いておくと・・
エクセルを立ち上げてALT+F11
左上にあるプロジェクト〜って小さいウィンドウの空欄部分で右クリック
→挿入→標準モジュール
そこにsub〜end subまでコピーして貼り付けすればok
ありがとうございます。
これをきっかけに少しVBAを触っていきたいと思います。
112 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 14:35:41
PC初心者板から誘導されて来ました。
約40種類の製品について、製造年月日をロット番号で管理しています。
お客様等から問い合わせがあった時、即答出来るようにしたいのですが
まず、ロット番号、製品名、製造年月日をExcelに入力(随時追加)するとして…
メニューバー等に組み込むボタンを作成し、そのボタンをクリックすると
ウィンドウが開き、そこで製品名をプルダウンで選択・ロット番号を入力で
製造年月日が表示される、というようなことは、マクロで可能なのでしょうか?
WindowsXP・Office2003使用です。PC初心者でVBAは全く使えませんが、
上記のものが可能で、無謀でないならば、何とか勉強して作りたいと思っています。
宜しくお願い致します。
>>112 ちょっと勉強すればできると思うよ
メニューバーに組み込むのはちょっと難しくなるけど
ワークシートにボタン配置するので代用できるなら簡単
ボタン→フォーム(もしくはコントロール)のコマンドボタン
ウィンドウ→ユーザーフォーム
プルダウン→コンボボックス
2つの条件で検索をするってのがひっかかるかもしれないけど
オートフィルタかDictionaryでできそうやね
インターフェースにこだわらないなら、VBA使わなくてもオートフィルタだけで近いものはできるね
114 :
108:2008/02/13(水) 15:33:36
>>111 まじめに回答したつもりだったのに(T_T)
>>100 まずシート名だけ入れて、残りの部分を置換で入れる。
sheet1!A
sheet2!A
と入れてからフィルすると自動的に連番になるから、
そのあとで「A」を「$A$1」に、「s」を「=s」に置換。
>>112 Findメソッドで検索し、そのレコードの製造年月日のフィールドを表示させるという方法でできると思うよ。
>>116 それじゃだめだよ。
FINDとかMIDで見つかるようならそもそも自動化する必要ない。
そもそもロット番号を080212のようにしておけば話は簡単なんだけど
>>112の業界では製造年月日があからさまになるような表示を避ける習慣があるのではないだろうか。
きっと、年月日を何らかのルールで別の数字やアルファベットに変換して表示しているんだろう。
>>117 あ!ごめんなさい。その方法でいけるね。申し訳ない。
>>109 i = 0 の評価を 366回繰り返すのは馬鹿げている。
つまらんことにVBAを使うやつが多すぎる。
そのうち単純な連番ふるのですらVBA書きそうな勢いだ。
ワークシート関数を駆使して連番振ってると思ってる馬鹿よりましだけどな
>>109 1日目から作るとしたら、初日だけはforの前におけばいいんだよな・・
ROW()を使って連番をふっていた時期が俺にも・・ありませんでした
125 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 17:05:13
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 数値 範囲指定 下桁 ワイルドカード
A列に整数の数値があり、その数値の下3桁が999だった場合に+1、998等だった場合はそのままの数値を返させたいのですが、
B列に =IF(A1=999,A1+1,A1) とした場合では999のときにしか+1になりませし、=IF(A1="*999",A1+1,A1) だと文字として*がある場合にしか反応しません。
A列の数値が10999や1010999の場合でも+1にする方法はないでしょうか?
126 :
112:2008/02/13(水) 17:07:54
>>113>>116-119 色々と教えて下さって、有難うございます。
下手な説明のせいで、作業内容が分かりにくくて申し訳ありませんでした。
(ロット番号については、
>>118さんの予想通りです)
それでは、何とか頑張ってみます。失礼しました。
>>125 Left() や Right()が便利だよ
1000で割って剰余が999なら1足すってことかいな?
=if(mod(a1,1000)=999,a1+1,a1)
数値は数値で扱ったほうが良いよ
=IF(MOD(A1,1000)=999,A1+1,A1)
130 :
125:2008/02/13(水) 17:28:52
>127-129
ご回答に感謝します。
>128-129さまの手法でできました。
ありがとうございました。
131 :
59:2008/02/13(水) 17:53:02
Application.ScreenUpdating = true
を最後に追加してみては?
>>132 ありがとうございます。だめでした。
ただしループ中にtrue falseを切り替えてやるとうまくいくようです。
sub マクロA()
' ■この行を Application.ScreenUpdating = False
For i = 1 To 30
Application.ScreenUpdating = False' ■ここに持ってきて
ActiveSheet.Copy After:=Sheets(Worksheets.Count)
ActiveSheet.Name = Worksheets.Count
Application.ScreenUpdating = True' ■ループ中に一度Trueに戻す
Next i
end sub
これでいってみようと思います。ありがとうございました。
>>133 でもそれだったらループごとに描写されるよw
>>134 確かにおっしゃるとおりです。
何かいい方法ありますでしょうか?
>>135 おそらくシートの大量コピーなんて、そのブックを操作する間に
何度も起こることじゃないんじゃね?
それだったら最悪excel 2kは泣いてもらって、ほかのバージョンでは
scrupdate falseを有効にしてやるようにするとかが最善かな。
If Application.Version = "9.0" Then Application.ScreenUpdating = True
>>136 ありがとうございます。
残念ながらExcel 2000メインになります・・
会社のPCが新しくなって、データの集計が瞬時になってしまったので
VBAの処理を5秒くらい遅くしたいんですが、タイマーみたいなマクロってありますか?
遅くしたい理由は「苦労して長いプログラムを1週間も掛けて組んだんだYO!」って
大げさに言いたいだけです、ハイ。
処理待ちしたいところに
Application.Wait Now + TimeValue("0:0:5")
を突っ込む
そしてコードを見られないように気を付けるんだ
プログレスバーでも出してやれ
>>138 大げさに演出するという行為は正しいな。
集計をVBAでやるなんて愚の骨頂だからね。
ばれないようにうまくやりなよ。
142 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 21:06:22
クイズでの得点計算のためにエクセルを使いたいのですが・・・・
セル内部の数字をクリックだけで±できる方法ってありますかね?
たとえばセル内部に+ボタン、−ボタンを設置したりとか・・・
Windows Vista 、Microsoft Excel 2007です。
あるよ
>>138 俺もあるなー
何日もかけて作ったコードを「すごーい」の一言ですまされるこの悲しさ・・
もっとこう、細かいことにも気を配ってるんだよ?っていいたいけど確実にうざがられるしな
使ってくれてるんだけど、それが当たり前になってて・・
そして俺の仕事はその分増えて・・orz
小さすぎる。コードとか書くような立場(下っ端)なんだからそれは当然
まーそーなんだけどさぁ
上司の業務(主に計算)を半分以上減らしたんだぜ?
しかもややこしい計算を全部自動にしてさ
もうちょっとこう、感動してほしかったけど・・
そもそもこの内容がわかるような人なら、自分で作れるんだよな
人生って難しいよな
もともと部署のレベルが低い
社会人としての駆け引きが下手
考え方が幼い
給料が低い
ここら辺の要素が絡まってるな。
もともと部署のレベルが低い →総務・営業と並んでるので何ともいえない
社会人としての駆け引きが下手 →大正解\(^o^)/
考え方が幼い →大正解\(^o^)/
給料→聞くな
その能力をちょっと上(直属の上司)の人ではなく、ずっと上の人にアピールして自分が上に行けばいいさ。
それが出来ないなら、「使える人材」ではなく「都合の良い社畜」として、今のような葛藤を今後も続けることになる。
「VBAコードが書ける」程度の能力を持ってる奴はいくらでもいるが、それだけじゃ上には行けないからね。
単に簡単なコードが書けるだけで、上に行く能力が無いなら、今の立場と葛藤は君に相応ってことになる。
>その能力をちょっと上(直属の上司)の人ではなく、ずっと上の人にアピールして自分が上に行けばいいさ。
これが効く会社ほど小さい会社。
そもそもVBAと出世ってw
簡単なコード書いてしまうだけで、もうこれ以上業務は最適化しようがないんだ・・
つまり・・
詰んだw
まぁ、小さい会社だからこれもいいかなと思ってる
コード以前に確実に楽になったのを実感してか、上司なのに雑用ほとんどやってくれるしな・・
本当に暇なだけなのかもしれんが・・
まぁ、せいぜいスキル磨いてさっさと転職するぜー
「集計作業をVBAで」とか得意がってるやつはばかじゃないのか?
集計なんかVBAでやられても迷惑だ。別の切り口で集計したくなったらどうするんだ?
また1週間かけてVBAで組みなおすのか?
どんな物でも出世の材料にすることは可能。VBAでも資格でも体力でも。
重要なのは、それをうまく使う頭だったりする。
極端な話、ゴマすり倒して出世できるのも一つの才能。
空いた時間で先の仕事を潰せるなら、それはそれで評価できる
実際そういう中小企業はいっぱいあるだろうね
一度このスレの連中が入るだけで、向こう何年過分の人件費が浮くような・・
業務工数を把握してないようなアホな会社だと、評価のネタとしてはやるだけ無駄だったりもする。
むしろ下手に効率化したら暇人扱いされて、
旧態依然としたやり方を息絶え絶えにやってる人の方が良く見られるなんてのも良くあること。
今管理職にいる世代はパソコンが使えないのがデフォだから、
PCの活用ましてVBAなんて評価できる訳が無い。
>>153 相当変なデータじゃなければすぐに適応できるだろw
相当変なデータだった時は、もう誰がやってもで手作業でやるしかない
が、大抵そんなデータは必要ないと言われるんだな
>>156 そんな感じです。本当にありがとうございました
>142
表示>ツールバー>コントロールツールボックス
から、
コマンドボタンを作成。
コマンドボタンをダブルクリックするとVBエディタが開くので、
Private Sub CommandButton1_Click()
Range("B2") = Range("B2") + 1
End Sub
と記述。
>>157 どんなにいい条件のデータだとしても10秒で新しいプログラム完成というわけにはいかないだろ?
でました2ch名物極論wwwwwwwww
>>160 極論じゃないよ。これだからVBAの人は困る。
162 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 23:01:28
>158
サンクスです!やってみます。
>>160 VBA得意な若手社員が得意先別売上の集計プログラム作ってるうちに
スマートな部長が10秒で集計終わらせてしまうぞ。
「もう少しです。あと1時間待ってください。」っていうの?
確かに中途半端なマクロを組んで、メンテ引継ぎを含めて考えた時に
明らかに効率を落としてるやつもたまにいる。そういう奴ほど得意気だから性質が悪い。
と言っても、計算を含めたコードが書けるなら関数も使いこなせてるだろうから
きっと必然的なものだろうとは思うけどね。
>>139 ごめそ。今、Excelが使えないPCなんで、後でやってみる。
>>141 集計=ピボットテーブルだと思ってる人か?
元のデータを整理しておかないと何も出来ないツールなんて、それこそ(ry
>>165 >集計=ピボットテーブルだと思ってる人か?
>元のデータを整理しておかないと何も出来ないツールなんて、それこそ(ry
根本的にダメなやつだな。
その発想が君の限界。
VBA使えるようにするのはいいが、昔のやり方も使えるようにしておかないと大変なことに
というかデータの扱い方をもう少し小学校でも教えてほしい
2時間、いや1時間でもいい
基礎の基礎だけ教えておいてくれれば・・
テーブルはテーブルだけそこに式入れずに、そこから数字を引っ張ってくるということだけ教えてくれれば・・
>>166 限界で結構。
そんなレスしか出来ないヤシも哀れだな。
>>167 VBAとかの手続き型プログラミングでなんとかするのこそ昔のやり方ですよ。
171 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 23:22:58
>>168 データリテラシー教育が必要という主張なら同感。
式入れずにとか数字を引っ張るとかはよくわからんが。
>>172 ピボットテーブルさえ覚えておけば何でもできる
>>174 つまりそういうことだ。
何でもは言い過ぎかもしれないが,なんでもVBAでやってるやつはVBAの一部を
再発明しているだけに過ぎないことが多い。
>>175 訂正
>>174 つまりそういうことだ。
何でもは言い過ぎかもしれないが,なんでもVBAでやってるやつはピボットテーブルの一部を
再発明しているだけに過ぎないことが多い。
データうんぬんぬかしてる奴は、日曜大工してる奴が、
「家の構造を勉強して欲しい」としたり顔で一席ぶってるうようなもんだろ。
ごっこ遊びしたいだけなんだからほっとけ。
普通の奴はピボットテーブルで十分だし、他の事に時間使う。
ピボットテーブルvsVBAの戦いが今、始まる
↓質問したい方はどうぞ
179 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 23:38:45
>142>162ですが、ボタンは作れたんですが、どうやってエクセルに取り付ければいいのかを
教えていただけますでしょうか?(エディタの部分)
CommandButton、というのの表示を「+」に変えたいのですが・・
180 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 23:38:57
ピボットテーブルでCSVを検索し、ファイルを作成、印刷、バックアップなんて出来るか?
エクセルのピボットテーブルって
作るのは簡単だけど、見た目が汚いから嫌いだ。
ピボットテーブルだけで仕事が終わるのか・・・ 裏山C〜
ピボットテーブル派だ。
VBAはそりゃなんでもできるのは認める。
ピボットテーブル⊆VBAだよ。
でもVBAの連中はもうこれ以上ピボットテーブルを作る必要ないだろ?
>>180 ピボットテーブルさえ覚えておけば何でもできる
表示>ツールバー>コントロールツールボックス
から、
デザインモードを選択。
作成してあるボタンが選択出来るようになるので、右クリック>プロパティ
プロパティ中"Caption"
に、表示したい文字列を入力
両方使えばいいだけだろカス共
ピボット、VBAどっちかが好きな奴はもう片方を極めろ
また極論でしか物考えたがらないバカが多いな。
目的関係ない車輪の再発明したがるバカは認められなくても当然なだけ。
VBA使った方が目的に合ってるなら使えばいい。
ピボットテーブル⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇⊇VBAだよ。
>>182 君も早くピボットテーブル使えるようになりなさい。
手続きなんて低級なことはコンピュータにまかせるのです。
190 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 23:49:17
ピボットテーブル派の人って、元のデータは誰が作るの?
まさか、自分じゃないよね?
文句付けたいだけのクズか、自分を認めて欲しいだけの構ってちゃんなんだろうな。
>>190 もちろんピボットテーブルを使って作ります
お前らけんかしてないで相談に答えてやれよ
>>190 自分で作ってもいいし,他人が作ったのをデータベースから持ってきてもいい。
VBAの人はデータどうやって用意してるの?
>>189 手続きなんて低級なことは、アシスタントか派遣だよ。
お前の部下は、コンピュータだけか?
197 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 23:54:55
>>194 元データは主にCSVで、他部門が作ったものをシスコンから吐き出す。
自分でデータなんて作らないよ。馬鹿馬鹿しい
ピボットテーブルの解説サイト教えてくれるとすごくうれしい
さぁ、盛り上がってまいりますた!
明日は義理チョコをイパーイ貰うので、漏れはもぅ寝ます。
201 :
名無しさん@そうだ選挙にいこう:2008/02/13(水) 23:59:04
>>199 シスコンが吐き出した最新のCSVを拾ってくるには、どうすればいい?
もちろん、ピボットテーブルを使って。
ピボッと参上ピボッと解決
このスレに元気なROMが15人ぐらいいることだけはわかった
>>201 あのね。君がVBAでやりたいのはそんなとこじゃないでしょう?
「得意先別に売上を集計するところ」
ここにカタルシスを感じてるんだろう?
206 :
名無しさん@そうだ選挙にいこう:2008/02/14(木) 00:04:36
>>205 そんな低脳な仕事しかさせてもらえないのか?
もしかして営業?
>>202 ぐぐると山ほどでてくるからどれがいいのかきいてるンだよ短小
>>206 君はどこかの研究所で微分方程式でも解いているのかね。
VBAで。
結局このスレの連中は何にエクセルを使ってるのか非常に気になってきた
僕は、請求書ちゃん!
ふーん、シスコンって何?
211 :
名無しさん@そうだ選挙にいこう:2008/02/14(木) 00:09:31
>>208 主にf特の解析をして、ポリマーを開発してる。
バカとVBAは使いよう
コーンフレークの類似品
>>211 それはピボットテーブルの守備範囲ではないね。
専用のツールやプログラミングが必要なこともあるでしょう。
君はそれでいいじゃないの。
VBAはその分野ではよく使われているのかい?
ピボットテーブル派って、営業とか事務とかなの?
>>212 お目ーのようなクグレカス馬鹿は信でいいよ。
くぐるほどわからないもの。正確に知らせよ。
ピボットテーブルさえあれば、ご飯3倍はいける
>>211 もし君の仕事で「データをグループごとに集計する」ような処理が
発生したときはピボットテーブル使ってみてくれよな。
さらに倍!
222 :
名無しさん@そうだ選挙にいこう:2008/02/14(木) 00:23:17
x 大橋巨線
o 大橋巨泉
スマン・・・ orz
営業マンですが、VBAなんて誰も使ってないです
そもそも何ができるんでしょうか?
226 :
名無しさん@そうだ選挙にいこう:2008/02/14(木) 01:48:09
227 :
名無しさん@そうだ選挙にいこう:2008/02/14(木) 05:52:34
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 エクセル 縦 横 セル表記
セルの表記について質問です。自宅のエクセル2003では、セルの縦の数え方が数字で、横の数え方も数字になっています。
(こんな感じです)
↓↓↓
■1 2 3 4
1□□□□
2□□□□
3□□□□
4□□□□
会社で使っているエクセル(バージョンは分かりません)は セルの縦の数え方が数字で、横の数え方がアルファベットになっています。
(こんな感じです)
↓↓↓
■A B C D
1□□□□
2□□□□
3□□□□
4□□□□
例えば 会社のパソコンで、 C1のセルにA1とB1の合計を表示するとき・・・
=A1+B1
といった数式を打つのですが、自宅のパソコンだと、
=RC[-2]-RC[-1]
というように打たなければならず、非常に面倒です。
セルの横の数え方をアルファベットに変更する事はできますか? よろしくお願いします。
オプション→全般→R1C1がどうたらのチェックを外す
ピボットテーブルが使えない人というのはきっとデータの第一正規化ができて
いないのだと思う。つまり、スタート地点にすら立っていないのだ。
上の方で「詰んだ。すでに最適化することがなくなった。」と言ってる人がい
るけど、あなたの組織はデータ管理がまったくだめなんだから、これからいく
らでもやることあるんだよ。がんばれ。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 ペースト 相対参照させない
相対参照式のセルをコピペするとき、相対参照させないで貼り付けるにはどうやればいいですか?
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003,2007
【3 VBAが使えるか .】 少し
【4 VBAでの回答の可否】 どっちでも
【5 検索キーワード 】 オートフォーム,データフォーム
Excel2003とか2007に最初から用意されてる簡易フォーム、バージョンによってデータフォームとかオートフォームとか言うやつ
それを参考にしてフォーム開発したいんだけど、、
そのフォームの、プロパティとかXML設定とか、どこで見れますか? どうすれば表示できますか?
>>230 絶対参照にしてコピぺして、
範囲選択、「$」を空白に置換ってのはダメかな
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007およびExcel2003
【3 VBAが使えるか .】 不可
【4 VBAでの回答の可否】 不可
【5 検索キーワード 】excel2007 tab 移動 セル
エクセルの入力とセルの移動について質問です。
以前はXP+エクセル2003のPCを使っていたのですが、最近エクセル2007が
搭載されているXPのPCを購入しました。
2003の頃はIMEの入力モードが「ひらがな」になっている場合、数値を
入力して未確定の状態でもタブキーを押せば、右のセルに移動しました。
しかし、2007で同じような状態でタブを押しても右のセルに移動しません。
たとえば、日付を入力する事が多いのですが、セルの書式設定を日付に
している場合、2003では「h20.2.14」と全角ひらがな状態で
入力してタブを押せば、右のセルに移動した上で、同時に半角英数字の
「H20.2.14」と元のセルに入力できました。
ところが、2007の場合は、「h20.2.14」のまま移動しません。
エンターで確定した後にタブを押せばセル移動し、日付は半角英数文字で
処理されます。
日付を入力するセルの他は、日本語を入力する事が多いのでいちいち
IMEの入力モードを変えたり、今までエンターでの確定なしで入力していた
ので、ちょっと面倒くさいのですが、何か設定方法はありませんか?
また、上記の検索キーワードでgoogleで検索し、最初にヒットした
サイトで同様の質問がありましたが、明確な答えがありませんでした
ので質問します。
テンキー入力でも解決しませんでした。
1.書式設定を日付にする(多分今は、文字列になってると思う)
2.範囲を選択、データ→入力規則で日本語のオンオフを選ぶ
好きなほうをどうぞ
IME変わると困るよなぁ。
会社の2kPCだと、未変換文字列のまま、次の文字を入力すると、未変換が消されて
次の文字が入力されるけど、
家のXPPCだと、未返還がまず確定されて、その次に次の文字が入力される。
まぁこれはエクセルには関係ない部分だけどな。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007およびExcel2003
【3 VBAが使えるか .】 可
【4 VBAでの回答の可否】 可
至ってシンプルな質問ですが、よろしくお願いします。
あるコマンドボタンをクリックすると、そのワークシートの最終更新日(と時間)をmsgboxで表示しようと思います。
その際、最終更新日(と時間)をVBAで取得することはできるのでしょうか?
FSOには最終更新日を取得する命令はないようですが、他に手段があったりするのでしょうか?
よろしくおねがいします。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 不可
【4 VBAでの回答の可否】 可
すでに出来ている表に加筆する際、次から入力する文字の色を指定したいのですがどうすればいいでしょうか?
セルをまたいだときも指定した色で入力したいのです。
よろしくお願いします。
>>236 ブックの更新タイムスタンプなら取得できるけど、シートはわからん。自前でイベント拾うしか無いんじゃね?
ブックはこんな
msgbox thisworkbook.BuiltinDocumentProperties("Last save time").value
Dim ObjA as Range
Dim ObjB as Range
Set ObjA = Range("A1:C4")
For Each ObjB in ObjA
ObjB.value = 100
Next
ForEach構文のカウンタ変数ObjBに対してSet文を使わない(使えない)のはどうしてなんでしょう
何か明快な理由故なのか、それともそういうものなので気にする必要もない些細な事なのか
つまらない質問で申し訳ないのですがどうも気になってしまいまして
>>237 質問の意図がよくわからない・・
文字の色を変えればいいんじゃないのか?
忘れそうなら、コメントにでも大きく書いておくとか
>>241 メモリ上の仮想オブジェクトとでも言えばいいんだろうか?
244 :
名無しさん@そうだ選挙にいこう:2008/02/14(木) 18:13:37
「A欄の上と同じ」という数式を1000行入れるマクロをVBAで作ってみましたが
完了するまで6秒かかります
もう少し早くする方法は無いでしょうか?
For y = 20 To 1020
Worksheets("テスト").Cells(y, 1) = "=A" & y - 1
Next y
>>244 Application.ScreenUpdate = False
For y = 20 To 1020
Worksheets("テスト").Cells(y, 1).Formula = "=A" & y - 1
Next y
Application.ScreenUpdate = True
>>138 処理待ちしたいところに
Application.Wait Now + TimeValue("0:0:5")
を突っ込む
そしてコードを見られないように気を付けるんだ
>>245 Application.ScreenUpdate = False
For y = 20 To 1020
Worksheets("テスト").Cells(y, 1).Formula = "=A" & y - 1
Application.Wait Now + TimeValue("0:0:5")
Next y
Application.ScreenUpdate = True
Application.Wait Now + TimeValue("0:0:5")
はnext yの後に書けばセンスよかったのに
251 :
244:2008/02/14(木) 19:43:00
>>244 それならR1C1形式でいいんじゃね?
range("A20:A1020").formula = "=R[-1]C[0]"
Range("A20:A1020").FormulaR1C1 = "=R[-1]C"
じゃね
254 :
244:2008/02/14(木) 19:56:43
>>252 すごい
1秒掛からんかった
ありがとう
R1C1形式メインで使ってる人なんていますか?
もしいたら、便利なこととかありますか?
VBAの相談って生産的な話題はめったにないなあ。
手段が目的になってしまっている。VBAで何をやるかじゃなくて、ただVBAを使いたいだけ。
>>256 まぁそういうことはチラシの裏にでも書いておけよ、な!
皆さんのお知恵を拝借したいです。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 全くもってわかりません・・
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 ごめんなさい、検討もつきませんでした。
現在Excelで帳簿をつけているのですが
前月繰越金 \000000
. _________
|借方|貸方|金額|
|****|xxxx|\000|
|****|yyyy|\000|
|.zzzz.|****|\000|
~~~~~~~~~~~~~~~~~~~~~~~~
差引残高 ____
と、なっているときに
借方が****のときはそこの金額を繰越金に足し
貸方が****のときはそこの金額を繰越金から引いて
その最終額を差引残高のセルに入るようにしたいのですがどうすればいいでしょうか。
そもそも可能でしょうか。
ちなみに全てにおいて、必ず「貸」か「借」のどちらかに****は入っています。
わかりづらくてごめんなさい。よろしくお願いします。
>借方が****のときは
これってイベントか?それともそういう風に入力されてるシートか?
260 :
名無しさん@そうだ選挙にいこう:2008/02/14(木) 20:55:06
貸借対照表か?
主事試験のときに勉強したが、畑違いだし忘れた・・・
C1が前月繰越
A2に借方、B2に貸方を入力でC2が残高とすると
C2に
=IF(A2>0,C1+A2,C1-B2)
後はフォーマットにあわせて適当に変更して
262 :
261:2008/02/14(木) 21:08:13
しまった、間違えた
訂正する
263 :
261:2008/02/14(木) 21:13:32
A・B列の二行目以降に****がどちらかに入り、
C1に前月残高、C2、C3・・と金額が入ってるとする
D列に=IF(A2="****",C2,C2*-1)
といれて下の方にオートフィルかけてD列の合計と前月繰越をだせば、
差引残高になるよ
>>258です
出来るだけ見易くしようと**やxxに置き換えたのですが、
改めて見ると、かえってわかりづらくなってしまったと自分で思います・・。
しかも「*」なんて数式で使うし、ややこしいにも程がありますね・・ or2
>>263 ありがとうございます!!!
引かれる金額は-1を掛けて、負の数にすればよかったんですね!
こんなに簡単にできるとは目から鱗です!
明日早速やってみます。
レスくださったみなさん、ありがとうございました。
265 :
179:2008/02/14(木) 21:46:04
>158>185さんに答えていただいたんですが・・今度は数字を上げ下げする
方法がわかりません・・・
1→(ボタンクリック)→2→(ボタンクリック)→3・・・という風にです。
>>クイズでの得点計算のためにエクセルを使いたいのですが・・・・
>>セル内部の数字をクリックだけで±できる方法ってありますかね?
>>たとえばセル内部に+ボタン、−ボタンを設置したりとか・・・
>>Windows Vista 、Microsoft Excel 2007です。
266 :
22:2008/02/14(木) 22:01:24
お礼が遅くなってしまい、申し訳ありません。
>>23さん
数式は入っていないのですが、検索するデータ部分が
15000を超えるので…きっとそのせいでしょうねOTL
>>40 ありがとうございます!先ほどパソコンを立ち上げたので
さっそくやってみます!
本当にありがとうございました。
>>256 本当に実務で使う時は、1秒で終わる方法を15分もかけて検索したりデバッグするヒマなんかないからなあ。
自分の知ってる、15秒かかる方法で済ませちゃった方が、トータルではよっぽど速く仕事が終わることになる。
268 :
名無しさん@そうだ選挙にいこう:2008/02/14(木) 22:56:48
エクセル2003 xpです。
アンケート集計のために5択アンケートのフリーウェアを使わしてもらおうと
ダウンロードしたら、項目数が10項目だったので、12項目に増やしたいの
ですが、どんな手順でたどり着くことができるでしょうか?
VBAはほんの少しはわかりますが、1項目増やそうとしてわからずじまいです。
各セルがオプションボタン?で5択になっているのですが、これをコピーしよう
としてできませんでした。
あるいは5択アンケートで項目数が15項目あるフリーウェアーをご存じでしたら、
教えてください。
>267
まあ、二度と同じ処理をしなくてすむ場合は、そのとおり。
>>268 アンケートはピボットテーブルしかありえないだろ。
アンケート集計のフリーウェアっていったい何?
存在意義がわからん。
271 :
268:2008/02/14(木) 23:23:23
「Excel簡単5択アンケート」というフリーウェアーでベクターから、
ダウンロードしました。
集計のため、オプションボタンをクリックするとそこが計上されるようになっています。
アンケートのフリーウェアつかったことあるよ。excelのVBAでhtaのアンケート回答票をつくって集計するタイプ
ベクターにあるQuestionnaire_Create 1.6
同時に複数の人が回答できて(Excelに入力するアンケートだと、だれかがファイルを開いてると
他の人が回答できない)集計も自動なので便利だった
ピボットテーブルを使うためにデータを作るのって虚しくね?
>>273 のレス見て悲しくなった
なによりもまず、データを作る際には正規化されたものを作らないといけないんだよ
それをもとに、ピボットやグラフを作ったり、VBAを絡ませたりするわけだ
・・まぁ、実務で使ってればその内分かるさ
エクセルのファイルをフリーウェアと呼ぶのは何か違和感があるな
>>274 そうそう。
特に第一正規化ね。第二以降の正規化はあえてやらないほうがピボットテーブ
ルにとっては利用しやすい。
ピボットテーブル用のデータというのは必要にして十分なデータなんだから,
虚しい行為とは言い難いな。
エクセルで折れ線グラフを使うときの質問です。
A列をX軸、B,C,D列をY軸の3つの折れ線を1つのグラフにあらわしたいのですが
どうしたらいいのでしょうか?
PC質問板で質問したらここに誘導されました
つーか、ピボットテーブルで用が済む仕事って何?
>>278 事務系ならほぼ全般と思う
ただ例外の多い会社には向かないと思う
>>277 試しに表ごと作ってみた
A1が空白、A2ーa13に1〜12月
b1にB支店、c1にc支店、D1にd支店といれて、
B2からD13まで適当な数字埋めて、A1からD13を範囲選択
あとはグラフウィザード立ち上げてエンター押してるだけでできたよ
お願いします。
Excel2007で行or列を挿入しようとして
行or列を選択して右クリックしても
メニュに”挿入”が出ない時があるのですが
何がおかしいのでしょうか?
>>278 もし君が研究職で日々コンピュータで方程式を解いているというのなら
ピボットテーブル使うことはないだろうね。
まあそんな連中はEXCELなんて使わないけどな。
事務にEXCEL利用していながらピボットテーブルなんか役に立たないとか言っ
てるやつの扇子を疑うよ。データベース使ってない会社の人か?
283 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 00:52:26
フツーにaccessだな
でもピボットテーブルが一番役に立つのって、総務・経理じゃなくて
営業・人事の分析業務なんだけどな。
定型的な帳票作るなら、さすがにマクロ一回組んで使い続けた方が10000000倍効率がいい。
貯めておいたデータを取り出して、クロス集計とドリルダウンで分析する用途で
使ってないんじゃ、そんなには意味無いんだけどなあ。なんかずれてて気持ち悪いわ。
>>284 そうだね。そういうレベルでの話をしよう。
VBAで連番をふるテクニックとかの話はつまんない。
ピボットテーブルで用が済む仕事って、つまんなくね?
VBAやDSUMでゴリゴリやるよりピボットテーブルでやるほうが簡単だって話だよ
簡単なら仕事が楽しいワケ?
そんな簡単な仕事は部下に任せて、他にやることがあるんでねーの?
>>288 そりゃあVBAでプログラミングしてるほうが楽しいだろうよ。
役に立つかどうかはともかく。
>>289 管理職こそむしろピボットテーブルを使うべき。
そうだわなあ。基本的にあれは分析と意思決定のためのツールだからなあ。
でも関数式で帳票作る代わりに使うってのは納得。
>>291 キミは管理職になれないタイプだね。
でも、可哀想だとは思わないよ。
世の中、負け組がいるから勝ち誇れるやつもいる。
ピボットテーブルで集計することに生きがいを感じてます
295 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 01:27:09
ピボットテーブルで集計してる人って、給料いくらですか?
漏れは時給で約2556円。残業だと、これの1.25倍。
>>295 君の仕事はピボットテーブルに奪われるかもしれないね。
297 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 01:35:58
298 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 01:37:46
test
>>297 あんまりつまんない話するなって。
給料はあんま高くないよ。君と違って。
君は優秀なVBAプログラマなのかい?
300 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 01:43:00
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel 2000
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
質問です
エクセルで文字列をそのまま定数として扱うってのはできないのでしょうか??
例えば、2xのまま計算を続けるとか・・・
誰か教えてください
>>300 数式処理はできません。
Mathematica
Maple
Maxima
なんかを使ってみてください。
ピボットテーブルで用が済む仕事はアルバイトか派遣社員だな
正社員がやるような仕事じゃない
303 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 01:54:26
すみません!
横棒グラフで、値を表示しているのですが、引き出し線も表示したいのですが
どうしたらできますか?
円グラフだと出来るのですが、棒グラフでは引き出し線は出ないのでしょうか。(>_<)
よろしくお願いいたします。m(__)m
>>302 逆に教えてほしいよ。
ピボットテーブルで済まない仕事ってどんなことしてんの?
その作業はプログラム組まないと解決できないの?
おっと派遣社員クンの逆麟に触れたかw
>>305 正社員はこっそり隠れてどんな高度な仕事してるの?
君の作業をちょっぴり紹介して。
308 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 02:32:23
>>307 レス有難うございます!
ああ、確かにひとつの手だったかも!
ただ、グラフの項目がとても多くて細かいのでそれをいちいちオートシェイプの
吹き出しで拾っていくのは…。
グラフ機能にはないのでしょうか…。
どうしてもなければその手で行くしかないですが…。(;_:)
309 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 03:24:02
なんでお前らそんなことで喧嘩してんの
VBAもピボットも仕事によって向き不向き・習熟度合はあるだろうし、
最終的に同じものが出来ればそれでいいだろう
どっち使える奴もなんだかんだで事務作業は人並みにこなしてるだろうし
スミマセン
おいらバカなんで、VBAは解るけどピボットテーブルは解りません
>>310 例え話だけど、
「エクセルでデータを並べ替えたいのですがどうやったらできますか。」という質問がきたとするね。
この時、「VBAで作ってやったよ。ほら。」なんていう回答者が現れたらどうする?
>>312 ワロス
って返したいけどこのスレでは別に何もしない
>>312 俺、それで喜ばれたよ
しかもソートルーチン部から作ったものではなく、Excelの並べ替え使っただけのもので
単一キーの昇降順ソートでも、ソートには最低2アクション(範囲選択→昇降順並べ替え)必要だし
3列範囲を真ん中の列をキーにソートするなら、「範囲選択→並べ替え→キー選択→昇降順選択→OK」と
5アクションも必要になる
結果的にはVBA使わずに事足りる並べ替えでも、同じ設定で頻繁にやる場合はボタンにVBA登録するのも一つの手だよ
VBA使わなくても出来るから、VBA使うのは不適切だなんて狭量すぎる
もちろん、VBA使うのが不適切な場合もあるが、もっと視野は広く、思考は柔軟にね
>>314 いくつかの機能をまとめてマクロにするんだよね。そういうのはVBAの使い道として健全な例なんだ。
>>312が言ってるのはそうじゃないでしょ。
何故に弁解?
excel2003です。
折れ線グラフで、折れ線グラフのスタート位置がx軸と交わるように設定を変更したいのですが、
うまくできません。
どのようにすればよいでしょうか?
現状は折れ線グラフはx軸と交わらない部分から始まっています。
最初の行を0にしてみては
322 :
320:2008/02/15(金) 13:58:38
すいません、間違えました。
y軸です。
y軸と交差する、しないの設定があった気がするのですが、どこから設定するのか忘れてしまいました。
グラフの種類→モノクロ折れ線や平滑折れ線を選んだら
ならないこともないけど、違うかな
グラフの種類→ユーザー設定→モノクロ折れ線・・
でした。スマン
>>258です。
たびたびすみません。
一つのBookに、Sheet0、Sheet1、Sheet2、Sheet3があったとします。
このとき、Sheet0の任意のセルに1〜3の数字を入れると、
そのセルにそれぞれSheet1〜3のB1セルに入ってる言葉が反映されるようにしたいのですが可能でしょうか?
それぞれB1に、Sheet1は「あああ」、Sheet2には「いいい」、Sheet3には「ううう」と入っていたとすると
Sheet0のセルに1と入力すると「あああ」と表示され、2と入力すると「いいい」と表示され・・といった感じです。
よろしくお願いします。
>>325 sheet0のA1セルに1や2、3を入れるとして
=INDIRECT("sheet"& A1 &"!b1")
327 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 15:17:15
>>307さん
303です。
結局棒グラフには引き出し線がないということがわかり、オートシェイプで対応しました。
有難うございました。助かりました!m(__)m
328 :
名無しさん@そうだ選挙にいこう:2008/02/15(金) 16:08:14
VBAをいじっていて、以下のことが分からなくて困っています。
変数 i が1から n まで1ずつ大きくなっていくとき、n の値に応じて、
{1,1,5,5,9,9,13,13…}
という数を返したいと思うのです。
交差4の等差数列が2回ずつ同じ要素を繰り返す、という感じです。
ただの等差数列なら 4(n-1) + 1 で終わりですが、2回ずつ繰り返す処理がよく分かりません。
やはり If 文でしょうか?
ご助言お待ちしております。
ただの等差数列は、今どういう風にVBA書いてるのさ?
割ってもいいし二重ループでもいいしいかようにもかけるしExcelじゃないし
すみません、>328です。
j = Fix((i + 1) / 2)
を i の代わりに用いることで自己解決しました。
>>280自己解決しました。
何かをコピーしている状態だと
メニュが変わるようでした。
お騒がせしました。
>>332 なるほど。それでだったの。
でもなんでそんな仕様なんだろうね。
コピー中でも単純な挿入できたら便利だと思う。
>333
コピー中は「挿入」が「コピーしたセルの挿入」に変わるから。
これはこれで素直な仕様だと思う。
単純な挿入も挿入メニューか、2007ならホーム>セル>挿入からできるし。
後輩の女子社員にエクセル教えてた
実生活で挿入とかふつうにいったりいわせられるのはこういう場面しかないので、めちゃめちゃ興奮した
「挿入」だけならはコーフンするけど
「行挿入」だとExcelの画面が頭に浮かんで(´・ω・`)ショボーン
Insertにしろ!
338 :
名無しさん@そうだ選挙にいこう:2008/02/16(土) 18:53:17
保存したエクセルファイルを読まなくなったんですが
どうしたらよいのでしょうか?
メッセージは”このファイル形式は読めません”
と出ます。
ファイルのプロパティ見ると”Microsoft Excel ワークシート”
と出ています
こうゆう場合復旧する方法はあるのでしょうか?
大事なデータが入っているので何とかしたいので
おねがいします。
>>338 テンプレ書いてないからわからんが
保存したEXCELのバージョンと開こうとしているバージョンが違う落ちは無いよね?
そういう時はエクセルで開くのは無理なんだけど、
他のエクセルを読めるアプリケーションからだと開けることがある。
とりあえず、IEから、ファイル>開く>参照。
会社だったら、Notesとかから開いてみる。
OS: XPPro
Excel2002
VBA 何とかかんとか
フォームのテキストボックスなんですけど、数字しか許可したくないです。
そういう方法があったら教えてください。
344 :
338:2008/02/17(日) 09:52:40
>>339.340
どうも有り難うございます
同じパソコンなのでバージョンは同じです。
>IEから、ファイル>開く>参照
やってみましたが、文字化けしたtextデータが出てきました
最後の望みで、復旧ソフトを買ってきて試してみます。
パソコンも便利なんだけど、こういった不具合が出ると
悲惨だね・・
プレゼン用の資料なのに・・・
エクセル再インストールするか、マンガきっさにでもいって試してみては
復旧ソフトってのがうさんくさい
346 :
338:2008/02/17(日) 10:11:49
書き方が悪かったでしょうか
エクセルは正常に動いています
エクセルで作成したファイルが読み込めなくなりました
他の壊れていないエクセルファイルは、読み込めます。
>>341 コントロールへの入力制限はいろんなものがあるけど、とりあえず
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < vbKey0 Or KeyAscii > vbKey9 Then KeyAscii = 0
End Sub
小数点とかマイナス符号も入力したいなら、そのくらいは自分で頑張ってみよう
>>342 ヒント:入力規則はセルに割り付ける機能であって、フォームのテキストボックスには使えない
>>343 ヒント:OFFにしても英字や半角記号の入力が可能
ヒント(笑)
ヒント(笑)
351 :
341:2008/02/17(日) 13:34:38
マクロについて教えてください。
たとえば、マクロで、
-------------------------------------------------------
cells(100,100).select
'もしくは
'cells(100,100).activate
-------------------------------------------------------
とすると、
セルが選択されて、そのセルが見える場所へ画面が移動すると思うんですが、
これを複数のエクセルのファイル(とその中のシート全て)に一括して行いたくて、
同じようにコードを書くと、
セルの選択はされるのですが、画面は、前回保存されたときの場所が表示されます。
画面も移動するにはどうすればいいのでしょうか。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000、2003
【3 VBAが使えるか .】 つかえないこともない
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 ?
>>352 Cells(100, 100).Select
Application.Goto Reference:="r100c100", Scroll:=True
で移動できるかな
ちなみにマクロの記録をする時は編集→ジャンプでセルを指定すれば記録されるよ
354 :
352:2008/02/17(日) 15:14:21
352です。
ありがとうございます、353。
動作確認できました。
>編集→ジャンプ
の機能を今回はじめて知りました。たはは…。
詳しい方いらっしゃれば、以下についても教えてください。
ActiveWindow.View = xlNormalView
だとか、今回の
Application.Goto Reference:= "R100C100" 'ってあれ?Scroll:=true 記録されてない…左端か…
だとか、これらは、
ブックのプロパティやシートのプロパティと違った場所に保存されているということなのでしょうか?
【1 OSの種類 】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか 】 始めたばかりです。
【4 VBAでの回答の可否 】 可
【5 検索キーワード 】 マクロ名 ブック名
あるブックに複数のマクロを登録しているのですが
そのブックのみを開き、ツールから登録しているマクロ名を見ると、
「マクロ名」のみで表示されるものと
「ブック名.xls!マクロ名.マクロ名」という形式で表示されるものがあります。
なお、VB画面のツールからマクロ名を見ると、全て
「マクロ名」のみで表示されています。
複数のブックを開いているわけではないのですが、これは
なにが原因なのでしょうか?
356 :
名無しさん@そうだ選挙にいこう:2008/02/17(日) 18:55:29
質問です。
エクセル2003を使っております。
データ→規則→リストでリストから入力したい文字を
選択できるようにしたのですが、リスト以外にそのつ
ど他の文字も入力できるようにしたいのです。
初級者なのでいろいろやってみましたがわかりません。
どなたか 教えてくださいませ。
よろしくおねがいします。
【1 OSの種類 .】 WindowsVista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 グラフ,小数点
<質問>
EXCELのグラフで特定の目盛りの数字だけ桁を変えることは出来ますか?
要は小数点を使うグラフで0だけ0.00じゃなく0にしたいわけですが…
よろしくお願いいたします.
テキストボックスで上書き
>>358 ありがとうございます.
やっぱそれしかないんですかねぇ…
結構使う機会多いと思うんですけど.
>>359 書式で設定できんじゃないかな?
0.00;-0.00;0
とかで
>>360 できたーー!!
ありがとうございます.
仰るとおり,
0.00;-0.00;0
を追加したらOKでした
>356
データ→入力規則のことだと思うんだが、そこでリストを使うというのは、『リストで指定したもの以外を入力させない』という意味だ。
根本的に間違ってる。
>>356 入力規制のダイアログで、エラーメッセージだったかな?のタブで
リスト以外の値が入力された時にどうするかを決められると思ったけど。
エラー表示しないようにすれば、とりあえずリスト以外の値も入力はできるよ。
ただ、新しい値をリストにその都度追加したいとかは、ちょっとできないんじゃないかな。
【1 OSの種類 .】 WindowsXP SP2
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 できればくわしく記述していただけると助かります
【5 検索キーワード 】 Excel 数式 貼れない 参照できない
<症状>
・数式を張ってもDATAが参照されず文字列として処理される
・すでに参照できている数式をコピペすると反映されるが、
参照内容を編集(A2をB2など)すると文字列として処理される
・編集しているシート@は列A→P、行260ほど
・参照先シートAは列A→AC、行200ほど
・なお、別シートB列A→AP、行260ほどを参照済です。
<希望>
数式として参照したい
以上よろしくお願いします。
365 :
名無しさん@そうだ選挙にいこう:2008/02/17(日) 22:37:33
>>362 >>363 ありがとうございます。
エラーメッセージのところで解決しました。
そのつどリストに追加したかったわけではなくリスト
以外の文字を入力できるようにしたかったのです。
ほんとに助かりました。
>362に礼を言うのは違う希ガス、、
どんまい
368 :
名無しさん@そうだ選挙にいこう:2008/02/18(月) 00:46:50
ピボットを使おうとして、端に
縦に質問項目としてQ1、Q2、Q3・・・
横に回答者として1、2、3・・・
としたら
ピボットはうまく、働かないようだ。
横の1、2、3・・・がまずいのか?
370 :
名無しさん@そうだ選挙にいこう:2008/02/18(月) 00:57:46
縦に => A2A3A4・・・セルに
横に => B1C1D1・・・セルに
>>370 いったい何を言ってる?まじめにやってんのか?
まあいいたいことはわかるw
そういう場合はこうしないといかん
A B C
Q1 回答者1 解答a
>>368 作りたい表がすでに集計結果なんだからピボットテーブルなんかいらないだろ。
ピボットテーブルがうまく動かなかったのはA1セルが空白だからなんだろうけど
それ以前の問題がでか過ぎる。
典型的なクロス集計のデータじゃん。常識的に考えて。
Q1でAを選んだ人の中で、Q2のBを選んだ人の割合とか見たいんじゃねーの?
>>372のように書けるかどうかがピボットテーブルを使えるかどうかの別れ目。ピボット使えね〜とか言ってるやつはここがだめ。
377 :
名無しさん@そうだ選挙にいこう:2008/02/18(月) 08:27:45
バカは回答すんなよ
VBAで回答してくるやつが現れそうな予感。
>>364 書式設定で標準、かな
文字列以外を指定すればいけると思う
zzって何者?
ヴァッカじゃねーのwww
氏ねよwww
チラシの裏でスマソ
【1 OSの種類 .】 WindowsXP SP2
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel 積み上げグラフ 複数項目
初歩的な質問ですいません。
以下のような数値を同一グラフ上で表す方法は可能でしょうか?
ひとつの軸が売上もう一方は年度とし、
年度ごとに各社の商材1と2を積み上げ状態で表すことにします。
(06年度) (07年度) ・・・
商材1 商材2 商材1 商材2 ・・・
A社: 〜万 〜万 〜万 〜万 ・・・
B社: 〜万 〜万 〜万 〜万 ・・・
C社: 〜万 〜万 〜万 〜万 ・・・
以上お力添えよろしくお願いいたします。
データの入力規則をリストにすると,リスト中の値を選択して入力することができますが,
値ではなくリスト中のセルへの参照を選択して入力するようにできないでしょうか.
あとでリスト中の値を変えたら,リストで選択した全セルの値も更新されるようにしたいです.
384 :
名無しさん@そうだ選挙にいこう:2008/02/18(月) 17:26:04
マウスを使わずにキーだけでページを切り替えることは出来ますか?
>>384 ページダウンかページアップ
シートのことなら、ctrl+ページダウンかページアップ
>>383 ごめん、質問がよく理解できないんだけど
セル範囲に名前をつけて
入力規則のリストに=名前って話ではない?
>>381 同じ年度の商材1と2は同じ色でグラフを作るか・・
じゃなければ合計列を作って作り直すか、ピボットテーブルかな
>>388 381です、レスありがとうございます。
> 同じ年度の商材1と2は同じ色でグラフを作るか・・
同色では1本のグラフで商材1・2の和の配分が分からなくなるので厳しいですね
> じゃなければ合計列を作って作り直すか、ピボットテーブルかな
ピポットテーブルは使いこなせませんが、合計列を作る例は↓ということでしょうか
合計列の元になる数値を積み上げグラフ上で反映し、
かつ複数社を同一年度に表示させるように出来ますか?
(06年度) (07年度) ・・・
商材1 商材2 1・2合計 商材1 商材2 1・2合計 ・・・
A社: 〜万 〜万 〜万 〜万 〜万 〜万 ・・・
B社: 〜万 〜万 〜万 〜万 〜万 〜万 ・・・
C社: 〜万 〜万 〜万 〜万 〜万 〜万 ・・・
>>381 商材〜C社までの行選択してグラフウィザード、縦棒→積み上げ縦棒グラフ選んで「次へ」クリック
系列を列にチェックではダメ?
というかイマイチ完成系が分からないw
【1 OSの種類 .】 Windowsxp sp2
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 指定文字 含まれる 関数 置換
文字列に指定文字が含まれていた場合、文字列全体を書き換える関数はありますか?
393 :
名無しさん@そうだ選挙にいこう:2008/02/18(月) 21:01:17
=IF(ISERR(FIND("特定の文字列",A1)),A1,"書き換え後の文字列")
こんな感じ?
395 :
383:2008/02/18(月) 21:16:25
説明がわかりづらくてすみません.
- 複数のxlsファイルの多数の箇所にとりあえず
"hoge"または"geho"または"aho"などのどれかを入れておく
- あとで"hoge"と入っていたところすべてを"foo"に,
"geho"と入っていたところすべてを"bar"に,
"aho"と入っていたところすべてを"baz"に変える
ということを簡単にやる方法がしりたいです.
外部参照やリストを使うとどちらかは簡単にできるのですが
両方を簡単にできる方法がなくて困っています.
>>394 ピボットテーブルであっというまにできた。
こんな風に入力してみ。
年度 会社 商材 売上
06 A社 1 100
06 A社 2 70
07 A社 1 120
07 A社 2 70
08 A社 1 140
08 A社 2 60
06 B社 1 50
06 B社 2 70
07 B社 1 45
07 B社 2 75
08 B社 1 40
08 B社 2 80
06 C社 1 70
06 C社 2 30
07 C社 1 100
07 C社 2 25
08 C社 1 110
08 C社 2 10
>>396 レスありがとうございます!
テーブル作成後にそれを元にグラフ作成ってことですね?
ピポットなのかピボットなのかもわからないレベルですので
そこんとこから勉強してチャレンジしてみます!ありがとうございました!
398 :
396:2008/02/18(月) 21:43:08
>>398 今のスキルでは出来ないとわかったことが収穫です
なので、ピボットテーブルを使うことを学ぶ、って意味で御礼した次第です
400 :
396:2008/02/18(月) 21:52:24
>>399 ピボットテーブルなんてスキルでもなんでもないよ。
データさえあの通り入力すれば3分で理解できる。
入力する気はある?ない?
401 :
名無しさん@そうだ選挙にいこう:2008/02/18(月) 21:54:49
>>399 >>400のいうとおり
エクセルに技術なんてほとんどいらない
やってみるかやってみないかだけ
ただ3分てのは人によると思うがw
402 :
381:2008/02/18(月) 21:57:56
>>400-401 ご丁寧にどうもです
試しに
>>396を入力してレイアウトなんかを決めてるところです
なんとなくですが確かに出来そうですねw
だね
せめて3分15秒だろ
ピボット初めて使う奴に3分は難しいだろー
6分はかかると思うね
405 :
381:2008/02/18(月) 22:00:09
なにこのプレッシャーwww
なんかこう、いつものメンバーだな
別にいいけどな
408 :
396:2008/02/18(月) 22:16:11
>>381の質問が意味のある内容だから答えたくなった。
ここは無意味な質問多いからなあ。
409 :
381:2008/02/18(月) 22:18:33
>>406 ダン・ディーノ氏にビシッと教わっておきます
ピボットテーブル作成はわりとラクに出来ました
だいたい
>>394のイメージ通りですが年度ごとに棒グラフがつっくかなくて(´・ω・`)
でも仕組みはよくわかりました、みなさんありがとうございました!
>>408 どもですww
マーケとかに使えますよね、これ
>>409 ピボットテーブル簡単だったでしょ。
棒グラフくっつけたければ棒の間隔を少なくすればいいよ。
>>410 ご教授ありがとうございました
ある程度エクセル使うなら知っておいて損はない機能ですね、大変便利w
412 :
名無しさん@そうだ選挙にいこう:2008/02/18(月) 22:44:38
【1 OSの種類 .】 WindowsXp
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
A1からN18までのセルの範囲にて、セルに入力があった場合、そのセルを太文字にして、
ひとつ右隣のセルをアクティブにする。(N列X行目のときはA列のX+1行目をアクティブにする)
という内容を書きたいのですが、ひたすら以下の内容をコピーして(セルはそれぞれ書き換え)居る状態です。
If Target.Address = "$A$1" And Not (Range("A1").Value = "") Then
Range("A1").Font.Bold = True
Range("B1").Select
End If
'これをセルの数だけ用意してます。。
これをもっと簡単に書く方法をお教えください。どうぞよろしくお願いします。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 勉強中
【4 VBAでの回答の可否】 可
ユーザーフォームでテキストボックスを使用して文字を検索します。
2度目に検索する時に前回検索した文字をデフォルト値として表示させたいのですが
どうすればいいかおしえてください。
よろしくお願いします。
>>412 条件付書式で
セルの値が 等しくない =""
で書式は太字を選択
それと入力した値を決める時にtabを押してみてはどうかな?
どうしてもエンターで決めたければ
オプションで編集→入力後にセルを移動するで「右」を選択すれば右に行くけど
ただこれだと選択後、セルの場所問わず右に移動しちゃうんだけどね
>>413 ユーザf−ムを閉じる際にA1にテキスト内容を入力。
次回ユーザーフォーム起動時にA1を読み取るとか
>>412 うまくいかんかったら直してね
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:N18")) Is Nothing Then
Target.Font.Bold = True
Target.Offset(0, 1).Select
End If
End Sub
>>414 TextBox1.Text = "aaa"
>>414,416
ありがとうございました。
>>416 Intersect を初めて見ました。今調べましたがピッタリですね。
あとはN列の分岐を適当に作って完成させたいと思います。
送信しちまった
>>414 TextBox1.Text = "aaa"
でaaaって残る
TextBox1.Text = aaa
なら変数aaaが残る。
つまり・・前回終了する時のテキストボックスの内容ヲウィンドウが閉じる前に
TextBox1.Textに入れればいいだけ
つまり
>>415に先に答えられてたってことさ
寝る
>>418 あっ、入力がなくても太字になるので
If Not Intersect(Target, Range("A1:N18")) Is Nothing And Target <> "" Then
とかした方がいいかな?後は状況に合わせてくださいな。
421 :
413:2008/02/19(火) 00:03:11
422 :
名無しさん@そうだ選挙にいこう:2008/02/19(火) 00:57:08
【1 OSの種類 】 WindowsXP HomeEdition
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか 】 はい
【4 VBAでの回答の可否 】 可
【5 検索キーワード 】 「Excel リスト 書式設定」「Excel リスト 書式設定 入力規則」
【相談タイトル】
リストで書式設定も反映させることってできますか??
【手順例】
1. A3セルに「あああ」、A4セルに「いいい」と入力します。
2. A3セルの書式設定を[太字]、[中央揃え]、[塗りつぶしの色]を「黄」に設定します。
3. A3:A4を選択し、Ctrl+Lキーを押し、[リストの作成]ダイアログボックスが出てきたら[先頭行をリストの見出しとして使用する]のチェックを入れ、[OK]ボタンを押します。
4. C3セルを選択し、[データ]メニューから[入力規則]を選択します。
5. [データの入力規則]ダイアログボックスの[設定]タブで、[入力値の種類]から[リスト]を選択し、[元の値]に「=$A$3:$A$4」と入力し、[OK]ボタンを押します。
6. C3セルで、「あああ」か「いいい」のいずれかを選択できるリストボックスが現れます。
【現状】
手順6で、「あああ」を選択すると、書式設定が反映されずに、「あああ」が入力される。
【実現したい動作】
手順6で、「あああ」を選択すると、書式設定が[太字]、[中央揃え]、[塗りつぶしの色]が「黄」に自動的に反映される。
また、その後、「いいい」に変更すると、書式設定は元に戻り「いいい」が入力される。
宜しくお願い致します。
if rangeC3.value = "あああ" then
太字 & 中央 & 黄色
end if
424 :
名無しさん@そうだ選挙にいこう:2008/02/19(火) 01:37:17
【1 OSの種類 】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか 】 はい
【4 VBAでの回答の可否 】 可
【5 検索キーワード 】 変数 値の保持
プロシージャaaaからbbbを呼び出してbbb内で使用した変数をaaaに戻ってきたとき
値を保持したままaaaで使いたいのですがどうしたらいいですか?
Option Explicit内で宣言したくないのですが手はありますか?
private sub aaa()
dim a as string
〜〜〜
call BBB(a)
ActiveCell.FormulaR1C1 = b
end sub
private sub bbb(byval a as string)
dim b as string
〜〜〜
b = a + "テスト"
end sub
君の場合、【3 VBAが使えるか 】 はい
としちゃいかん気がす・・。
ちなみに381のグラフで商材1と2を縦に積むのはどうやるんですか?
427 :
名無しさん@そうだ選挙にいこう:2008/02/19(火) 08:06:33
>>424 Sub aaa()
Dim a As String
a = "test"
ActiveCell.Value = bbb(a)
End Sub
Private Function bbb(ByVal a As String)
bbb = a & "テスト"
End Function
>>395 複数のブックなら、外部参照しかないんじゃないの?
そんなに面倒だとも思わないし
あまりにも面倒なら、そんなフォーマットを作るほうが悪いってことで
普通は作るのも管理するのも簡単なように作表する
本当にそんな作業が必要なのかどうかを考え直してみたほうがいいんじゃね?
>>426 グラフの画面で、
売り上げは中央、会社と年度を下、商材を右に配置
会社と年度は両方下だけど、年度が左側だったな
431 :
424:2008/02/19(火) 12:06:14
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
今まで2003を使用していて2007に変えたんですが
これは仕様なんでしょうか?
1.最近使用したドキュメントの一覧の履歴が9件以上に増やせるようになりましたが
アプリ起動時に右側に作業ウィンドウが表示されそこに履歴が表示されるようには出来なくなった?
2.Officeクリップボードが一度起動するとExcelを一度閉じても
アプリをまた起動すると自動的にofficeクリップボードも起動してしまうのは仕様?
3.エクセルワークシートを開くと開いたフォルダに隠しファイル属性で一時ファイルが勝手に作られてしまう。
どこか別のフォルダに作るようには出来ないのか?
433 :
364:2008/02/19(火) 18:27:59
>>379 遅レスですいません。ご返事ありがとうございます。
自分も「書式設定で標準、文字列以外を指定」でいければとやってみたのですが
変わらず数式が文字列のままでした。
ひとまず、直接DATAを貼り付け形だけは整えましたが
今後の編集が面倒で頭が痛いです。
>>433 1列単位でしかできないけど、データ→区切り位置 でなにも区切らずに完了させればいいと思うよ
435 :
名無しさん@そうだ選挙にいこう:2008/02/19(火) 19:48:19
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 取り組んで2,3日 (昼夜とわず)
【4 VBAでの回答の可否】 可
現在、複式簿記の会計ソフト的なものを作ってます。
あとは印刷マクロというところで、急にマクロ登録が出来なくなりました。
マクロはボタンクリックで動作するという風に登録してます。
VBEの実行画面では問題なく動くのですが、
ボタン登録後、ボタンをクリックしてみれば、
セキュリティー警告が出て、
[読み取り専用]で開くか、または、読み取り専用で開き、ほかの人がファイルの使用を終了したときに通知を受け取るには、[通知]をクリックします。」
というメッセージの表示された[使用中のファイル]ロックファイルダイアログが表示されます。
さらに進めていくと、
登録したマクロ(パス名表示)が、見つかりませんというダイアログが出現。
他にファイルは、読み取り専用等も含めて開いてません。
隠しファイルでもあるのかと、
一度終了させて、再度開いてすぐボタンをクリックしても同様です。
personaru.xlsは使用してません。
ちなみに、このボタンに登録したマクロは、
アクティブシートのA1にB1を加算してc1に表示するってだけのもの。
VBEに表示されるということは、ちゃんと格納されているでしょうし。
マクロ登録数の制限っていうのもあるんですかね?
悩んで半日。
すみませんが、どなたか教えて下さい。
436 :
364:2008/02/19(火) 21:51:50
>>434 ご返事ありがとうございます。
試してみますね。またご報告します。
>>435 コードを最初から最後までコピペしたほうが早く解決するかも
こんばんは 質問させて下さい。
エクセルを使って普通に作業をしていたのですが、
一度作業を終えてパソコンを切り、次に立ち上げたとき、
エクセルを立ち上げそこから使っていたファイルを開こうとしたら、どこにも見当たりませんでした。
その後焦って色々試し、「すべてのファイル」形式でファイルを探すと、
エクセルでないファイル形式のアイコンで表示され、普通に開くことが出来ました。
上手く説明できなくて申し訳ありませんが、
これはどういった現象なのでしょうか…?
そのファイル形式は、ワードでもエクセルでも一太郎でもなく、見たことのないものでした。
>>438 CSVかロータスだったりして。
そのファイルのプロパティのファイルの種類のところにはなんて書いてある?
ご回答ありがとうございます。
プロパティのところは見たのですが、情けないことによく覚えていません…
会社のpcなもので現在は確認できないのですが、
そのアイコンは確か、青い縁取りの若干横長四角の中に、色のついた四角がいくつか並んでいたように思います。
>>435 いまいちよくわかんないんだけど、とりあえず言われるがまま、
読み取り専用で開きなおして、名前をつけて保存して、
まったく同じブックを新規に作成してみて状況を教えてください。
>>429 お、出来ました。
ピボットテーブル・ピボットグラフってすごい機能ですね。
>>438 officeなんとか形式・・のような気がする
>>435 アレだ、一度エラーでて終了しなかった?
そうするとタスクだけが残ることがある
(ウィンドウが表示されてないけど実行してる状態)
その場合はシフト+オルト+デリートでexcelを終了すると解決する
それ以外では
>>437の通り、コードみないとなんともいえない
>>443 同感だ。こんなに簡単で便利な機能を使わないのはもったいない。
ピボットテーブルとVLOOKUPがあればほとんどの仕事は処理できる。VBAの出番なんかめったにないはずなんだが。
>445
>VBAの出番なんかめったにないはずなんだが。
それはないわ。
VBAを知らなさすぎか大したことやってないんだろw
448 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 12:07:40
俺ピボットテーブルよくわからない。
何ができるの??。
449 :
447:2008/02/20(水) 12:13:29
VBAで作ったことあるもの自分から先に例をあげるよ。
オセロゲーム
ルンゲクッタ法で常微分方程式の数値解を求めるプログラム
連立一次方程式のソルバー
など。
こうしてみると確かにいろいろできるんだけど、そもそもエクセルでやるようなことじゃない。VBAにちょうどよい仕事ってあるのかな。
事務のルーチンワークかな
毎回同じ煩雑な手間、というのを処理するときに便利
でもそういうのは元々のフォーマットがおかしいんだけどね
年寄り相手に正規化云々説明しても理解されないもんで・・orz
自分が1から作ったものなら、ちゃんとしたデータベースを作るから
ほとんど関数・ピボットで事足りる
でもvbaで簡単な処理を覚えておけば、
役立つときはものすごい役立つから侮れない
452 :
447:2008/02/20(水) 13:02:13
>>450 私も同じ意見です。
フォーマットが悪いとVBA使わざるを得ないかもしれませんね。
フォーマットを自分で決められる場合
データをリレーショナルデータベースから取得する場合
にはVBAの活躍する余地はありませんけどね。それでもVBA使う人はよほどプログラミングが好きなんでしょう。
どこでもなんでも信者っての同じだなww
早い話が、俺以外は全員馬鹿だから俺を見てって事だろwwww
はいはいえらいえらいすごいねーwwwww
VBA(笑)ピボットテーブル(笑)データベース(笑)ワークシート関数(笑)
好きにしてくれよwwww
きたねえケツみせないでくれりゃ文句もいわねーよwwwwww
455 :
448:2008/02/20(水) 13:45:00
>451 ありがとうございます。
当方、事務屋ですが使ったことありませんでした。
456 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 15:06:39
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 データ 集計
A列からC列まで、「日付」「機関名」「金額」と並んでいて
「機関名」別に「金額」で集計データを作ってるんですが
同じ機関名のものが別々に集計されてしまうんです。
やり方は、表全体を選択して「データ」-「集計」なんですが
何か間違っていますでしょうか?
457 :
456:2008/02/20(水) 15:10:51
機関名で「並べ替え」をやってから集計したら思うようになったのですが
飛び飛びの複数行に、同じ機関名があるとこう言うことになるんでしょうか?
>>457 >飛び飛びの複数行に、同じ機関名があるとこう言うことになるんでしょうか?
そうです。そんな時はピボットテーブルで集計した方がいいですね。
>>454 このスレで煽るなら
未だにEXCEL(笑)使ってんのwwww
だろう
460 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 18:19:16
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel 同じ 集計 割合
顧客データの集計をしております。質問です。
今こういう状態です。
企業コード 企業名 社員名 社員の種別
00001 あああ社 ああ太郎 4
00001 あああ社 おい太郎 2
00001 あああ社 うう太郎 4
00002 いい社 AA子 1
00002 いい社 BB子 2
・
・
・
やりたい事は、「各企業ごとに、それぞれの社員種別割合を出す」ことです。
上の例でいうと、「あああ社は種別2が33%(1名)、種別4が66%(2名)」といった感じで。
各企業に何人社員がいるかはまちまちで、企業数は2000社ほどあります。
なにかいい方法があれば、ご教示ください。。
>>460 できる社員ならピボットテーブル。
馬鹿な奴はVBA。
アホなチャレンジャーはワークシート関数。
462 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 20:02:25
>>461さんへお願いです。 貴方が
できる社員なら、ピボットテーブルでの行・列・データ域の指定を。
馬鹿な奴?ならば、VBA文を。
アホなチャレンジャー?ならば、ワークシート関数の使用例を。
書いて見せてください。
おそらく、できる社員さんでしょうからピボットの回答を期待です。
464 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 20:19:36
ピボット厨に限って、答えに具体性がないのはなんとかならないかwww
頭悪い奴らは黙っとけw
どうせ、フィールドの設定で個数を比率にできるの知らないんだろwww
行・列・データ域の指定だけ書いとくよ。
行:企業名
列:社員の種別
データ:社員名
ついでに最大のヒント集計オプションで列方向の比率
467 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 20:33:34
折れはバカを自覚しているw
>>465はピボット厨のピボットと唱えるだけのバカさ丸出しが
端的に表れた文だなwww
>>466 企業名
種別
種別:個数:列方向の割合
じゃない?種別の割合出すんだから、社員名じゃ判断できんて
>>467 事実を受け入れろ。
ことごとくピボットテーブルで解決じゃないか。
おまえが今までやってきたことは何だったんだろうね。
ああ、社員名の個数数えても同じか。すまんすまん。
>>466 君は男だ!!! 女性だったら? いい女だ!!!
ピボットテーブルの回答はそうあるべきだといつも思っていたので
今回、書かしてもらったよ。
462=464=467より。もちろん、質問者ではない。
>>471 君は君が自覚している以上にバカなようだ。
474 :
460:2008/02/20(水) 20:54:27
うわ、ご回答ありがとうございます。
ファイル自体が10000KBもあるので、
ピボットにしたらとんでもない事になりそうで怖くて
力技で解決してしまいました・・・
レスくださった方、どうもありがとうございました。
データ件数を減らして、勉強してみます。
475 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 20:58:54
ピボットの方が数倍早いw
>>474 そんな少ないデータで件数減らさないで下さい。
ピボットテーブル使えないとか思われそう。
力作の質問へのピボットテーブル回答においては
今後、テンプレを次のようにしてくれないか?
【行指定】
【列指定】
【データ域指定】
【集計方法】
>>460 2000社×5人レコード、10M程度なら余裕と思う。
>>473 折れは、枯れ木バカに火をつけるのが得意なバカさwww
479 :
478:2008/02/20(水) 21:23:48
ただし、折れは、本命の回答はワークシート関数と思っているwww
そろそろ、本命が登場してくれないかなぁー
作業列を一つか2つぐらい加えるようなの。
480 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 21:29:55
いつかのせんせーみたいな構ってちゃんだな
Excel 2007 で編集したファイルを保存せずに、誤って
閉じてしまった場合、途中の物で構わないのですが、
残っていないでしょうか?
なぁ、ピボット信者って集計したあとは何もしねーのか?
印刷くらいはするなあ
ピボットテーブル使わない人は集計で無駄な苦労してるね。
ピボットテーブル使う人は集計で苦労しない。
いかに関数やVBAを駆使して巧妙に集計をしようが,ピボットテーブル以上の
結果を得ることなど無い。考えるまでも無く自明なこと。
ピボット知らなかったやつはこれ以上からむな。今後はピボット使えばいいんだよ。
ピボットテーブルを使ったら志望校に合格出来ました。
>>460 ピボット厨というかVBA厨なんだけど、
こん俺ですらピボット使ってしまう典型的な例だぞと思うぜ
と思ったらとっくに話題が終わってて独りで泣いた
>>485 関数はデータベース作る際に使うと便利なんだよな
関数を使って値で保存できればVBAは本当に不要になりそう。無理だろうけどね
>>488 >関数を使って値で保存できればVBAは本当に不要になりそう。
つまりVBA不要ということだな。
490 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 23:01:05
ピボット vs VBAって、まだやってたのかよw
データを自分でつくって、集計くらいしか仕事をさせてもらえない
低脳クンたちは、ピボットがあれば充分だよなww
ピボットテーブルでの回答テンプレ (特に異議はないようなので)
【行指定】
【列指定】
【データ域指定】
【集計方法】
【計算の種類】
いろいろとVBAファンを怒らせるようなこと書いてきたが誤解しないでほしいな。
私はVBA不要論者ではない。いざとなったらVBAであらゆる処理ができるのは安心
感がある。VBAがあったらオセロゲームとかも作れるし。
ピボットテーブルではできないような複雑な処理にVBA使っていこうな。
>>490 集計をVBAでやるようなバカを笑ってるだけだよ。
どっちが有利か言いたいのは分かる
が、ここは質問スレだ
495 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 23:14:29
【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか】 使えません
【4 VBAでの回答の可否】 否
ある1つのセルに文字が入力された時に自動的に値等が出るようにしたいです。
=IF(OR(A1="a",A1="b",A1="c",A1="d"・・・・・),100,
IF(OR(A1="1",A1="2",A1="3",A1="4"・・・・・),200,""))
といったように関数で入力していたのですが文字数制限が出てしまいました。
効率の良い方法、関数の式の簡略できないでしょうか?
よろしくお願いいたします。
データを自分でつくって、集計するのが生きがいです・・・・
>>496はきっとデータベース使ったことないんだろうなあ。
セルに数字を入力するとき、01と入力すると1になってしまうのですが、0を表示させる方法を教えてください
>>500 '01と入力する。
か
セルの書式を文字列にする。
503 :
名無しさん@そうだ選挙にいこう:2008/02/20(水) 23:49:00
>>498 回答ありがとうございます。
大変助かりました。試してみます。
自作自演って本当にいるのな。キモいわー。
コテどころかIDすら無い板で自作自演でもどうでもいいし
やってる奴は確実に病気
やってると思い込んで奴も相当ヤバイ
冗談抜きでいたち度2chから離れてみるのをすすめる
>>495 >>498 この場合は検索関数でなく、文字列操作関数を使ってみた方がいいのでは。
例えば、search find
=IF(SEARCH(A1,"abcdefghijklmnopqrstuvwxyz",1)>0,100,IF(seach(A1,"1234567890",1)>0,200,""))
A1が""のときのは確認してね。
数字の文字列のところrが抜けてたw search ね
508 :
名無しさん@そうだ選挙にいこう:2008/02/21(木) 00:16:03
>>507 こうしないと数値のときエラーになる気が
=IF(A1="","",IF(SEARCH(LOWER(ASC(A1)),"abcdefghijklmnopqrstuvwxyz1234567890")>26,200,100))
Lowerとascはおまけw
>>508 そうだね。それでいいね。
英数字はたとえぐらいにしか考えてなかったw
510 :
495:2008/02/21(木) 00:49:32
皆さんどうもありがとうございます。
関数にも色々あるんですね。少し難しそうですが試めさせていただきます。
今後VBAも含め、色々勉強してみようとおもいます。
ご回答いただき、感謝しております。
511 :
名無しさん@そうだ選挙にいこう:2008/02/21(木) 02:23:31
512 :
511:2008/02/21(木) 02:27:09
>>511に追記
要するに、「グループの基準」で設定したセルの、同じ列の左隣のセルの情報を
合計名の左隣のセルにも反映させたいということなのですが…。
【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 Excel2007
【3 VBAが使えるか】 使えます
【4 VBAでの回答の可否】 否(Excel関数のみでお願いします)
種類テーブルAとデータテーブルBの2つがあります
種類テーブルAには、セル別に重複しない「◎、○、△、×、●、▲」など150種類の記号が入っています
データテーブルBには、セル別に「◎、◎、×、×、●、▲」など重複した種類テーブルの一部の記号が入っています
=COUNTIF(B1:B10, {"◎";"○";"△";"×"…})
イメージ的にはこういう形で、セル範囲をしていすることで個数を求めたいのですが
1位から10位までの記号の個数 =COUNTIF(B1:B10, A1:A10)
11位から20位までの記号の個数 =COUNTIF(B1:B10, A11:A20)
21位から30位までの記号の個数 =COUNTIF(B1:B10, A21:A30)
このようにしても正しい値が返ってきません
種類テーブルから1つずつ取り出して、+していくしかないでしょうか?
よろしくお願いします
【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 図形 挿入 線
PCの新調に伴いexcel2007を導入しました。2007から図形描画が「挿入」→「図形」
という手順を経て行うようになったみたいですが、描画する"線"に関して質問があります。
この「図形」の中にある「線-直線」はコネクタと統合?になり、右クリックした時に
メニューの上に書式パレットが表示されないみたいです。
一方で以前のver.で描画した「線」(属性はLine****と表示されます)は右クリック時
書式パレットも表示されます。
そこで、以前のver.のようなコネクタ属性の無いシンプルな「線」というのは、2007では
描画できないのでしょうか?
よろしくお願いいたします。
>>513 十位毎の合計を出したいと言うことですか?
>>513 単純に考えるならデータテーブルBに「順位」という項目を追加するといいです。
>>506>>495 オイオイ…
=IF(A1="","",IF(ISNUMBER(A1*1),200,100))
で充分だろ。
>>511 とりあえず集計にその機能はないと思う
解決法としては、その表を元にすると、I2に
=IF(FIND("合計",D2)>0,C1,"")
って入力後、下までオートフィル
I列を値でC列にコピー&ペーストとか
519 :
513:2008/02/21(木) 11:36:52
ありがとうござます
>>515 >>516 当方の種類テーブルが順位と取れる表現が悪かったので誤解を与えてしまいました
1位から10位をAグループ、11位から20位をBグループ、21位から30位をCグループ・・・141位から150位をZZグループ
という単位で置き換えてください
種類テーブルの中身でデータテーブルの個数をグループ単位での集計をしたいと考えています
そして全グループ内では、重複しない150種類の記号や文字が1文字使われていますが、必ずしも10個単位のグループとは決まっていません
種類テーブル
◎、○、△、×、●、▲…はAグループ
一、二、三、四、五、六…はBグループ
A、B、C、D、E、F、G…はCグループ
上、中、下、右、左、斜…はDグループ
データテーブル
Aさん ○
Bさん C
Cさん △
Dさん 下
Eさん ×
Fさん 上
求めている集計
Aグループ 3人、Bグループ 0人、Cグループ 1人、 Dグループ 2人
そして現状では、+してグループを集計しています
=COUNTIF(データテーブルのセル範囲, "◎"のセル)+COUNTIF(データテーブルのセル範囲, "○"のセル)+COUNTIF(データテーブルのセル範囲, "△"のセル)+・・・Aグループの記号全て羅列
これをスマートに表記して、追加、削除、変更に対応しやすい形にしたいのですが、
=COUNTIF(データテーブルのセル範囲, 種類テーブルのセル範囲)といった単純な関数の使い方は無理でしょうか?
521 :
516:2008/02/21(木) 12:33:24
>>519 誤解してないですよ。ご安心を。
グループ分けはVLOOKUPで、グループ別集計はピボットテーブルでやるとスマートですよ。
522 :
516:2008/02/21(木) 12:41:16
>>519 ピボットテーブルには集計項目をグループ化する機能があります。
データを順位別に集計した後で順位を10個ずつグループとしてまとめることができます。ぜひいろいろ試してみて下さい。
523 :
名無しさん@そうだ選挙にいこう:2008/02/21(木) 13:46:25
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 基本的に・・いいえ
【4 VBAでの回答の可否】 できれば否で。。
【5 検索キーワード 】 入力した文字を指定したセルに反映
すみません、初心者なのですが、こんなことは出来るでしょうか・・
↓↓
イメージとしてはよくあるナンクロ?みたいなクロスワードパズルを解く
ような感じで、同じシートに2つの表をつくり、片方の表セルに入力した
文字を、もう一つの表の任意に指定した複数セルに同時に反映させたい。
よろしければどなたか教えてください・・。
a1の数字をb1に入れたければb1に
=a1
c1でもb2でも、=a1といれればa1がそれぞれに反映される
526 :
名無しさん@そうだ選挙にいこう:2008/02/21(木) 14:07:38
523で質問した者です。
525さん、早速の回答ありがとうございます!
確かに同じ文字を反映することはできました〜、それを応用して
例えば、セルA1に「あ」と入力したものをB3、C6、F8の三箇所同時に
反映させるような方法(関数とか?)はあるでしょうか・・
B3とC6とF8に=A1と入力しておけばできる・・
けど、A1に入力して決めたいんだよな?
表全体のデータがわかればそれなりにやり方も探せるだろうけど、
今の情報だけじゃ無理だな
528 :
名無しさん@そうだ選挙にいこう:2008/02/21(木) 14:36:00
523です。
>A1に入力して決めたいんだよな?
そうなんです・・表1のA1に1箇所入力した文字を表2のあらかじめ
指定しておいた複数のセルに反映されると楽だったもので。。
>表全体のデータがわかればそれなりに〜
すみません、特にデータというほどのものもなく・・説明もうまく
できてないかもですね。。でも、個別に指定すればできる事はわかり
ましたので、それでやってみます!ありがとうございました〜。
名前に番号を振っておいて
(左に番号、右に名前、という表を作っておいて)
文字入力の際にその番号を入力することで名前に変換できるって
できたと思うのですが、その場合に使う関数ってなんでしたっけ?
vlookup
B1からC3に表、A1に検索したい値を入れるとすると
=VLOOKUP(A1,B1:C3,2)
532 :
名無しさん@そうだ選挙にいこう:2008/02/21(木) 15:34:39
【1 OSの種類 .】 Windows vista
【2 Excelのバージョン 】 Excel2007
馬鹿な質問ですみません。
エクセルで遠足のしおりのような冊子を作りたいと思ってます。
今まで別のエクセルでは山折り谷折りなど選べ簡単に出来たのですが
ページ設定にそのような設定をする場所が見当たりません。
冊子のようなものを作る場合どうしたらよいのでしょうか?教えてください。
>>532 そんな機能は初耳だぜ。プリンタ独自の設定じゃない?
プリンタ独自の設定なら、リボンのページ設定の箇所の右下のボタン押すと、
ページ設定のダイアログがでるから、そこの右下のオプション押すと行けんじゃね?
>>513 =SUMPRODUCT(COUNTIF(データテーブルのセル範囲, 種類テーブルのセル範囲))
でどうぞ。
535 :
513:2008/02/21(木) 18:39:14
ありがとうございます
>>520-522 初めてピボットテーブルを使ってみました
これは色々と応用が利きそうで面白い機能ですね
色々と試してみて、新たな発見がありました
>>534 これは思い描いていたような簡単表記です
配列という渡し方には、このような使い方もできるのですね
関数を入れ子にしたりするのはメンテナンスが大変なので助かりました
とても勉強になりました
どうもありがとうございました
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 別シート 入力 excel
現在アクティブになっているシートのセルから、別シートのセルへ入力する方法はありますか?
たとえば、sheet1のA1に入力した数値をsheet2のA1に入力させるということです
「=sheet1!A1」を逆にしたようなイメージです
できる。入力されるほう(ここだとSHEET2)を先に持ってきて、
Sheets("SHEET2").Range("A1") = ActiveSheet.Range("A1")
VBAの出番だぞ。
vba使えるのならそう言えよw
このスレ住人は、ビボットテールブをVBAでやれば文句ねーんだろ?
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
エクセルで生成される文章を、ワードに貼り付けたいと思っています。
文章自体はaという変数に格納されています。
Set wdObj = CreateObject("Word.Application") 'Wordを起動します
wdObj.Visible = True 'Wordをアクティブにする
wdObj.Documents.Add 'Wordに文章を新規作成する
ここまでは以前紹介していただいたコードで問題なく進みました。
これ以降、
1.aの変数内の文章をワードに貼り付ける。
2.ワードの文書の余白を左右5mm、上下6mmに設定しする。
以上の作業を行いたいのですが、何が何やらさっぱりの状態です。
どなたかご存知ありませんか?
変数ってApplicationより上位で使えないと思ってたが、使えるのか?
一度テキストか何かに保存、呼び出すほうが早い気もするけど
文書の余白はマクロの記憶でできるでしょ
545 :
名無しさん@そうだ選挙にいこう:2008/02/22(金) 06:41:22
INT関数の言葉の意味が馬鹿なので分かりません。
数値を超えない最大の整数になるように小数部を切り捨てる。
数値を超えないってところって具体的にどういうことですか?
>>545 酒場のおじいちゃんが教えてくれたよ。
INT関数ってのはな。小数点以下を切り捨てて整数にする関数だ。
って。
「○○を超えない」=「○○以下」
549 :
名無しさん@そうだ選挙にいこう:2008/02/22(金) 07:23:19
ド初心者です
TRUNC関数、CEILNG関数、FLOOR関数
英語の読み方が分かりません(涙)
教えてください。
550 :
名無しさん@そうだ選挙にいこう:2008/02/22(金) 07:23:47
552 :
名無しさん@そうだ選挙にいこう:2008/02/22(金) 08:21:34
>>543 ワード側でその操作だけをマクロの記録で
どんなコードになるかを見てみましょう
その後は
with wdobj
でくくってやればOKのはず。
>>544 ワードやアウトルックとの連携で変数は普通に使えますよ
エクセル内にオブジェクトとして作るから大丈夫ってことなのかも?
application
>>552 ありがとうございます
>>545 "その"数値を超えない
って言い換えればわかりやすいか?
A1に2.56789って数値が入ってるとき、
b1に=int(a1)と入れると
2.56789を超えない最大の整数になるように小数部を切り捨てる。
ということで0でも1でも3でもなく無く、2ということになる
555 :
名無しさん@そうだ選挙にいこう:2008/02/22(金) 09:30:18
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel2007 新規作成 B5 テンプレート
B5で新規に資料を作成しなければならないのですが2003以前のような
ページ設定が見つからず、用紙サイズが設定できません。
最悪の場合A4で作成してB5で縮小するしかありませんが
できることならB5で作成したいのです。
うう…12時まで作らなきゃならないのに…
M$は頭がおかしいとしか思えません!2007はどう見てもホーム向け…
すみません自己解決しました。
[ページレイアウト]→[サイズ]
で変更できました。
変な小分けしてんじゃねーよ!!!
ページレイアウトなんかちょこちょこ変えるもんじゃないんだから
[ホーム]か[表示]にまとめとけうんこソフト!!!!
557 :
543:2008/02/22(金) 09:56:18
>>552 いえ、変数を貼り付けるという操作自体できないのでどうすればいいのかわかりません。
やっぱりもう一冊本を買うしかないのかなあ・・・。
>>557 こういうことでないの?
a = "布団にもぐりこんでくる妹"
set o = createobject("Word.Application")
set doc = o.documents.add
doc.range.text = a
'余白はdoc.leftmarginとかそんなだと
o.visible = true
つか、wordのvbaはwordスレで聞いた方が分かる人いるんじゃね?
561 :
名無しさん@そうだ選挙にいこう:2008/02/22(金) 13:05:17
>>435 ちょっと前に、解決しました。
なにげなく編集のドロップダウンリストを眺めていたら、「リンクの設定」が黒くなってました。
確かめてみたら、改名前のファイルがリンク先一覧に記入されてました。
これを削除したら、問題なく操作できるようになりました。
リンク先一覧にファイル名が登録されている状態では、いちいちそっちのファイルを確認しにいくんですね。
一回一回セキュリティー警告が出るのは、そのブックを開こうとしていたからだったんですね。
そして開くと、そこに必要なマクロは存在しないのでまた警告と、堂々巡り。
多分、何かをコピーしたときに自動的に設定されたんでしょう。
これからはコピペ等する時は、よく注意してするようにします。
ご回答くださった皆様、ありがとうございました。
【1 OSの種類 .】 WindowsXP SP2
【2 Excelのバージョン 】 Excel2003 SP2
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel FDアクセス 勝手にアクセス〜
三日ほど前からエクセル上でマウスホールを動かしたり、
セルの選択等何かしらの行動をすると勝手にFDDにアクセスするようになってしまいました。
自動保存の設定かと思い見直してみましたが保存先はCドライブになっており、
また、FDDからxslを編集してしまうと起こる現象化と思ったので(って書いてあった)
最近使ったファイルを削除したのですが改善しませんでした。
FDDにFDが入っていなくてもガリガリと音を立ててアクセスしているので何とかしたいです。
またFDDは頻繁に使うのでデバイス無効は避けたい次第です。
563 :
529:2008/02/22(金) 14:43:24
>>562 ・ツール、オプション、全般の中のカレントフォルダが\A〜とかになってないか
・後はマクロでAドライブを使ってないかどうか
・マイコンピュータを右クリックして、詳細設定の環境変数で\A〜がないかどうか
これぐらいしか原因が思い浮かばないな
どっちもCドライブになってたら、他の原因かなぁ
>>564 レスどもです。
確認してみましたがどれも当てはまりませんでした。。。
うーん、、、ちょっと自動修復してみます。
webからコピペでデータを取り込む際、キャッシュから取り込むようにはできますか?
不安定なので回線を切りたいんですが
>>562 どこかのセルに、Aドライブのファイルのセルを参照するような記述があるんでないの?
相対パスじゃなくて絶対パスで指定してあるとかで。
なんとなくその三日間は同じファイルを弄ってそうな気がする。
新規にExcelを立ち上げて死ぬまでにやりたい10の事を書き綴ったりして、それで症状が
出なければやはり編集しているファイルがあやしいということになる。
「A:\」とかで検索してみてはどうかと。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel 文字列 置き換え 一括 入れ替え SUBSTITUTE REPLACE
「入力欄」と「規則テーブル」、そして「並び替え結果の表示欄」があります
一つのセルに入力した文字列を、「読み」ではなく「規則テーブル」に従って並べ替えたいです
並び替え順序が「亀、猫、犬、馬、車、鳥」という並びと仮定してください
そして実際にセルに入力した文字列が「犬亀馬車」だった場合に、入力欄とは別に並び替え後の表示欄には
規則順序でソートした並びで「亀犬馬車」と表示したいです
入力される文字列は、必ずしも規則テーブルの全てが含まれていることはありません
入力された文字列の一部の中で並び替えをしたいです
よろしくお願いします
>>568 =IF(ISERR(FIND("亀",A1)),"","亀")&IF(ISERR(FIND("猫",A1)),"","猫")&IF(ISERR(FIND("犬",A1)),"","犬")&IF(ISERR(FIND("馬",A1)),"","馬")&IF(ISERR(FIND("車",A1)),"","車")&IF(ISERR(FIND("鳥",A1)),"","鳥")
570 :
568:2008/02/22(金) 19:04:19
>>569 レスありがとうございます
情報不足で申し訳ないのですが、規則テーブルには50種類程が入っていまして長すぎると関数が入りきりませんでした
そして入力が予想される文字列としては「亀犬馬馬亀犬犬車」といった重複や飛びが考えられます
最終的には「亀亀犬犬犬馬馬車」のように、欠損が起きないように並べ替えることはできないでしょうか?
そのレベルの質問になるとここの住人じゃ無理。
諦めた方がいい。
作業セルを使えばいんじゃないの
文字に並び替え順に番号をつけて、昇順に並び替える
で、並び替えた番号の文字を1文字ずつVLOOKUPで参照し、表示欄で結合
俺ならVBAを使うかな。
その方が見通しが良くなるし、あとから順列リストの変更もしやすくなる。
ただ、できれば元のデータ構造から見直したいところ。
1つのセルに複数のデータを入れるのは感心しない。
最初から1文字ずつバラバラになってれば簡単にソートできるのに。
>>572 一つのセルに入ってるんだぜ?
しかも重複あり。
それに文字の並べ替えだけならユーザーリスト(?)を使えばいい。
作業列を使うと印刷の時に困るんだよなあ。
幅を0にするとか、別シートに飛ばすとか、印刷範囲を指定するとかいろいろ考えたけど、
どれもあんまりスマートじゃない。
なんかいい方法ないのかな。
作業列がいやだとかw
幅を0にするとか、別シートに飛ばすとか、印刷範囲を指定するとかいろいろあるじゃないか
1個のセルにごてごてに関数書いてたら後で直すのがたいへんだろ
複数のセルにわけて途中経過を目で確認できるようにするのが簡単・確実だよ
入力・計算・結果をぜんぶいっぺんにしようとしたがるのは初心者
>>575 作業列は白文字にしとけば?
elseif 初めから処理できるようなシートにすべき
else VBA使え
並び替える対象はすべて1文字と仮定する。
入力セルはA1、表示欄はB1。
C1から右のセルに50個分、並び替え順に文字を入力しておく。(「亀、猫、犬、馬、車、鳥」)
C2には亀がA1に含まれている個.数を入れる。=LEN(A1)-SUBSTITUTE(A1,C1,"")
D2には猫がA1に含まれている個数を入れる。=LEN(A1)-SUBSTITUTE(A1,D1,"")
以下50種類分繰り返す。
B1=REPT(C1,C2)&REPT(D1,D2)&...以下50種類分繰り返す。
これでどうよ
間違えた
× =LEN(A1)-SUBSTITUTE(A1,C1,"")
○ =LEN($A1)-LEN(SUBSTITUTE($A1,C1,""))
次に予想される後出し情報→並べ替える前の元データはA1からA1000まで入っています
作業セルを使う方法だと、かなり巨大な表ができそうだな
自分でやるならある程度後だしの可能性も含めてVBAで処理できるけど、
後だしが無尽蔵に繰るなら作業列で答えてしまう俺はチキン?
Why do they so arrogant even in this voluntary case.
日本語でok
>>568のやろうとしてるのはソートだね。
EXCELがはじめから持ってるソート機能を利用することを考えるか,
それが無理ならソートをVBAで再実装すればいい。
そもそもなんでこんなことやりたいのかねえ。実用性ゼロだよね。
ゲームでも作ってるのかな。
既出ならすみません
例えば,B1にある数字(例えば2500)を出力してその数字の行数を指定して
和を求めると言うようなことはできるでしょうか?
sum(A1:AB1)というようなものです.
>>586 意味がさっぱりわからないよ。
>sum(A1:AB1)というようなものです.
特にここ。例えば2500となんか関係あるの?
588 :
名無しさん@そうだ選挙にいこう:2008/02/22(金) 23:17:54
>>587 すみません
sum(A1:A(B1に出力されている数字))
というようなものです.
これでも解かってもらえないと思いますが,なんとかします.ごめんなさい
INDIRECTで間接参照すればよし
=SUM(INDIRECT("A1:A"&B1))
直接の回答としては
>>589で解決ね。
ここからは私の意見だけど,実用だけを考えたときにはこんなテクニックを
覚える必要はない。
あんまりいろいろ覚えるのしんどいだろ?
591 :
名無しさん@そうだ選挙にいこう:2008/02/22(金) 23:34:13
>>589 >>590 ありがとうございます
作業中にこれできれば便利なのにと思うことが色々あって,
覚えて無くても,やり方はあると知ってるだけでも素人なら物凄い時間短縮になるわけで.
ほんとにありがとうございました
このスレを見ていると、ピボットテーブルについて勉強するに当たって、
データベースの正規化などの言葉をよく目にし、ポイントであるということが
わかるのですが、このデータベースの正規化などについてのおすすめの本やサイトを
ご存じの方がおられましたら、お教えいただけませんでしょうか?
データベース板で聞け
本ならデータべース村へようこそでおk
VBAの辞書で
PCの無い場所でふらっと書きたくなったときに使える携帯しやすいのない?
>>593 ちらっと見てきたんですが、レベルが高いみたいです。と人少ないですね。
データベースへようこそ、ぐぐってみたんですけどわかりませんでした。
今度本屋さん行ったときに探してみます。情報ありがとうございます。
>>595 そうですか。それなら僕の作ったファイルは問題ないですね。
第二と第三の違いがよくわからなかったんですが、
とりあえず、エクセル使ってるうちは勉強するのは後回しでいいんですね。
ピボットテーブルの使い方を覚えます。
レスありがとうございます。
>>596 第二以降は簡単に言うと,「冗長な情報は分離せよ」ということです。
その方がデータの管理をしやすいのです。
売上データから商品名や単価を分離して,商品コードだけで表現するのがその
例です。すぐに想像できると思いますが,ピボットテーブルでは冗長な情報が
必要ですよね。
ピボットテーブルを使うときはVLOOKUP関数をいっしょに使うと便利です。
商品コードから商品名や単価だけでなく,型,色,サイズ,というような冗長
な情報を売上データに追加して(つまり非正規化して)いくとより詳細に集計
できます。
ここで頭のいい人は気がつくでしょう。
VLOOKUPとピボットテーブルを組み合わせたらほぼ全ての事務処理が実現できる
んじゃないかと。
実際,業務で使用するリレーショナルデータベースが内部でやっていることは,
正規化されたデータ同士を結合して非正規化データとし,そのデータを並べ替え
たり,グループ別に集計したりしているだけです。
同じ処理をVLOOKUPとピボットテーブルで表現できるんです。
ピボットテーブルで行の項目が第一正規化で表現されればいいのにな
無理なん?
>>599 どういうことでしょう?もう少し説明してください。
(初めてこのスレに来ました。急ぎの用で以下の件が必要になり、
お尋ねさせていただきたいと思います。なにとぞよろしくお願い
いたします。)
【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 文字配置 縦位置 マージン
○やりたいこと:
各セル内のデータの縦方向上下にマージンを確保したい。
各セルの中の文字位置指定で、横方向のインデントはあるのですが、
縦方向にはインデントの設定ができないようです。
現状は特定の列のみに文字情報がべたーっとたくさん入っていまして、
「セルの高さ」は自動設定していますけれど、印刷すると、行と行の間が
くっついて読みにくくなってしまいます。データ量が、あるセルは1行のみ、
あるセルには5行ぐらい、と定型でないので、一括してセルの高さを指定
することもできません。
602 :
601:2008/02/23(土) 09:25:54
次善の策として考えているのは、各セルのデータ最後に改行記号を入れて、
マージンの代わりにする、という方法です。横線はないので、印刷してみると、
一応これでもきれいに見えるようです。
問題は、データが多くて、手動ではやっていられないということ。
通常のテキストファイルでしたら、「¥n」を行末につけていけばよいの
ですけれど、エクセル内でこれを行う方法があるでしょうか?
(個々のセルのデータの中には改行記号は含まれていません。)
○質問
1)各セルの縦方向にインデント(というかマージン)をとる方法がありますか?
2)それができないとすれば、ある行の各セル末に改行記号を一括挿入する
簡単な方法があるでしょうか?
というのがお尋ねしたい2点です。状況がわかりにくい上、説明がとても
下手で申し訳ないのですが、なにかお知恵を授けていただきますと幸いです。
(マクロとか、難しい話になるとからっきしダメなので、できるだけ簡易な
方法をご伝授いただけると助かります。達人のご支援を待ちます。)
凡人なんで、確認ね。
印刷は、直接、その(データのある)シートから印刷しているの?
605 :
601:2008/02/23(土) 10:05:46
>>603さん、
そうです。とりあえずはそうです。
同じシートから印刷しています。
最終的には、別のWord文書とまとめて
PDF化することになると思いますけど。
>>598 凡人の折れには、エクセルはもともと、その冗長なデータをうまく扱うことで
リレーショナルデータベースソフトの如く、クロス集計できるようにピボット
テーブル機能を持たせたものということで終わっているんだが・・・。
正規化することが生きがいなんだろ
なんとなく、用語からワードとかのワープロソフトがメインの方に見えるんだが、・・・。
エクセル歴がないための質問と見た。違っていたら、すまそ。
長い列の後に適当な長さの空白列を入れる。罫線が邪魔にならないようにではダメ?
609 :
601:2008/02/23(土) 10:23:37
>>608さん
いえ、Wordはもっと苦手だったりしますけど。
HTMLなどだと、表の内側に余白を設定したり
するのが簡単なので、エクセルならなお簡単だろうと
思っていたら、そうではなかったという次第です。
空白行の挿入は私も考えましたが、データの追加やソートが
続くので、できれば各行内で済ませておきたいのです。
やはり、行の高さ調整なのね。
左の行選択後の高さ調整、作業手順が少ないように行範囲選択を考えるでは?
>>601 VBA使う方法しか思いつかんわ。一応手順。
1:一括改行したいセル範囲をメモしとく。(ex:B1:C10)
2:[alt]+[F11]でVBE開き、さらに[ctrl]+[g]押して[イミディエイトウィンドウ]というメモ帳みたいなの表示する
3:[イミディエイトウィンドウ]に数式入力して、さっきの範囲の末尾に一括して「@」を挿入
[B1:C10] = [B1:C10 & "@"]
と入力して[Enter] これで@マーク入ってるはず
4:VBEおしまい。右上の×押して片付ける
5:Excelの画面で[ctrl]+[h]押して、置き換えダイアログ表示
@をセル内改行に置き換える(置き換え後の文字列のとこで、[ctrl]+[j]。何も表示されないけど、改行になる)
こんなじゃね?
612 :
601:2008/02/23(土) 10:51:43
それは、データの行数に応じて高さを手動で設定する
という意味でおっしゃっているのでしょうか?
613 :
601:2008/02/23(土) 10:55:16
すみません、
>>612は
>>610への返信です。
>>611の方法、わたしにはずいぶん難しそうですが、
調べてみることにします。ありがとうございます。
セル内改行付け足してんだから、手動だね。
急いでるみたいだから簡単な方法書いてみたけど、ちゃんとしたもん作りたいなら他の人に聞いて
折れとしては、これが最後の回答(不在になるので)
書式 → セル → 文字の制御で、折り返して全体を表示する欄がチェックされている
ことを前提に、行高を手動で作業手順を考えて行う。
616 :
543:2008/02/23(土) 11:17:03
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
543です。また行き詰っております。
以下のコードでページ設定も同時に行うようにしているのですが、
2回に1回、「リモートサーバがないか、利用できる状態ではありません。」というエラーを吐き出します。
一体何が原因なのでしょうか??
コードは以下の通りです。
Dim wdObj As Object 'Wordをオブジェクトとして宣言するために変数を作ります
Set wdObj = CreateObject("Word.Application") 'Wordを起動します
wdObj.Visible = True 'Wordをアクティブにする
Set doc = wdObj.Documents.Add 'Wordに文章を新規作成する
doc.Range.Text = a
doc.Activate
With ActiveDocument.PageSetup ←ここで処理が引っかかるようです。
>>552 >>558 ありがとうございます。
大変助かっています。多謝。
617 :
543:2008/02/23(土) 11:40:56
今いろいろと試しているのですが、ファイルを開いた1回目に引っかかることはないようです。
リモートサーバが何であるのかググっても今ひとつハッキリしないのですが、
前のマクロが使ったリモートサーバをそのまま解放(というか使用終了)していないのが原因なのかなとも思っています。
しかしググってもよくわかりません。
ご存知の方がいましたら、どうかご教授ください。
618 :
601:2008/02/23(土) 12:20:31
>>611さん
おかげさまでうまくいきました。どうもありがとうございます。
これを機に、VBAの勉強をしてみようと思います。
早速のご教示、本当に助かりました。
もうお出かけになったかと思いますけど、取り急ぎお礼まで。
>ここで頭のいい人は気がつくでしょう。
>VLOOKUPとピボットテーブルを組み合わせたらほぼ全ての事務処理が実現できる
>んじゃないかと。
俺、頭が悪いから気付かなかったよw
そんな単純な仕事しかやらせてもらえてない人がいたことに・・・
俺もそう思った…せいぜい仕事の前準備だろ
アシスタント的な事務員さんなんじゃね?
いると凄い助かるよ。
おまえら何いってる
Excelなんかで日常的にVBA組まないとできないような仕事してどうするんだ
そんなやつはさっさとAceessなり専用システムに移行するのが当たり前だろ
623 :
568:2008/02/23(土) 12:54:26
レスありがとうございます
あれから自分でもググったり試したりしてみましたが、VBAを使わないと無理のようですね
VBAは使ってはいけないので、他の方法を考えてみます
ありがとうございました
624 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 13:00:04
>>616 2回に1回うまくいくというのがよくわかんないけど
doc.Activate
With ActiveDocument.PageSetup
では、エクセルのアクティブドキュメントを指定していることになるので
With doc.PageSetup
にしとくべき(docはwdobj.documentなのでワードオブジェクトのの中のドキュメントの指定になる。)
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 可
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 xla、ショートカット
マクロの記録で、キーボードショートカットを設定し、マクロを作り、それをxlaで保存しました。
で、アドインとして読み込んで使ってるんですが、
ショートカットのキーを変更したい場合は、どうすればいいのでしょうか?
xlaファイルのみを開いても、どこをいじれば・・・。REM文のとこじゃないだろうし。。。
626 :
543:2008/02/23(土) 13:08:40
>>624 ありがとうございます。
いろいろ調べてそのように変更してみたのですが、状況は何も変わらないので困惑しています。
EXCEL事態がおかしいのでしょうか・・・?
627 :
598:2008/02/23(土) 14:06:38
>>619 派遣社員をバカにしないでください・・・ orz
騙り乙
>>604 なるほど。それはやり方わからないです。
見た目がそっちの方が好みなの?
630 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 14:32:22
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード 】
表紙という名前のシートのA1に 違うシートの名前を入力して
例えば違うシートにはA1~A3まで名前、住所、電話番号が入力されていて
表紙シートのA1にシート名を入力することで、表紙のB1〜B3に
名前、住所、電話番号を表示したいのですが・・?
>631
表紙シートのA1に例えば 山田 と入れると
山田シートの 名前、住所、電話番号が出る
田中と入れれば田中シートの名前、住所、電話番号が出る
そんな感じにしたいのですが
633 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 14:52:14
>>632 B1
=indirect(A1&"!A1")
>>632 =INDIRECT(A1&"!A1")
>>619 「営業の」事務処理じゃね
事務員のメインの仕事なんて大抵入力業務だろう
>>629 ピボットでまとめたものを二次データとして使用したい場合は不便なんで
vlookupも使えんし
>>634 =INDIRECT(A1&"!A1")
最初のA1がシート名になるんですよね?
ExcelでわざわざVBAつかってるのは、職場の便利屋さんだけだよ
仕事はたいしてできないけどパソコンだけは得意っていう
ふつうのひとはVLOOKUPとピボットで必要十分
640 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 17:24:58
まあ、本当に使えない人間ってのは
せっかく役に立ってくれようとしてる人を馬鹿にして
一人で苦労する奴のことをいうわけだがw
641 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 17:31:23
【1 OSの種類 】 WindowsXP
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード】 ジャンプ 選択 特定の文字
編集/ジャンプ機能が便利で使っています。
特に、セル選択で「空白」や「定数」などで、複数セルの選択をして
目的の複数セルに色を付けたり、罫線を入れたり、しています。
同様の目的で、「特定の文字列」を複数選択出来ませんか?
ワイルドカードなどが使えれば尚良いですが、そうでなくても構いません。
また、仮に難しいようなら、チカラ技でも良いので何か別の手段は無いでしょうか。例えば、置換を使って、一旦何か別の文字や属性に置き換えて
あとで、それをジャンプで選択し、必要な処理をして、その後元に戻せる様に出来ればいいのですが。
データ量が多い場合が多く、手作業ではなかなか対応しにくいので方法を探しています。
条件付書式は?
643 :
641:2008/02/23(土) 18:01:55
>>642 例えば、表示形式(年月日表示とか)を変更したりもしたいのです。
やっぱり難しいですかね。
フィルタのオプションじゃだめなんか
2000だと厳しいな
2003から書式で検索できるようになったり、一括検索できたりするようになったからなあ。
それが売りのひとつみたいに宣伝してたから、2000じゃまず無理っしょ。
残るはVBAだわな。
646 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 18:57:47
エクセルの表で仕入れと売り上げを、毎日、それぞれ増えていくことに、自動的に合計を出すには、どんな関数を使えばいいんですか?
sum
>>636 一瞬なるほどと思いかけましたがよく考えると、グループ別集計の結果にVLOOKUPを適用するのは無意味じゃないですか?
649 :
641:2008/02/23(土) 19:34:29
>>644 パターンが色々とあるので、可能ならワイルドカード的な使い方が望ましく、
フィルタオプションだとやはりかなりの手作業が入ってきてしまいます。
>>645 2003なら出来るのですか。将来的に検討してみます。
皆さん、色々とありがとうございます。
VBAが使えない現状では、多少手間がかかるけど、キーボードマクロで
やるのが一番早そうな感じですね。
650 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 19:38:10
>>641 2000でも
検索で 「全て検索する(I)」ってあったような、
計算結果を対象にはできなかったと思うけど
あるならそれで検索して、検索結果欄で
全部選択してやればおk
キーボードマクロ使えるならVBA覚えた方が便利と思うよ
652 :
650:2008/02/23(土) 19:44:33
ごめん記憶違いだったorz
>>649 知ってるとは思うけど、フィルタのオプションには「xxを含む」「xxを含まない」てのもある
作業セルでフラグを立てて、それにフィルタを掛けるという手もあるし
お好きな方法をどうぞ
>>648 あとから別の表からデータをvlookupで持ってきたりしたい事ってあるのよねー
excelシートをオーダーメイドで作成してほしい場合
何で検索すればいいですか?VBAを含む。
よろしくお願いします。
このスレに仕様書書いてくれれば一瞬で出来上がりそうな気もするけど
もちろん無料で
>>657 私、超初心者なもんで2007で初めてなんです。
660 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 21:51:24
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 マクロ 複数のセルを
VBAで、複数のセルをイコールで参照することにはどうすれば良いでしょうか?
↑…なんか意味不明だけど、例えば
Range(Cells(1,1), Cells(1,3)) = Range(Cells(1,11), Cells,(1,13))
みたいな風に…
質問してるのに答えまで書いてる馬鹿www
662 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 22:01:42
∧ ∧
(,,゚Д゚) Worksheets("Sheet1").Range(Cells(1, 11), Cells(1, 13)).Copy Destination:= _
(| |) Worksheets("Sheet1").Range(Cells(1, 1), Cells(1, 3))
〜| |
∪ ∪
あぼーん
>>664 どうみても詐欺です
本当にありがとうございました
666 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 22:35:12
>>663 ご回答ありがとう
ですが、まずその方法をマクロ自動記録でやったんですが、それでできた物を
数人に配布して使ってもらったところ、EXCELのバージョンによる違いなのか
「コピーと貼り付け領域が違うため云々」とかエラーが出た人がいたんです。
ならばVBAで・・・と思ったんですが、うまくいかず。
自分、大して詳しくも無いのに職場でこういうのを頼まれてしまってまして。
>>660 Range("a1:a2").Value = Range("a11:a12").Value
こういうこと?
じゃなきゃ
Range("a1").Formula = "=a11"
668 :
名無しさん@そうだ選挙にいこう:2008/02/23(土) 22:40:56
>>667 前者の方法でできました。Valueの意味がわからないけど調べてみます
ありがとう
valueは値、formulaは式そのもの
がんばって〜
Excell2000ですが、行の数字(グレーのところ)が大きくなったり小さくなったりします。
統一するにはどうすればいいでしょうか?
数字かいてるところの行と行の間を左クリックしてから動かせば高さ変更
右クリックで行の高さを選べば数字入力して高さ変更
どちらも同じ
ちなみにどちらも複数一度に選択できる
セルの右に▼が出て、選択肢を表示させるにはどうすればいいのですか?
VLOOKUPの2番目の引数で範囲を入れますよね。ここで列を指定することに何の意味があるのでしょうか?
AからZまでの広範囲を指定したとしても、次の引数で列番号を2とすればBを返しますよね。
結局AからBまでの範囲を指定した場合となんら変わらない気がするのですが。
>>674 B以外を複数指定したい場合もあるだろ?
数式をコピーして、列番号の部分だけ変えるとか、
列番号はどこかの数字を参照するとかあるでしょ?
>>674 キーがA列で参照したい値がZ列にある場合があるじゃないか
VBAで、セル(1,1)が正の数であるとき、という条件式を作りたいのですが
IF cells(1,1) > 0 then
と入れると、セル(1,1)に数字以外の文字が入ってる場合でも、なぜか条件に合致してしまうんです。
「0を超える数字のとき」という条件はどう書けばよいのでしょうか
~~~~~~~~~~~
>>677 If Cells(1, 1) > 0 And IsNumeric(Cells(1, 1)) Then
>>654 例え
>>604のような結果で表示されるとしても、集計結果にVLOOKUPを使うのは無意味ですよ。
そうすれことによって新しく生まれる価値が無い。
はいはい、データベース好きな俺最高っすね
勉強になりますわ
そうならんように気を付けます
既に正規化されてるからそうなるのであって、合ってるからいいんじやない
と思ったけど、その元のデータを並べ替えしないとvlookup使えないってことか
面倒だな
ピボットテーブルの結果にvlookup追加してもしょうがないんだよ
ピボットテーブルの元データにはじめからそのデータをvlookupで追加しておかないといけない
Accessならクエリーの結果をさらに別のクエリーのデータにするのは簡単なんだがExcelではそうはいかないから
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 少しだけ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 グラフ 散布図 2007 重い
2003で作った、データの多い(1000行以上)のグラフ(散布図)が入ったファイルを、
2007で開くと、非常に重くて、ちょっとスクロールするたびに数分間待たされます。
PCのスペックによっては、開く途中で落ちてしまいます。
2003ではまったく問題ありませんでした。
何とかならないでしょうか?
見たいのがグラフだけならグラフだけ別シートとか・・
じゃなきゃ不要なデータは可能な限り破棄するか
2007形式で保存し直すとか
687 :
名無しさん@そうだ選挙にいこう:2008/02/24(日) 14:26:15
他のエクセルファイルにあるシートXをコピーして、
エクセルファイルに貼り付ける動作をマクロにしたいのですが、
そうすることはできるのでしょうか?
688 :
名無しさん@そうだ選挙にいこう:2008/02/24(日) 14:26:59
他のエクセルファイルにあるシートXをコピーして、
エクセルファイルに貼り付ける動作をマクロにしたいのですが、
そうすることはできるのでしょうか?
VBAの式も教えてくださいますとありがたく…
マクロの児童記録してみた?
できる。折れの古いマクロを見直すのもめんどくさいwww
マクロの記録でやれ。編集 → シートの移動又はコピー当たりで
望むものができるだろう。
691 :
名無しさん@そうだ選挙にいこう:2008/02/24(日) 15:10:58
できました!
ありがとうございます。
692 :
名無しさん@そうだ選挙にいこう:2008/02/24(日) 15:21:54
VBAの正規表現検索で取得した「変数.Item(0).value」に格納されている文字列の
左からx番目、y文字を抜き取る、といった作業は可能でしょうか?
VBA上でのWorkSheetFunctionでは「mid」関数が使えないらしくて困ってます、
一度セルに文字を起こして、そこからmid関数を使えばいけるんですけど、それだと計算用に列を挿入しなくてはならず
なるべくそういうことはしたくないので・・お願いします。
693 :
名無しさん@そうだ選挙にいこう:2008/02/24(日) 16:15:40
解決した、SubMatchesを使えば良かったのか・・
労働時間をエクセルを使って管理したいと考えています。
残業時間はなんとかなるのですが、深夜労働の時間の計算式がわかりません。
A列に日付をずらっと並べて、
B1に出勤時間、2008/2/24 9:00
C1に退社時間、2008/2/24 18:00
D1に労働時間、=C1-B1-0.041666625
E1に残業時間、=D1-0.333333333333333
(F1に深夜…)
のような感じにしているのですが、22時から翌5時までの労働時間を抜き出す方法が
わかりません。
表の横にグラフもどきのようなものでも作ろうかと思い、
AA1に、=IF(B1=A1&" 8:30",1,0)
AB1に、=IF(B1=A1&" 9:00",1,0)
AC1に、=IF(B1=A1&" 9:30",1,0)
と入れてみましたが、やはりこんな変な方法ではうまく行かなくて。
労働時間や勤務時間などのキーワードで検索してみたのですが、
日付をまたいで勤務するパターンに対応したものを見つけることが出来ませんでした。
何かオーソドックスな方法をご存じの方、アドバイスをいただけないでしょうか?
WindowsXP、Excel2003です。お願いいたします。
695 :
名無しさん@そうだ選挙にいこう:2008/02/24(日) 17:29:26
お願いします。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 excel 文字列 数値 変換
あるセルの中身が、4桁の数値であるか否かを判断したいと思います。
例えばこんな感じです。
1234→TRUE
0001→TRUE
A123→FALSE
10000→FALSE
2番目の0001のように先頭に0がくる事もあるので、セルは数値でなく文字列で扱う事が必須なのですが
文字列を数値に変換して0〜9999の範囲に入ってるかを調べたいと思っています。
VALUE関数を使うと、柔軟に数値化してしまう(時間とか金額とかも数値にしてしまう)ため、
厳密に判定できる方法を教えてください。
>>694 書式設定で
[h]:mm:ssってすれば少しはマシになるんじゃなかろうか
後は29:00以降〜や以前などで、if関数で分けるしかない
ちなみに5:00とだけいれると、1900年1/1辺りの5:00になるということは覚えておいた方がいい
どのみち時間計算なら、いつの5:00でも変わらないんだけどね
エクセルのどうしようもない点の一つだな
>>695 ifと=ROUNDDOWN(A1*1,-4)
を絡めて〜ってのは考えたけど、金額と日付を除外ってのはVBAじゃないと難しいと思う
>>695 汚い式だし勘違いしてるかも知れないけど、
=IF(ISERROR(10000-A1>0),FALSE,IF(10000-A1>0,TRUE,FALSE))
>>696 レスありがとうございます。
現状、D1の書式は、[h]"時間"mm"分"としています。
そして、説明が抜けていましたが、22時から翌5時までを深夜労働として計算したいと思っています。
例えば、
B1に出勤時間、2008/2/24 9:00
C1に退社時間、2008/2/25 6:00
と入力していた場合、
F1に表示したいのは7ですが、この式をどうすればいいのかがわからないのです。
どうでしょうか?
A 残業の基準日時(セル)
B 深夜の基準日時
退庁日時−A又はB=シリアル値の時間差(分)
もし、退庁日時が残業基準日時より大きければBを使う
を基本にしたものでできるはず。
何度も出てきてる話だが、作業セルをつかって分ければいいじゃん
1)22:00から当日深夜24:00までの勤務時間
もし退社時刻が22:00より前なら0:00
2)翌日深夜0:00から5:00までの勤務時間
もし退社時刻が5:00より後なら5:00
F1=(1)+(2)
>>685-686 2007形式にしてもダメです。
また、今後、2007で同じようなデータをグラフ化する必要があるのですが、とてもやってられません。
他にもこういうケースはあると思うのですが、皆さんどうしてるんでしょうか?
>>699 時刻だけの入力だよね?
その場合は出勤時刻の作業列を作る
Gに=B1、Hに=if(c1<b1,c1+24:00,c1)
みたいな感じ。
ちなみに俺はそのGとHで、時刻を15分単位でまるめる処理もして
Hの書式設定も[h]:mmなど、24時間以上と一目見て確認できるものの方がよい
704 :
703:2008/02/24(日) 18:38:25
途中書き込みスマン・・22-5時が深夜時間帯ってのは法律どおりな訳だな
703の後は、701の通り
更に8時間以上で超過勤務など混ぜたこともあったが、
今は手元にないな
休憩時間とかも考えると滅茶苦茶めんどくさかった
・・それより総労働時間+深夜手当って形の方が楽だと思うよ〜
スマートにやろうとすると大変。
深夜も24時以前と以後とか、時間帯ごとに細かく分けてあとから足した方が簡単だし確実。
経験上、日付は入った日付で終了は時刻に24を足した物(29時や32時)にしたほうが楽
それでも休憩時間が変わったりすると大変なのには変わりないけどね
707 :
670:2008/02/24(日) 20:04:00
>>671 俺へのレスでしょうか?
高さ変更ではなく、数字の大きさが行によって違うんです。
自分で作ったフォーマットではなく、既に退社してしまった人が
作ったもので、よく分かりません。
みなさん、レスありがとうございます。
まだ試せていなくこれからなのですが、
出勤時間、退社時間のセルに時間のみ入力して、退社時間の方が小さい数字ならば
24を足すという方法もあるとは思うのですが、
日付と時間を両方入れているのは、退社時間が出勤時間より大きい時間になる場合や、続けて二日徹夜する場合もあり、
その場合おかしくならないようにということを自分なりに考えてのことでした。
そして日付が入っているので深夜の労働時間を24時で区切るとしても、単純に24:00や22:00で計算するのではダメで、
その行の日付を考慮しないといけないので難しいなと思っています。
>>704 704さんの最後の行、総労働時間+深夜手当というのがよくわかっていませんが、
この場合の残業時間は、総労働時間から出勤日数x8時間したものを引いた分が残業時間という計算ですか?
この方法で算出する場合会社として許可がいると労務士の先生から聞いたことがあるので僕の場合には不向きなようです。
と、勘違いして見当違いなことを言っていたらすみません。
ヒントはいただいたので少し自分の方でやってみます。
レスくれたみなさん、ありがとうございます。
>>708 いや、一日ごとの総労働+深夜手当てって意味で・・
例えば休憩ナシで20-24の4時間勤務、時給が千円で深夜手当ては25%(250円)とすると
1000*4の4000と、250*2で500足して4500円って意味ね
1000*2+1250*2と結局は同じなんだけど、数式の組みやすさが違う
どっちがいいかは、人によるとしかいえないけど参考までに
ちなみに「総労働時間から出勤日数x8時間したものを引いた分が残業時間」
は変形労働時間制とか言ってすごく計算しやすいんだけど普通使わないんだよなぁ
710 :
名無しさん@そうだ選挙にいこう:2008/02/24(日) 21:03:45
707=670:2008/02/24(日) 20:04:00
>>671 俺へのレスでしょうか?
高さ変更ではなく、数字の大きさが行によって違うんです。
自分で作ったフォーマットではなく、既に退社してしまった人が
作ったもので、よく分かりません。
横レスだけど、確かに671は670へのレスだね。
質問文を読むと671の回答になるように理解される。今一、はっきりしないが、
想像で回答してみようと思ったが、もう、ちょい情報がいる。
例 列とか行とかでの違いなど
そういう場合はスクリーンショットを張るのが一番早い
>>708 日時をシリアル値にしておけば、日付が変わっても単純に引き算できるんだけど
普通は勤務開始と終了だけ入力するもんだよ
ちょくちょく一行レス返してないで回答者なら回答者らしく
ずばりF1に入れる式を教えてやれや。
715 :
名無しさん@そうだ選挙にいこう:2008/02/24(日) 22:52:08
初心者の質問で申し訳ありませんが教えてください。
ワープロで直接入力にすると普段は半角の英数字が入力できます。
しかし今日いきなり直接入力にしたら半角のカタカナがでるように
なってしまいました。
なのでパスワードの入力など半角の英数字が入力できず困っております。
どなたか直し方わかりますでしょうか?
716 :
名無しさん@そうだ選挙にいこう:2008/02/24(日) 22:52:58
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 レーダーチャート グラフ 離れたセル
お世話になります。
レーダーチャート作成の際、参照するデータが離れているため、Ctrlキーを押しながら
選択しているのですが、14個くらい選択した時点で、それまで選択していたものが
全て解除されてしまいます。
何か原因があるのか、いくつまでなら選択できるなどありましたら教えてください。
並んだデータをつくってからグラフをつくればいんじゃないかな
718 :
446:2008/02/25(月) 00:20:02
>447
遅レスでスマン。
カキコしたの忘れてたわw
・他アプリで吐き出されたcsvの処理
・通信でテストデータの流し込み
・ファイル更新、及び複数ファイルの処理
いまさらどうでもいいことだな。
まぁ頑張って今度はマインスイーパでも作ってくれw
>>718 マインスイーパ作成にはVBA必要だろうな。
まあそれくらいしか使い道ない。
>>698 正直な話、2003を使う。
MSって、そういう企業なんだよね・・・。
>>718 >ファイル更新
普通に上書き保存したらいいじゃない。
>複数ファイルの処理
ファイルを複数に分割するのがセンス悪いんじゃないの?
売上データを月別に保存とか。
時々いるよね。月別とか得意先別にシート分ける人。
それで困ってここに質問してくると、ここの回答者が得意そうに
indirectとかVBAとかでスーパーテクニックの見せびらかし大会が始まる。
722 :
名無しさん@そうだ選挙にいこう:2008/02/25(月) 02:10:32
>>718 >・他アプリで吐き出されたcsvの処理
そのcsvがそんなデータ構造なのか気になるな。
もしかして第一正規形じゃないとか。
それならVBAで整形したいという気持ちはわかる。
もちろん整形後はピボットテーブルで処理しろよ。
他にも枝分かれのある文法を持ってて構文解析が必要なケースが考えられるな。
いずれにしてもなかなか大変な環境で仕事してるんだな。
納品書のフォーマットとか相手ごとにバラバラだから
会社ごとに正規化マクロを用意してやってる。
>>625 オレもソレ知りたい。
いつも作り直してるんで。
>>723 いまいち理解しにくい。
正規化ってどういう意味?
726 :
92:2008/02/25(月) 10:05:37
>>625 マクロの記録でボタン登録までを記録する。
あとはソースコード見れば、VBA知らない人でも、
どこ直せば良いかはわかると思う。
>>721 446・447共にそれ相当にエクセルを理解しているんだろ。
>>721みたいな幼稚な解決ができないからVBAとか使ってるんだ
からいいんじゃねぇの?
んが、VBAの出番がめったにないってのは言いすぎだな。
そのうち表計算ソフトいらないとか言い出すんじゃね?
なぜExcelなのか、根本的に分かってなさそうだよ
必要もないのにVBAを使っても別にいいんだけど、バカにはされるだろうね。
今まで読んできて意味がありそうな使い方は次の2通りだけ。
1.第一正規化されていないデータを入手したので、それを整形するため
2.枝分かれ構造のあるデータや解空間を再帰的に探索するため
>>728 そうだね。つまらないことになんでもVBA使うならそもそもexcel使わなくてもいいだろって思う。
こういうバカだから仕方ないw
>>732 自分で1からソフト作るっていいたいんでしょ
極論大好き2chねらーの典型的な例
>>733 意味のあるVBAの使い方を具体的に示してみなよ。
VBAでプログラミングすることによって、excel付属の機能だけでは解決できなかった問題が解決したとか、より優れた価値を生み出すことができたというような例を。
735 :
名無しさん@そうだ選挙にいこう:2008/02/25(月) 12:46:17
ここにいるVBA厨はプログラマー板のVBAスレじゃ全く役に立たない
バカばっかなんだからいい加減放っとけよ。
>>734 具体的には例としては
>>723 >>729がまとめてくれてる
後は取引先じゃなくても、自社内の古いデータをまとめたりする時にも使う
まぁ、VBA使わなくても業務に支障が無ければ別にいいんじゃないの?
ちなみに俺も普段の作業は関数にピボットがメイン
何回も出てるけど使い分けが大事ってことで
737 :
734:2008/02/25(月) 12:47:49
ついでに言うと、その「意味のある使い方」を実現するのに君たちの同僚やライバルはVBAなんか使っているんだろうか?
それも考えてみた方がいい。
またVBA厨vsピボット厨かwww
1)特定の作業をさせるのがVBA
2)集計や資料を作るのは関数や一般機能
3)作成された資料を分析して実務に生かすのは人間
ここのVBA厨は2)と3)の能力が極端に不足している。
ゲーム作れるからすごいぜ俺!とか言っているいるヤツは実務を知らない単なるリア厨。
いつまで同じ話を繰り返すんだよw
VBA・ピボットいいところをまとめて
>>1に入れとけww
そいつは自己紹介したいだけだからテンプレに入れても無理だろ
ほっとくしかねーよ
>>742 今までの流れを読み返すと、
>>445の言うとおりVBAを使う機会なんてめったにないんだなと思えてきた。
もっと精神を研ぎ澄ませると、そもそもエクセルでやってる作業のほとんどが
メモ帳でできるように思えてきた。
昔は、パソコン有りませんでした。
やってることは大して変わりません。
エクセルのデータファイルを謝って削除してしまいました。
HDD復旧ツールを使って、****.xls~RF1223b12.TMP というファイルの復旧まで
はできたのですが、この .TMP ファイルの拡張子を .xls に変えてみても、元の
ファイルにはなりませんでした。どうしたらこのファイルからデータを復旧できるでしょうか?
すみませんが、わかる方いらっしゃいましたら教えてください。
>>746 ファイル復活ツールは万能じゃないから、それで戻らなかったら
基本的にはあきらめるしかない。
次からは消さないように気をつけようね。
(´・ω・)。oO(何故分からないヤツが答えるんだろ・・・)
>>746 間違って保存した後のものを復旧させるなら
拡張子TMPじゃなくてxlsで戻せると思う
ちなみに俺は復元ってツール使ってる
750 :
名無しさん@そうだ選挙にいこう:2008/02/25(月) 17:27:51
WindowsXP(SP2)でExcel2003を使っています。
以下のようなマスタデータをシートに作成しました。
ID 名称
A01 鈴木
A02 佐藤
別のシートのある列で上記のマスタデータのIDを入力したいので、
「ID」列を選択してからメニューの「挿入」⇒「名前」⇒「定義」で「マスタ」という名前を付けました。
そして別のシートの入力規則として上記で定義した「マスタ」を設定すると、
プルダウンメニューで「A01」「A02」が入力できるようになりました。
ただこれだとわかりづらいので、プルダウンメニューでは「鈴木」「佐藤」と表示させ、
実際に選択すると「A01」または「A02」が入力されるようにすることは可能でしょうか?
試しにマスタデータのシートで「ID」と「名称」列両方を選択して定義してみたのですが、
入力規則には単独列しか使えないと叱られてしまいました。
VBAはほとんどできませんが、お答えとしていただけるなら何とか頑張ります。
よろしくお願いします。
751 :
[Fn]+[名無しさん]:2008/02/25(月) 17:39:47
質問です。
例えばA1〜A10までのセルに数字がアトランダムにあるとして
その一番上(最初)のセルを選択して他のセルにあらわすことは
できるでしょうか?
A1 0
A2 1
A3 2
A4 3
A5 4
A6 3
A1 1
A2 0
A3 2
A4 3
A5 4
A6 3
同じ式で上はA1 1を 下はA3 2を選択して任意のセルに
あらわせるかどうかなのですが・・。
よろしく御願いします。
>>751 自分の書いた文章を見直して質問しなおせ
なに言ってるかさっぱりわからん
例から真意を読み取ろうにも
上のリストでA1に入ってるのは1じゃないし(実際は0)
「最初のセル」ってなに?
最初のセルと判断する具体的な条件をわかりやすい言葉で書いてくれ
753 :
名無しさん@そうだ選挙にいこう:2008/02/25(月) 17:48:14
【1 OSの種類 .】 Windows XP , VISTA
【2 Excelのバージョン 】 Excel 2003 , 2007
さんざん既出だと思いますが何を見てもわからなくて・・・
Windows XPのパソコン(エクセル2003)と、Vistaのパソコン(エクセル2007)が1台ずつあります。
エクセル2003で作ったファイルを2007で開くと1ページあたりのレイアウトがずれてしまいます。
2003と同じように2007でも表示させる方法ってないでしょうか?
新しいエクセルが出るたびに互換性がないんじゃ面倒くさくてエクセルで文書作れないですよね・・・
どうかお願い致します。
>>753 Excelは表計算ソフトであって、文書を作るソフトではない
面倒くさいから俺はExcelで文書作らない
>751
多分出来る。
「最初のセル」を任意のセルに入力するなら
数式だけで「他のセルにあらわすことは」は
出来る。
任意のセルを選択しただけで結果を変えるな
らみんなの大好きなVBAしかないw
>>756 ありがとうございます。これからがんばってVBAの勉強を始めます。
とかいう返事を期待している。
>>751 任意のセルは念力で伝えるのか?
だとしたらVBAでも無理
>758
お前はVBAをもう少し勉強してからレスしろ。
VBAに不可能はない!
>>759 あの質問内容で処理方法がわかるのか?(´д`)
761 :
750:2008/02/25(月) 18:28:49
すみません、私の質問も意味不明だったでしょうか?
何か手がかりでも教えていただけると大変助かります。
最近はVBAがすっかりバカにされてるな。
763 :
[Fn]+[名無しさん]:2008/02/25(月) 18:30:24
舌足らずですみません。
日付が上から1日、2日、3日、4日・・・ときて月によって人によって最初に数値が
入るのがいつかわからない前提で、その最初に入った数値だけを別のセルに
あらわしたいんです。
こうして
>>751を巡るエスパー達の戦いが始まったのである
>>761 あの文で内容はわかるが解決方法はしらない。
誰か答えてあげて。
そういう時は「舌足らず」じゃなくて「言葉足らず」と言うんだよ。
意味がぜんぜん違うから。
>>750 メッセージ通り入力規則では無理
コントロールツールボックスのコンボボックスならほぼ希望通りの処理が可能
>>763がどのレスに対する補足なのかわからないのは俺だけでいい
>>768 漏れもわからんぞぃ
「別のセル」の特定方法はセルにするのかフォームにするのか
それとも固定なのかがそもそも分からない。
任意だからそのつどかわるのかな?
VBA使うにしてもそういう条件が揃ってないとなんとも言いようがないな。
770 :
753:2008/02/25(月) 19:17:12
あのー・・・
>>753なんですが・・・
無理でしょうか・・・
大変困ってます
どなたか知識のお恵みを・・・
>>770 無理だって言ってるだろう
・・って誰も無理とは書いてないなw
エクセルはバージョンが変わると体裁が崩れる
昔からな
>>770 質問する側があまりに適当すぎるから誰も答えられないんだよ。
誰が漠然と ”1ページあたりのレイアウトがずれてしまい” 程度で
回答返せるんだよ。
フォントが違うのか、文字間が違うのか、セル幅が違うのか色々あるだろ。
ってまぁ最終的な結論を自力で見つけ出した点は評価できる。
>面倒くさくてエクセルで文書作れないですよね・・・
>>763 作業セルを使う。最も上に入った数値のセルはつねに最も早い日付の横にあることを利用する。
B1-B31 日付
C1-C31 数値
D2 C1-C31の最も上にある数値を表示するセル
A1=IF(C1>0,B1,"") A2-A31までコピペ
D1=MIN(A1:A31)
D2=VLOOKUP(D1,A1:A31,3,0)
以前もお世話になりました。
可能な限りで結構ですので、どなたかよろしくお願いいたします。
【1 OSの種類 .】 WindowsXP SP2
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 オートフィルタ 自動 セル 入力
セルA1を入力規則でリストにしています。
リストは、セルB2からセルU2が設定してあります。
このB2〜U2にはオートフィルタが設定してあります。
A2〜A2003は商品名
B3〜U2003までデータとして数値が入っています。(ゼロは空白)
このセルA1で選択したものをA2〜U2の中から見つけ出して、
その見つけ出したセルで、『オートフィルタの空白以外のセル』を実施して表示
を実行したいのです。
ボタンを使えれば最高です。
例
B2〜U2までそれぞれ、あ、い、う、え、お、か、き・・・と入っていて、
A1で 『か』を選んでコマンドボタンを押したら、
『か』のセルに飛んでそこで『オートフィルタの空白以外のセル』を実施して表示
させて、数字が入力されている品名だけ表示させる
どうもいい案が浮かばなくてご質問させていただきました。
よろしくお願いいたします。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 条件付き書式 セル 色 計算 合計 数 など
色の付いたセルの個数や、色の付いたセルの値の合計などを求めるときに
使われる方法はVBAを使ったものとマクロ4.0という
古いタイプのマクロを使えば出来ると言うことはわかりました。
どちらも条件付き書式には使えない、ということもわかりました。
条件付き書式で色の付いたセルを合計するには、
その条件付き書式で色を付けている条件と同じ条件で抜き出して
合計したり数えたりすればいいということもわかりました。
でももしかしたら、このスレならと思って質問なのですが、
条件付き書式で付けられた色付きのセルの個数をカウントしたり、
合計を求めたりする方法は上記の方法以外にありませんか?
>>770 可能性の一つとしては、
プリンタが変わると、機種ごとに余白の大きさがちょっとずつ違うから
1ページあたりの行数、列数が変わることがある。
必ず決まった場所で区切りたいなら、
印刷範囲が一番小さい機種を基準に決めて改ページの挿入。
すでに作ってしまったデータはどうしようもない。
>>774 こうしなさい。
商品名 数字 記号
りんご 10 あ
みかん 15 あ
いちご あ
りんご い
みかん 30 い
いちご い
りんご 1 う
みかん う
いちご 6 う
778 :
777:2008/02/25(月) 21:00:29
数字が空白の部分がつまって見づらくなったのでダミーの「空白」をいれてみた。
実際には本当の空白にしてね。
商品名 数字 記号
りんご 10 あ
みかん 15 あ
いちご 空白 あ
りんご 空白 い
みかん 30 い
いちご 空白 い
りんご 1 う
みかん 空白 う
いちご 6 う
こんなデータ形式にしてオートフィルタを適用する。
数字の列は「空白以外のセル」を表示させる。
記号の列を好きに選べばよい。
779 :
774:2008/02/25(月) 21:27:18
>777様
ありがとうございます。
なるほど、そういう方法がありましたか。
既存の表が
佐藤 高橋 吉田 伊藤
りんご 10 2 空白 3
みかん 空白 15 20 空白
いちご 50 20 10 10
ばなな 12 空白 2 3
こんな感じだったので、どうにかしてこのままいけないかなぁ?と思ったんです。
できれば、この形式でやりたいのですが・・・やめたほうが無難ですかね?
780 :
777:2008/02/25(月) 21:33:24
無難です。
>>779 この問題は
「第一正規化されていないデータの整形」
としてVBAを使うことに意味があるケースだと考えます。
佐藤 高橋 吉田 伊藤
りんご 10 2 空白 3
みかん 空白 15 20 空白
いちご 50 20 10 10
ばなな 12 空白 2 3
この表は第一正規化されていないので,VBAを使って正規化したらいいんじゃないかな。
この一連の第一正規化しろというレスはばかげている
ことぐらいわかれよ。ほんとに、困ったもんだが・・・
783 :
774:2008/02/25(月) 21:54:26
>777様
>781様
そのヒントでなんかひらめいた感じがします。
いまからがんばってみます。
どうしてもうまくいかない場合、
もう一度質問させていただくかも知れませんが…
ありがとうございました!
785 :
774:2008/02/25(月) 21:56:42
>782様
ご迷惑をおかけしたことは謝ります。
786 :
753:2008/02/25(月) 22:28:19
みなさんありがとうございます
やはり無理なんですね
それにしてもエクセルは「バージョンが変わると以前のデータが使い物にならなくなる」ってひどすぎですね
大量に2003バージョンでデータ作っちゃいました・・・
最悪です・・・
>>786 互換性の問題が無くてもエクセルをワープロにすることはおすすめできないな。
これをきっかけに泥沼から脱出できたのだからMSに感謝したらいいよ。
>>786 表計算ソフトとしてならバージョンが上がってもまったく問題なく引き継げるんだが。
なんのためにOffceにWordとExcelが別のアプリケーションとしてパッケージされてるのか考えてみろ?
自分の無知による責任をMSに押し付けるのはどうかなー。
789 :
名無しさん@そうだ選挙にいこう:2008/02/25(月) 22:58:57
>>786 スレ違いな話になるけど、wordは
「段落ダイアログ」「段落スタイル」「文字スタイル」「アウトライン」を理解して
ショートカット
Shift+Ctrl+N(段落スタイル初期化)・Ctrl+Space(文字スタイル初期化)
Shift+Ctrl+C(書式コピー)・Shift+Ctrl+V(書式貼り付け)
を覚えるだけでExcelのほうが文書作りやすいなんて思わなくなるよ
790 :
753:2008/02/25(月) 23:01:53
書類作成するのに、1つのセルに数字を入力するだけで他のページの数値が連動してその数字が入力されるのですごく便利だったんです。
そういうのってwordでもできるんですか?
って、ググレカスって感じですよね・・・
以前に
>>660で質問したものですが、
Range("a1:a2").Value = Range("a11:a12").Value
で、かつ書式もコピーしたい場合はどうすれば良いでしょうか?
>791
つマクロの記録
793 :
名無しさん@そうだ選挙にいこう:2008/02/25(月) 23:15:14
a11:a12の書式をa1:a2に適用するという意味です。
794 :
名無しさん@そうだ選挙にいこう:2008/02/25(月) 23:15:48
>793
つマクロの記録
「つマクロ」って何?
>>786 釣りの臭いがぷんぷんするが、
エクセルを印刷ツールとして使いたかったら、
カメラつかえ。
>>775 色つきの条件式は範囲A列、3を超えるものとすると
=COUNTIF(A:A,">3")
色つきを数えるのはマクロしか無理だな
>>791 コピーして針付けするときに右クリックで書式を選択して貼り付け
以下のような感じになればok
Application.CutCopyMode = False
Selection.Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
>>796 「つ」は「(・∀・)つ」というAAの手の部分で要は差し上げるとかそういう意味
あのー…
800 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 11:01:12
ある特定のファイルを開くと,なぜかSDI形式で開くようになってしまいました。
Excelで通常,複数のファイルを開くと親ウインドウの中に子ウインドウが存在
するという形になりますが,なぜか,ある特定のファイルのみ,そうならないのです。
しかし,このファイルを他のパソコンで開けば,問題ありません。
このような現象を解決する方法はないでしょうか。
なお,SDIになってしまうとは次のような感じです。
http://park22.wakwak.com/~neko/excel_trouble.png よろしくお願いいたします。
【1 OSの種類】 Windows XP Professional + XP2
【2 Excelのバージョン 】Excel 2003
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否
801 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 11:17:02
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【5 検索キーワード 】 excel ENTER ペースト など
【質問内容】
クリップボードにデータがコピーされている状態で、
単に次のセルに移りたいがためにENTERを押すと
データが貼り付けられてしまいます。
これって前のバージョンではそんなことなかったと思うのですが
2002では普通の仕様ですか?
その機能を解除する方法はあるのでしょうか。
ただ次のセルに移りたいだけなのに
いちいちペーストされてしまうので不便でたまりません。
そのたびにクリップボードの内容を消している今日この頃です。
何か良い方法があれば教えてください。
よろしくお願いいたします。
>>801 以前からの仕様です。
なぜに必要のない物をクリップボードへ?
803 :
801:2008/02/26(火) 11:36:49
>802
マジですか!なんで今まで気づかなかったのだろう。
クリップボードって勝手に保存されてしまうじゃないですか。
(2回コピーすると?)
コピペなんてショートカットで十分なので、個人的には
クリップボード自体まったく必要ないと思っているのですが。
つまり、回避策は単に「保存されないように気をつけろ」
ということしか無いということですかね・・・
どうも失礼いたしました。
[ESC]押せば一応コピーモードは解除できるよ
805 :
801:2008/02/26(火) 12:10:21
>804
ぬお!それはラクですね!使ってみます!
ありがとうございました!!
806 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 12:40:53
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 VBA
VBAのコードを個別のファイルに保存するのではなく,
何らかの形式で保存して,任意のファイルから呼び出す
みたいな使い方は出来るのでしょうか?
さらに,それをツールバーのボタンに出来ればありがたいのですが.
「Excel アドイン 作り方」くらいで検索
不具合発生!
名前で「三宅」(みやけ)と打って
間にスペースを入れて「三 宅」で、ふりがな表示すると(さん たけ)
とかになっちゃいます。
並べ替えもおかしくおなります。
1000人分の名前打って、並べ替えたらぐちゃぐちゃになっちゃった・・・
名字にスペース入れる、ふりがな壊れるなんて知らなかった。
これから残業です。今日、息子の誕生日で、ヤッターマン超合金買った帰る
つもりだったのに、最悪です。息子がグレたら訴えます!!
>>808 それは俺も知らなかった
更にスペースを削っても直らないんだな
その作業前のがあれば=phonetic関数いれてる作業列をコピーして値で貼り付けすればいいだけなんだけど、ないんだろうな
無ければ(新規のシートでやることを推奨)
A列に「三 宅」やらをコピー
B列に「=SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")」をコピーして貼り付け、
(これでA列から空白が削除したものが出来る)
そのままオートフィルでB1000かな?自分のやったとこまでコピー
後はVBAで
Sub Macro1()
Dim i As Long
For i = 1 To 1000
Range("c" & i) = Application.GetPhonetic(Range("a" & i))
Next
End Sub
を実行すればC列にふりがなが自動的に入力される
誕生日には帰ってやれよ、な!
810 :
809:2008/02/26(火) 15:46:40
IMEのデータを反映するだけらしいんで、チェックだけは必ず忘れないでくれ
本当だ。お疲れ様。脳内息子にもよろしく。
812 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 16:10:13
【1 OSの種類 .】 Windows XP SP2
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 複数行 まとめ あわせ
|商品1|3|2|5|
|商品2|2|1|3|
|商品3|2|2|4|
というセルを
|商品|7|5|12|
という風に一括で合計しつつまとめたいのですが、どのようにすればよろしいでしょうか?
よろしくお願いいたします。
おいピボ厨出番だぞ
商品ごとに異ならなければ、最後に合計列作ってsumでいいんじゃないの
左からA、B、C、D列ならb4に「=sum(b1:b4)」C・Dも同様
815 :
812:2008/02/26(火) 16:41:17
>>814 すいません、書き方が悪かったですね。
|商品A|2|2|4|
|商品B1|3|2|5|
|商品B2|2|1|3|
|商品B3|2|2|4|
|商品C1|1|1|2|
|商品C2|1|2|3|
というリストがあって、このリストを
|商品A|2|2|4|
|商品B|7|5|12|
|商品C|2|3|5|
っていうリストにしたいんです…。
おまたせ!!ピポ厨だよ!!VBAやってる奴は全員犬に噛まれろ
>>815 ピボットテーブルでできると思ったらそれは正規化が必要だ!!
正規化厨が現れるのを待ってくれ。ではさらば!!
おまたせ!!正規化厨だよ!!ピボットテーブルやってる奴は全員犬に噛まれろ
>>815 正規化でできると思ったらそれはVBAが必要だ!!
VBA厨が現れるのを待ってくれ。ではさらば!!
おまたせ!!VBA厨だよ!!正規化やってる奴は全員犬に噛まれろ
>>815 VBAでできると思ったらそれはピボットテーブルが必要だ!!
ピボット厨が現れるのを待ってくれ。ではさらば!!
まずはVBAで回答してほしい。その後ピボットテーブルで回答するから。
その方が面白いだろ?
まずはピボットテーブルで回答してほしい。その後VBAで回答するから。
その方が面白いだろ?
おwまwえwらwww
>>815 正規化→ピボットの出番なのは確かで、
正規化するのにあまりにも量が多い&複雑なら正規化に関数やVBAもアリ
とりあえず本当に「商品B」という名前なら、
E1に「=left(A1,3)」と入れてオートフィル。商品A、商品B、商品B・・という列を作る
1行目のE1に商品名、B1・C1・D1に単価などの見出し入れるのも忘れずに
その後ピボットテーブルで全体を選択、左下に商品名(さっき作ったE列に当たるもの)、
右下に残りの単価等のB-D列をぶちこめばok
823 :
822:2008/02/26(火) 17:31:41
正直、この流れがまだ続いてるとは思わん買った
すまんかった
あと書き忘れてた
じゃなきゃ集計だ
その代わり商品名の列で並べ替えする必要があるけど
商品名と、枝番号のような番号に関しては、どんなルールなんだろうな?
実際のデータは「商品A」って事は無いだろうし。
>>815は、その辺どうなのよ?
825 :
815:2008/02/26(火) 18:31:16
>>816-821 (゜Д゜)
>>822 なるほど、ピボットっていう機能は初めて知りました。
同じ名前の商品名なら、自動で合わせてくれるんですね。
商品A1 商品A2を商品Aに手動でリネームしてピボットしたらとりあえず、うまくいきました。
数が増えればちょっと面倒ですね…。
>>824 実際は商品名中に型名みたいなものが入っていて、文字数はバラバラです。
商品ORZ-2Z-P
商品PGR1024
商品zx専用y
>>774 のは終わったのかw
ピボット厨ならぬ、「正規化」厨の登場でエクセルの使い方に
革命が起こるのかと思った
>>812はその延長かな?
>>825 リネームするルールが決まってれば、その辺りはマクロで一発でできるんだけど、よくわからんなあ。
末尾の数値だけ消すなら、こんな感じだけど、それ見た限りじゃ末尾の数値消せばいいってもんでもなさそうだなあ。
選択した範囲の左隣に、末尾の数値を消した値を書き出すサンプル。つまりは、左空いてないと動かんよ。
Sub Kawahara()
With CreateObject("VBScript.RegExp")
.Pattern = "\d+$"
.Global = True
For Each r In Selection
r.Offset(0, -1).Value = .Replace(r.Value, "")
Next
End With
End Sub
828 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 18:50:53
>>827 品名や品番というものは規則性などないものなんだ。
仕事してれば普通わかる。
そういうのは商品コードと商品グループを羅列したテーブルを用意してVLOOKUP
で参照するのが定石。
VLOOKUPとピボットテーブルを組み合わせればほとんどの事務処理が解決するんだよ。
>>828 VLOOKUPとピポットテーブルの使い方がわかりやすいサイト教えて
>>828 そういう作りになってないんだからしょうがないじゃん。
そうできるための方法を考えてるわけよ。
それともこの世界は汚すぎるから0からボクが作りなおすんだ派?
でも既存の商品名をどっかにテーブル化しておいて、それと総当たりで
比較してグループ化するってのは良い方法かなあ。
vlookupであいまい検索みたいなグループ分けできるの?
とりあえずはVBAでグループ分け用の列追加するの作ったぜ。
例によって選択範囲の左空けとく奴
Sub Kitajima()
Set nameList = Range("A1:A10") 'ここをグループ分けしたい商品名が入力されている範囲に
For Each r In Selection
For Each n In nameList.Value
If r.Value Like n & "*" Then r.Offset(0, -1).Value = n
Next
Next
End Sub
ああ、あいまい検索だと言葉が悪いな。nから1を検索できるの?
1からnを検索する以外のやり方知らんよ。
なんか、とどのつまりは
>>774もそうだったけど、
上級関数厨がいれば、おさまりそうだ。
いなくなっているけれどw
>>832 変数の宣言忘れんなwwwwwwwwwwwwwwwwwwwwwww
え、VLOOKUP使うって、そういうこと?
じゃあ俺はいいや。パス。
838 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 19:56:05
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 無駄 徒労
初めて質問させていただきます。
今日初めて 範囲に名前つける 対象 Indirect(”A3:I"&counta(A:A))
その名前を対象にピボットテーブル
という操作を知りました。
今まで データ追加→範囲再指定 とやってきた時間を返してもらいたいのですが、どうすればよいでしょうか?
>>838 無駄 時間 返却 方法 の検索結果 約 1,420,000 件中 1 - 10 件目 (0.29 秒)
無駄 時間 徒労 返却 方法 の検索結果 約 26,900 件中 1 - 10 件目 (0.29 秒)
時間を返してもらう 方法 の検索結果 約 20,300 件中 1 - 10 件目 (0.22 秒)
時間を返してもらう するには の検索結果 約 488 件中 1 - 10 件目 (0.27 秒)
どこかにあると思う
>>838 VBA使ってるやつよりよっぽどましだよ。
任意のセル→[Shift]+[Ctrl]+"*"
で同じ範囲を選択出来ることに早く気付いて、
今まで 範囲に名前つける〜 とやってきた時間を返してもら(ry)
と思えば良いと思うよ。
>>838 なにめんどくさいことやってんの。
そういうときは範囲の一番下に一行余分に範囲指定しておいて、行を追加するときは最下行のすぐ上に挿入すればいんだよ。
そうすれば範囲は自動的に拡張されるから再指定なんかする必要ない。頭つかえ頭。
>>838 2003ならテーブル機能使って指定しとくのもいいよ
845 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 20:31:15
【1の表】
仕入 売上
累計 −2000 1700
1月1日 −1500
1月3日 200
1月3日 −500
1月3日 700
1月6日 800
【2の表】
仕入 売上
累計 −2000 1700
みたいな感じで、一つ目のシートにデータを入力して、それから
2つ目のシートに出力したいのですが、これはどうやったらいいのでしょうか?
教えてくださいよろしくお願いします。
846 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 20:31:44
唯の、sum関数ではできないですよね?
よろしくお願いします。
2の表で適当なセルをクリックし、=を入力する
次に1の表の-2000をクリックし、Enterを押す
WindowsXP、エクセル2003です。
セルの書式設定や条件付き書式などで、
セルの背景やフォントに色をつけたシートを作り
それを印刷したのですが、フォント色だけがなぜか設定した色でなく
すべて黒で印刷されてしまいます。
セルの背景は設定した通りの色で印刷されるのに、フォントが黒になってしまう
理由がわかりません。
設定がおかしいのかな、と思いエクセルのオプションや
ページ設定なども一通り見たのですがどこを変更すれば直るのかわかりませんでした。
印刷プレビューまでは問題なく、セルの背景・フォントの両方が指定した色で表示されています。
印刷してみると、セルの背景はカラーですがフォントがすべて黒になっているのです。
どうすればフォントをカラーで印刷できるのでしょうか?
ご存じの方教えてください。よろしくお願いします。
849 :
841:2008/02/26(火) 20:52:51
>844 要らなかったか。
英語キーボードだと*がシフト扱いだから要るんだ。ごめりんこ
ビボットテーブルを作るのが面倒なので、ビボットテーブルをつくるマク
ロを書いてください。
>>851 おまえらがいつも書いてるVBAがそれだよ。
ピボットテーブルのサブセット。
>>848 Microsoft Office Document Image Writer
に印刷するとどうなる?
855 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 22:03:14 BE:666237683-2BP(802)
計算式をクリップボードにコピーして貼り付けても、式として認識せずテキストとして貼りつけられちゃうのですが、式として認識させて、計算結果が出るようにするには、とうやって貼りつけたら良いでしょうか?
今は、貼りつけた後に、いちいち=を先頭に入力してるんです。
良い方法を教えて下さい。
>>849 日本語キーボードでも*はシフト要るよ。
シフト要らないのはテンキー。
ショートカット自体は[Ctrl]+"*"で、その"*"を
テンキーならそのまま"*"
英語キーボードのメインキーなら[Shift]+"8"
日本語キーボードのメインキーなら[Shift]+":"
と入力するってことかなー。
857 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 22:16:12
基本的なことで申し訳ありません
セルの高さや幅を、ミリ単位で設定する方法を教えてください
※エクセル2000使用
m(__)m
858 :
848:2008/02/26(火) 22:19:35
レスありがとうございます。
あきらめて自宅に帰ってきてしまったのでレスいただいたことは
明日会社にて試してみようと思います。
>>853 ページ設定の白黒印刷のところもチェックありチェックなしの
両方で試したのですが、ありだとセルの背景の色もなくなってしまいますしね。
プリンタのドライバですか。なるほど。調べてみます。
>>854 試しにPDFで保存したら、多少セルの背景の色なんかは違ってましたが、
フォント色はしっかり反映されてました。
Microsoft Office Document Image Writerは明日試してみます。
明日、結果を報告します。
859 :
848:2008/02/26(火) 22:20:49
>>857 それは
>>4に載ってる不可能なことではありませんかね?
あまり詳しくないので他の方のレスを待つ方がいいか、とは思いますが。
860 :
名無しさん@そうだ選挙にいこう:2008/02/26(火) 22:43:07
エクセルで自動でグラフを作ると、だいたい上に1ますの余裕、下に2ますの余裕が出来ます
自動設定のまま、下の余裕分の2ますを1ますに減らす事は出来ないでしょうか?
>>859 そうですか・・・
ありがとうございました
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 「入力規則 空白」 「入力規則 途中に空白」
A B C D E
1 田中
2 佐藤
3
4 小林
5 小泉
と、それぞれA1〜A5までに入力があったとします。
A3が空白になっていますが、それを除くA1,A2,A4,A5のドロップリストから選ぶ方法が
知りたいです。
YAHOO!知恵袋に似たものがあって、
>>元の値の欄に
>>=$A$1:INDEX($A$1:$A$5,COUNTA($A$1:$A$5))
とありましたが、これではできませんでした。
なお、Aには追記致しますので行での指定を行いたいです。
入力規則って862みたいな場合とか、スクロールせずに一度に表示できる数の変更とか
フォントの変更とかしたくてもできないことが多いよね。
864 :
862:2008/02/26(火) 23:41:38
865 :
名無しさん@そうだ選挙にいこう:2008/02/27(水) 08:39:06
Excelの検定試験ってどれが一番人気あるんですか?
MOUSかな?
資格・検定板ってどっかにあったからそっちで探したほうがいいかも
>>827>>830>>832 のような意見を読んでいると,実務を知らず想像でVBA書いているやつがいかに多いかに驚かされる。
>>816-819みたいなことはかっこ悪いからやめような。
ゲームプログラムならどんどんVBA使いなさい。それにケチつけたりはしないよ。
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 867 真実のかっこよさ 口だけ
>>867の書き込みはかっこいいのですか?
>>868 さっそく反応したな。くやしいのかもしれないが自業自得というものだ。
VBAが悪いのではない。VBAは優れた機能だよ。これからは意味のあることに使いなさい。
DB設計をしたいけど、させてもらえない人の妄想だろ
Excelスレに張り付いてるくらいの閑職じゃ仕方ねーさ
そっとしておいてあげろよ
871 :
868:2008/02/27(水) 11:33:13
>>869 ありがとうございます。
質問は
>>867の書き込みはかっこいいのですか?
です。どうぞよろしくお願いします。
それか自分はDBエンジニアって妄想持ってるだけの人かもな
そうなりたいなら、勉強してなりゃいいのに、できないんだろ。可愛そうな人だ
視野の狭さがかっこいいと思います。
質問するでもなく、回答するでもなく、薀蓄たれてる部分がアレなだけで、
特別かっこ悪くは無いと思います。
>>867 の書き込みはかっこよすぎてしびれちゃう!
婿にしてください!
>>870 DBが必要とまでは行かない会社も多いよ
エクセルですむならエクセルにとどめておくのも十分アリ
エクセルは大半の人が使えるけど、アクセスとかDBソフト使える人はそこまで多くないからね
それ以前にVBA厨であれピボット厨であれ、実務知ってないとなぁ
VBA厨とかピボット厨とか対立図式は間違っている。
VBA厨には実務経験がないやつが多くてピボット厨には実務経験のあるやつが多いだけ。
単にそれだけ!
業務がピボットだけでこと足りる環境にいるヤツは幸せだな〜
DBの話題が出ているんでちょっとだけ妄想を書かせてもらう。
未来のDBシステムはピボットテーブル的なインタフェースを持つようになる
んじゃないだろうか。
SQLとか書かなくてもよくなる時代がくるような気がしている。
スレッドの趣旨に合わない発言失礼〜。
なかなか、いい議論だ。だから
雑談スレに行ってお互い、相手してやってw
>>878 環境を改善するべきだよ。そこからがスタートだ。
昨日の脳内息子持ちは無事に帰れたんだろうか
久々にVBAでしかできない処理を書いたのにこれは寂しいぜー
>881
幸せなヤツだ。
大したことやってねぇんだろうな〜
>>883 forループまわしただけで業務改善した気でいるんじゃないの?
>>878 君の業務環境はどのような困難さを持っているの?
気が向いたら説明してくれないか。
VBA厨もピボット厨も所詮、大した事はやっていない。
大事なのは完成した表をどのように活用していくかだ。
それができないヤツはVBAやピボットで何を作ろうが
作業しただけで、何の役にも立たないヤツ。つまり同類。
それさえ分からない馬鹿どもがいつまでもうざい。
またかwwww
昼飯時に来るといつもやってんのな
>>886 大いに賛成。
ただエクセルのスレッドなんで作業方法が話題になるのはある程度しかたない。
890 :
名無しさん@そうだ選挙にいこう:2008/02/27(水) 12:50:37
バカばっかだな
VBAの高度な活用例がひとつも出てこないからいつまでも解決しないんだ。
なんかないのか?ピボット厨をギャフンと言わせてやれよ。
VBAって特殊な場合に異常に便利なだけ
>>808-809みたいな感じで
元々知ってたからすぐにできたけど、
基本的に808の例でも行数が少なければ手作業でやる方が早いし
エンジニアリング関数だっけ?性質的にはあれに近いと思う
>>892 そうだね。VBAを使う機会なんて、ベッセル関数使う機会とどちらが多いかいい勝負だよ。
どちらも一生使わずに過ごせる人が圧倒的多数だ。
>>891 言っておくがピボット厨全てがVBAを使えない訳ではないぞ。
VBAのやり方があってそれでもピボットの方が効率がいいと書いているのが多い。
一方、VBA厨はピボットが使えないヤツが多い気がする。
>>892 それでもどうしても目視の確認が必要になるんだよな・・・
VBA厨はいいけどピボット厨って呼ぶのは失礼だと思う。
VBA厨の発言は本当に厨っぽいけどピボットのほうはけっこうまともなこと言ってる。
896 :
名無しさん@そうだ選挙にいこう:2008/02/27(水) 14:12:00
テンキー部分だけを使って、24時間制で時間を表示したい(分まで)のですが、
可能でしょうか。どういった書式にすればいいのでしょうか。
希望としては、「1411」と打込むだけで、「14:11」と表示させたいのですが。
>>896 A1に1411が入ってるとして
=MID(A1,1,2)&":"&MID(A1,3,2)
とするといいよ。
898 :
896:2008/02/27(水) 14:24:45
>>897 速レスありがとうございます。
早速試してみたらできました。
大変ありがとうございました。
>>894 いや、目視はどの場合でもやっとけよ
その内エライ目見るぞ
900 :
896:2008/02/27(水) 14:32:05
>>897 すいません、幾つか試してるうちに駄目な場合が出てきててしまったんですが、
0時台〜9時台だとうまくいきません。
例えば「955」または「0955」と入れて「9:55」と表示させたいのに、
「95:5」と出てしまうのですが。
901 :
名無しさん@そうだ選挙にいこう:2008/02/27(水) 14:32:41
>>897だと数字が3桁の場合変なことになるので、
=LEFT(A1,LEN(A1)-2)&":"&RIGHT(A1,2)
もしくは
=INT(A1/100)&":"&RIGHT(A1,2)
のが良いかと思われ
>>900 二通りに解決方法があるけど
A1セルの書式を文字列に設定して0955と入力するのがおすすめ。
904 :
896:2008/02/27(水) 14:58:24
ありがとうございます。
今から試してみます。
905 :
896:2008/02/27(水) 15:15:32
試してみました。
>>901 さんの2通りとも試しましたが、これだと0時台のみうまくいかなかったので、
>>902 さんの文字列も追加したら全ての時間帯でうまくいきました。
本当にお世話になりました。
よかったね。自分にお礼も言えて。
>>906の代弁
「VBAで回答したかったのにー!ぐやじ〜。」
98ExcelをXPにのせることできますか?
98→XPにバージョンアップしたら、消えちゃったもので…
XPのExcelを購入するしかないのかな
初心者な質問で申し訳ないのですが教えて下さい
MSに聞け
間違ってSMに聞いたら痛い目に遭いました
911 :
名無しさん@そうだ選挙にいこう:2008/02/27(水) 16:06:19
うわ、つまんね
松田聖子でつ
913 :
名無しさん@そうだ選挙にいこう:2008/02/27(水) 16:07:57
914 :
名無しさん@そうだ選挙にいこう:2008/02/27(水) 16:15:06
>>905 001から009にも対応するなら、
=INT(A1/100)&":"&TEXT(MOD(A1,100),"00")
だな
915 :
896:2008/02/27(水) 16:36:17
>>914 ありがとうございます。
これだと文字列書式にしなくても0時台もうまくいきました。
大変感謝します。
>>908 CDがあるはず
それがあればインストールできるよ
捨ててしまったのなら、もう無理かなー
よかったねえw
なみだぐましいねえw
918 :
908:2008/02/27(水) 17:39:46
>>916 早速のレスありがとです
XPのCD-ROMですか…
あると思います
それでExcelの設定って出来るのですか?
初めてのパソコンで友達のお古を頂いたもので、変な事言ってたらごめんなさいです
XPじゃないよ、98のPC買ったときにofficeかエクセルのCDがついてきてたと思う
あくまでOSとエクセルは別物です
ああ、友達からもらったパソコンなのね。ごめん
んじゃその友達にもらうか、新しく買うしかないかな
中古ならエクセル97辺りが2000円ぐらいで売ってた気がする
じゃなきゃかなり似たようなソフトでopen.officeってのが無料だからそっちでもいいかも
98っていうとMACなのか。
消えちゃったってどういうことなのかいな?
元々98が入ってた→XPのCD使って追加→全部消えた
って事なのかな?
友達にもらった時にはどういう状態で、何をどうしたら、何が消えたのかを教えてもらえると
もーちょい具体的なことわかるんじゃね?
922 :
855:2008/02/27(水) 18:57:15 BE:444159528-2BP(802)
どうやら知ってる人ここには居ないみたいですね。
他をあたってみます。お騒がせしました。(´・ω・`)/~~
(´・ω・`)/~~
924 :
908:2008/02/27(水) 19:57:52
>>919 すいません、それないです
もらった時、本体とXPのCDと、あと変なソフトだけでした
>>920 友達に聞いたらわかんないって言われたんで、ここに来ました
どうしようもなかったら今度の週末中古屋に行ってみます
>>921 元々98ではword、Excelは使えたみたいです
それがXPにしたら無くなった?みたいです
皆さんのアドバイス感謝です(^-^)
書式設定で0":"00ってするだけでもオケ
926 :
名無しさん@そうだ選挙にいこう:2008/02/27(水) 22:30:46
>>921 osがwin98でエクセルのバージョンは97かその前後、
XPにバージョンアップしたらOSニ付属していたと思っていたエクセルが消えてしまったと見るのが妥当だろう
そんなことも予想できないとはwww
928 :
908:2008/02/28(木) 01:14:19
>>927 そうなんですか…
勉強になります
パソコン覚えようと市販本とにらめっこの毎日です
はっきりいってあんまり初心者と変わらないかもです
【1 OSの種類 .】 Windowsxp
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 入門中
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 tiptext ポップアップ mouseup
任意のセルにマウスを乗せるとポップアップヒントのような物が出るようにしたいのですが
メッセージボックスでは、いちいち「OK」を押さないといけないため、
かなりめんどくさくなってしまいます。よろしくお願いします。
>>930 助かりました、ありがとうございます。コメントとは思い浮かびませんでした。
入力規則で入力時のメッセージってのがあるけどそれとコメントだとどっちがいいんでしょうね。
場合によるでしょうけども。
入力時のメッセージのほうが目立つことは目立つけどコメントのほうが手軽で楽
934 :
名無しさん@そうだ選挙にいこう:2008/02/28(木) 08:28:29
エクセルで作成したグラフをDXFに変換したいのですが、方法はありますか?
>>934 グラフをフリーのアドインでEMFに変換してからEMF→DXFコンバータで変換
powerpointあればそっち経由でもEMFにできるんじゃないかな
937 :
よろしくお願いしますm(_ _)m:2008/02/28(木) 13:11:11
WinXP
Excel2003
数式が参照するセルを変更する数式を教えて下さい。例えば=SUM(C3:E3)となっている式を参照範囲の枠をドラッグする事なく、以下のように変更したいです。
・=SUM(C3:J3)
・=SUM(F3:H3)
変更する列は固定ではなく流動的です。
また、あるセルを基準にして一行下、6列前〜4列前までを範囲にしてproduct関数を使用したいのですが、基準となるセルを変更しても常に参照範囲をドラッグすることなく一行下、6列前〜4列前までを範囲にする数式を教えて下さい。
よろしくお願いします。
A1に「C3:J3」と入力しておいて
=SUM(INDIRECT(A1))
とするぐらいしかない
他はVBA
OFFSET関数は?
そりゃ足し算だ
>>937 後半
INDIRECT("R[1]C[-6]:R[1]C[-4]",FALSE)
windows2000
excel2003
画面のプロパティーで全体的に暗い色調に設定して使っているのですが
excel様はメニューバーの文字色、プルダウンメニューの文字色、セル名辺りの文字色を勝手に白にしてくださいます。
暗い色調で使ってるお前には見やすいように文字色を明るくしてやろうというMSなりの親切のつもりか知りませんが、
そこだけ浮きまくっていて非常に邪魔です。
どなたかその辺りの文字色を変更する方法をお教えください。
FALSE
↑何て読むの?
944 :
名無しさん@そうだ選挙にいこう:2008/02/28(木) 23:01:07
ファルス
フォ留守
excel2007ですが、枠線の色を変更するのはどこに行ってしまったんでしょうか。
2003までは、ツール〜オプション〜表示でできてたんですけど。
947 :
名無しさん@そうだ選挙にいこう:2008/02/28(木) 23:06:54
>>946 alt T O(2003のインスタントアクセスキーが利用可能)
詳細設定でOK
2007のメニューの正しい指定は知らん
948 :
947:2008/02/28(木) 23:11:18
どうも
オフィスマーク(F)→excelのオプション(I)
詳細設定→次のシートで作業する時の表示設定(S)
枠線の色(D)みたいだ。
949 :
名無しさん@そうだ選挙にいこう:2008/02/29(金) 10:11:49
ラウンド関数やラウンドアップとかの
桁数の指定と言うのが理解出来ませんの…
時間無いから、また後で詳しく質問いたします
951 :
名無しさん@そうだ選挙にいこう:2008/02/29(金) 15:05:49
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】?
グラフウィザードで積み上げ方棒グラフを使っているのですが、
それそれの数値が個別に表示は出来るのですが、合計数値をグラフへ
表示するにどうすれば良いのでしょうか?
952 :
名無しさん@そうだ選挙にいこう:2008/02/29(金) 15:11:00
>>950 ありがとうね
分からないのは桁数を指定してる数字の事でね
2)桁数・・求める桁数を数値で表す
一の位を四捨五入して十の位の表示にするには(-1)、
↑なんでこの場合(-1)になるんですか?
>>952 小数点の位置を0と考える
右に一桁ずれると+1
左に一桁ずれると-1
>>953 ありがとう、やっと理解出来ましたw
小数点二位を一位に切り上げるのに+1を指定とか
訳分かんなくて…
>>954 同感。
自分もよく上司にやらされる。その度に「こいつグラフって何かわかってんのか?」と疑問に思う。
957 :
上司:2008/02/29(金) 18:59:31
合計数値くらいグラフに表示するのが当然だろ
なにいってんの?
958 :
役員:2008/02/29(金) 19:28:46
合計数値を書き込まないような奴は我社にはいらない。
959 :
社長:2008/02/29(金) 19:35:59
エクセル?
なにそれおいしいの?
960 :
名無しさん@そうだ選挙にいこう:2008/02/29(金) 19:38:28
つまんねー
FALSE
↑ファルス? フォルス?
フォルス
どっちでもいいんじゃね
フェイルゼ
ファールズだと思ってた・・・
966 :
名無しさん@そうだ選挙にいこう:2008/02/29(金) 22:23:18
バルス!
ワロス…
ファルス、フォルス、フォールスあたりを使う人が多い。フェイルス、フェルス、フェールスなどと言う人もいる。
俺の周囲ではフォルス派がやや優勢。
Wikiにはフォールスと書いてある。
英語の発音は、アとオの中間に、ほんの少しだけ伸ばす。ファ-ルス。
こういうのってJISとかIBM用語では決まってるんだっけ?
969 :
946:2008/02/29(金) 22:45:22
>>948 ありがとうございます!できました。
詳細設定の右のスクロールバーに気がつかなかったんすよ。orz
superiorは?
スペリオール 雑誌である。