Excel総合相談所 80

このエントリーをはてなブックマークに追加

Excelに関する質問は、ここで!

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

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

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

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

前スレ
 Excel総合相談所 79
 http://pc11.2ch.net/test/read.cgi/bsoft/1234024786/

▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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 OSの種類         .】 Windows Vista SP1
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel セル 空白 矛盾 エラー 、など

少しお聞きいたします。

左のセルに数値が入っている時のみ左上の値と計算した値(例では減算)を表示したいのですが、
「矛盾した数式」とエラーが出てしまいます。
エラーを無視する以外で、エラーが出ない方法はありませんでしょうか?

例:
 =IF(ISBLANK(E5),"",E5-E4)

およそ、E5が空白の時に、IFを評価する前に
E5-E4も評価される(空白-数値)ためエラーが起きていると思われるのですが、

 =IF(ISBLANK(E5),"",IF(ISBLANK(E5),0,E5)-E4)

などとやっても同様のエラーが出てしまいます。
9名無し変更議論中@詳しくは自治スレへ:2009/02/26(木) 15:27:22
=IF(COUNT(E5,E4)=2,E5-E4,"")
>8
例の式であってるよ。
IFを評価する前にE5-E4も評価されるなんて事はない。
後出し条件があるんだろ?
>>8
スペースが入ってるんじゃないの
CTRL+A→CTRL+H、半角スペースと全角スペースを全部何も無い状態に置き換えれば
うまくいく・・と思う
矛盾した数式、ってあれは前後と計算式が違う時に教えてくれるだけのやつだろ?
無視すればおk
おお、2007にはこんな「小さな親切大きなお世話機能」
が又追加されたのか。知らなかった、、、
エラーチェックルールのチェックを全部外しておこう。
だいたい>>10のいうとおり両方評価なんてしてないが、仮にVBAのクソIIf関数みたいに両方評価してもエラーにはならんわな。
空白は加減乗除の計算するときは0扱いだからね。
こんなのできますか先生。。

左のセルに次のいずれかの文字列=(か or く ) が含まれていた場合
その左にあるセルをここにコピーする

イメージ図

A B C
1 あ か あ       か が含まれていたのでc1に あ をコピー
2 い き
3 う く う       く が含まれていたのでc3に う をコピー
16名無し変更議論中@詳しくは自治スレへ:2009/02/26(木) 20:02:07
>>15
C1=if(or(a1="あ",a1="く),a1,"うんこ")
17名無し変更議論中@詳しくは自治スレへ:2009/02/26(木) 20:02:31
あかくじゃない場合は空白がいいなら
C1=if(or(a1="あ",a1="く),a1,"")
やってみます(`・ω・´)
セクセル『入力した数式は正しくありません』

(´;ω;`)?
セクセル・・・
21名無し変更議論中@詳しくは自治スレへ:2009/02/26(木) 20:32:51
>>19
C1=if(or(a1="あ",a1="く"),a1,"")
ごめんねお父さん今手元にセクロスないんだ
これでokと思う
最初のC1は入れちゃだめ
あと、自分で1文字ずつ入れるんじゃなくて掲示板のレスをそのままコピペ
C1に
=IF(OR(B1="か",B1="く"),A1,"
っていれたら

できたんぼぉおおおおヽ(*´∀`)ノ

>>16
>>17
>>21
ありがとうございますッ


>>お父さん
肉じゃが作っておきます(`・ω・´)
それでいいの?「含まれる」だとこういう式になるような気がするんだけど
=IF(NOT(ISERR(FIND("か",B1))*ISERR(FIND("く",B1))),A1,"")
>>24
え・・・
やってきます(`・ω・´)ゞビシッ!!
>>24
わー!よーく見たらこれでした(°Д°)

=IF(OR(B1="か",B1="く"),A1,"
だとこの文字!って限定してますね

先生ありがとうございますッ
>24
NOTでひっくり返さなくても、後ろの順番ひっくり返せば、、、
ところで最近は、ブーリアンの乗算は、流行なのかね。
28名無し変更議論中@詳しくは自治スレへ:2009/02/26(木) 21:18:15
流行ですね
あとchoose・MID・sin辺り組み合わせる形もこのスレの流行
新鮮でいいんじゃないかな。俺も結構好きだよ
パズル好きな老人に大人気ですよ
見ていて恥ずかしくなるけど我慢してね
>26

乗算するくらいならC列は”か”、D列は”く”で抽出してE列
に両方だす方が後々の為だよ!


といらぬおせっかいをしてみる。
>>9
状況変わらずでした。

>>10-14
ポップアップでは「このセルは列の数式と矛盾しています」と出ています。
!マークをクリックすると、「矛盾した集計列の数式」とあります。

エラーのチェックオプションから「テーブル内の矛盾した集計列の数式」をはずすと
エラーがでなくなりましたが、これはどういう意味なんでしょうか?

ヘルプを見ても、

> テーブル内の矛盾した集計列の数式 オンにすると、
> 列の数式またはテーブルと矛盾する数式や値を含むセルをエラーとして扱い、
> 警告を表示します。

とあり、よくわらかんのです・・・。
32名無し変更議論中@詳しくは自治スレへ:2009/02/27(金) 00:16:27
>>31
そのファイルをアップロードするんだ
338:2009/02/27(金) 00:21:48
>>31
あああ、>>8の件解決できました。
>>12の言うとおりでした。
テーブルの最初の行を初期値にしていて、その下の行と数式が異なっていたためです。
数式を統一したら、エラーがなくなりました!


オンラインだと下記ページに解決法があったようなのですが、実は見てもよくわからんかったですw
もうちょっとわかる書き方してほしす

数式エラーを確認して修正する - Excel - Microsoft Office Online
http://office.microsoft.com/ja-jp/excel/HP100662551041.aspx
348:2009/02/27(金) 00:28:58
礼が遅れました。
助かりました。ありがとうございました。
35名無し変更議論中@詳しくは自治スレへ:2009/02/27(金) 11:12:29

【1 OSの種類         .】 Windows XP SP1
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 EXCEL 文字列 含まれる場合 
                 IF AND COUNTIF ISERROR FIND

A1に、鈴木という文字列が含まれているなら「バラ組」、
佐藤又は山田が含まれるなら「ユリ組」、
川口又は佐々木が含まれるなら「サクラ組」、
それ以外は空欄
と表示させるにはどのような記述をすれば宜しいでしょうか。

バラ組を表示させることはできたのですが、
=IF(COUNTIF(A1,"*鈴木*"),"バラ組",IF(COUNTIF(L6,"*佐藤*"),"ユリ組",""))

佐藤又は山田 とうい条件が上手く付けられません。
ご教授いただけますよう宜しくお願いします。
OR関数
たしかに「または」という形式にしたければOR関数だね
でも4つくらいならIF四連でも
=MID("    バラ組 ユリ組 ユリ組 サクラ組サクラ組 ",FIND(A1,"    鈴木  佐藤  山田  川口  佐々木 "&A1),4)
別案 配列とLOOKUP、CHOOSE
川口山田助て名前ならどうなるんだべ。
>>38
A1に、鈴木という文字列が"含まれている"なら「バラ組」、
なぜにL6
まさかと思うけど、1つのセルに複数の名前を入れてんのか
>>35
IF(OR(COUNTIF(A1,"*佐藤*"),COUNTIF(A1,"*山田*")), 以下略
または
IF(COUNTIF(A1,"*佐藤*")+COUNTIF(A1,"*山田*"), 略
44名無し変更議論中@詳しくは自治スレへ:2009/02/27(金) 13:49:27
>まさかと思うけど
>まさかりと思うけど
46名無し変更議論中@詳しくは自治スレへ:2009/02/27(金) 14:03:18
くだらん自己満足のクソ回答ご披露した上に自分のミスを認められずに
「まさかと思うけど」と後出ししたお前が悪いみたいに素で思えるのは凄い才能ですなあ
間違いにに気づいてもごめんなさいも言えないで誤魔化そうとする厚かましさも素晴らしい
いやはや、有能な回答者様ですなあ
4735:2009/02/27(金) 14:25:12
>>36.37.43様のor構文にて解決できました。
orにかかる()がだんだんごっちゃになってわからなくなっていました。
>>43様ご丁寧に具体的な記述頂き、ありがとうございました。

ひとつのセルに複数の名前が入っているわけではありませんが、
ひとつのセルに名前と他の文章が入っている状態ですので、
今回は>>38様の例で解決は出来ませんでしたが、とても勉強になりました。

質問分が分かりにくくて勘違いさせて申し訳ありませんでした。
>>41様のL6についても、私のコピーミスです;;すみません)

ご回答頂いた皆様ありがとうございました。m( _ _ )m
見えない敵を長文で叩いてみた
エクセルでのマクロの保存(?)方法を教えてください。
マクロ付きのエクセルファイルを、他のPCにコピーして起動させると実行できません。
ツールバーからマクロを選択すると、マクロ名が異なった名称になっており編集すらできません。
(存在しないマクロ名が選択肢に表示されていると思われます。)

具体的には、"AAA.xls" のファイルに "BBB" というマクロ名で登録しましたが、
他のPCで "AAA.xls" を起動させると "AAA.xls!BBB" というマクロ名になります。

マクロをエクセルに保存するときの問題ではないかと思って、
エクセルのスレに質問させていただきました。よろしくお願いします。

【1 OS】 WindowsXP
【2 Excel Ver】 Excel2003
【5 検索キーワード 】 マクロ名 参照が正しくない コピー
>>49
それはマクロではなくアドインでは?
自分で作ったマクロなら自動的にxlsファイルに保存され、他のパソコンにも簡単にコピーできます。
51名無し変更議論中@詳しくは自治スレへ:2009/02/28(土) 02:52:42
>>49
ALT+F11とかALT+F8とかこの辺触ってみては
あとエクセルの仕様上、二つのブックを開いた上体でマクロの編集はちとやりにくいと思う
必要なマクロをコピーしたら一方は閉じると良い
52名無し変更議論中@詳しくは自治スレへ:2009/02/28(土) 05:21:38
ワードとエクセルをまったくつかえないのですが、転職に最低限なので使えるようにしたいのです。
ワードエクセルの簡単な操作ができる方で募集されてり場合そのレベルに達するまで毎日4時間練習したとして何ヶ月くらいかかりますか?
>>52
その会社の最低限がどの位から知らないが、1時間も練習すればOK
>>52
最低限てことなら入門書2冊(WordとExcel各1、バージョンだけ確認して一番安いやつ)ブックオフで買って、
第一章だけ読みながら実際にやってみる。それで十分。
買い物の時間入れて1日で完了。
この時期になるとこういう質問多いよな
会社が必要とするレベルは会社によって違うなんて当たり前のことすら
解らない奴を採ってしまった会社が気の毒でならない

知識の不足ではなく根本的に頭の回転が悪いタイプだから
鍛えてもどうせ使い物にならないだろうし、ほんとご愁傷様だ
想像や妄想なんて書く必要ないのに、それもわからないのは根本的に頭の回(r
ほんとご愁傷様
>56

俺は>55に同意するけどな。
テンプレにもあるだろ・・・と思ってテンプレ見直したら、

>・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。

なんだ?「紹介以来はスレ以外」ってw
手持ちのログさかのぼったら64からこうなってるのねw
単に依頼の誤変換だろ
以外じゃなくて違いもな
常識のない人間を研修で使えるようにするのが面白いんじゃないか。
ぶっちゃけ、最近の新人はマジでひどいよ。
事前に学習する意欲のある>>52はかなりマシな方。

という話はスレ違いだからやめろ。
新人よりじじいがひどいって。
さんざん叩かれてもクソ回答続けるやつもいるしな。
今カイシャじゃジジイ叩きが流行ってるのかいな
自分と考えが違う奴を、すぐにジジイとか厨とか言い出す可哀相な子が多いだけ
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい・いいえ
【5 検索キーワード     】 オートフィルター

だれか2003でオートフィルターからコピペの動作を教えてくれ。
A列から"A"だけフィルタリングして、同じシートのB列にタイトルも含めてコピペするとB列には上から詰めて貼りつく?
2007ではちゃんと詰めて貼りつくが2003はどうでしょう?
>>65
何も特別なことしなくても、ちゃんと詰まって貼り付くよ
6749:2009/02/28(土) 15:56:05
>>50 >>51
回答ありがとうございます。
マクロは "ALT+F8" で作成し,"ALT+F11"のエディタで編集しました。

質問の仕方が悪かったのですが、
他のPCでエクセルファイルを開くと、マクロが動かなくて困っています。
(自分のパソコンでは正常にマクロが機能しています。)
"ALT+F8"で開いてみると、登録名が変な名前に変わってしまっていたので
保存の方法がおかしいのかなと思った次第です。

VBAの編集の問題の気がしてきたので、本を購入して勉強してみます。
68名無し変更議論中@詳しくは自治スレへ:2009/02/28(土) 16:01:56
http://www.gaitame.com/market/img/seisakukinri.gif
エクセルで上のようなグラフを書きたいんですが、
どうすれば良いですか?

折れ線グラフだと、少し違うグラフになります。
(斜めの部分が出来る)

WinXP SP2
Office2007
VBA 否
69名無し変更議論中@詳しくは自治スレへ:2009/02/28(土) 16:53:47
こんなグラフを作りたいのですが可能でしょうか?

設定
 毎月特定の道路の一定箇所において「ひび割れの数」と「その程度(低・悪の2段階)」を調査しています。
 そこで、横軸に調査月日、縦軸に調査位置毎の「ひび割れの数」をバブル図で描きました。
 このグラフで、調査場所毎の「ひび割れの数」をバブルの大きさで表すことができました。
 しかし、このグラフの中には「ひび割れの程度」の情報が入っていません。
 そこで、バブル図のバブルの代わりに円グラフをグラフ上にプロットできないかと考えています。
 つまり、円グラフで「ひび割れの程度」の割合を表示し、かつ円グラフの大きさがバブル図のように「ひび割れの数」を表すようにしたいのです。
 
イメージが伝わりにくいと思うのでPPTで完成理想型を作ってみました。
こんな感じにできますでしょうか?
ttp://ttr.from.tv/bbs/up/img/1225284313/393.gif
>>68
散布図。ただし一発で簡単に作る方法はない。
線を折り曲げるために、作業列か補助データが必要。
どこで折り曲げるかによってデータの作り方が変わってくる。
その画像は補助データが必要なタイプ。
文章だけで説明するのは大変なので、ここの下の方を参考に。
ttp://ameblo.jp/xls/entry-10183164939.html
>>69
グラフの上に円グラフを重ねて、円グラフの背景を透明にする
>69

考え直した方がいいと思うけどな〜と余計なことを言ってみる。
7368:2009/02/28(土) 18:03:24
>>70
どうも。
グラフの見た目以上に面倒ですね・・・w
表A
商品コード 商品名 数
001      果物  1個
002     お菓子  2個
001     果物   3個
004     雑貨   4個
002     お菓子 5個 
008     文房具 3個 ←初めて入力されたコード
004     雑貨   2個


表Aに出たコードの商品名を別表に列記する関数はありますか?
表Aに毎日いろいろな種類のコードを入力していき、今までなかったコードが書かれたら
表Bに加えるように出来るでしょうか?。
100種類ぐらいある分類から、表Aに何が何回出てきたのかを別表で知りたいです。
100種類のデータベースは用意してあります。

表B
コード 商品名 
001   果物  
002   お菓子 
004   雑貨 
008  文房具 ←自動的に加わる

ピボットテーブルで
>>69
理想型通りとはいきませんがピボットグラフを試してみてください。
正しい方法が身につきますよ。
7765:2009/02/28(土) 18:57:44
>>66
トン
やっぱそうだよね。
どっかにうまくいかないような書き込みがあったもんで違うのかと思ったよ。
7869:2009/02/28(土) 21:53:24
>>71
どうもです。
円グラフを一つずつ作成はできるのですが、円グラフの大きさをうまく設定できないのです。
総数10と30があった場合に、円グラフの大きさを3倍にするのが容易ではないこと、
またデータが多数あること、他の場合に応用が利きにくいことなどから困難だと考えております。
やはりそういう方法しかないでしょうか?

>>76
ピボットグラフはあまり使ったことないのですが、バブル図は作成できないように思うのですが、どういう方法がよいでしょうか?

レスいただいた方ありがとうございます。
>>78
ピボットグラフはこんな感じ。
http://uproda.2ch-library.com/lib109969.png.shtml
http://uproda.2ch-library.com/lib109970.png.shtml

「ひびわれの数」と「その程度」を調査するという目的は満たしていると思う。
>>78
円グラフの直径はVBAを使えばピクセル単位で指定可能
81名無し変更議論中@詳しくは自治スレへ:2009/02/28(土) 22:38:05
エクセル2003、OS:XP

エクセルでセルを1つ選択してる状態で「右クリック→セルの書式設定」で、
そのセルに書かれてる単語を均等割り付けをしようとすると、
「インデント」という風に書かれていて、数字を大きく設定すると幅が狭まり、
逆に小さく設定すると、幅が広がります。
これはどのような基準で数字に対応して広さが決まるのでしょうか?
また、ワードのように文字数やmmで指定することはできないのでしょうか?
>>80
できるからといってやっちゃうのがVBA厨。
中途半端な個性はブサイクなのだ。
>>81
この場合のインデントは、数字を1増やすごとに幅11ポイントの余白が左右に追加されていきます。
この分を差し引いた残りが単語間で等分されます。
Excelではインデントの段階を変更する方法はありません。
余白を微調整したい場合は半角スペースを並べ、さらにスペースのサイズを変えるしかありません。
俺84だけど>>82
8681:2009/03/01(日) 00:14:24
>>83
d
やっぱワードと同じようにはできないのね。
はじめて事務職についたんだけどワードはどうでもいいけどエクセルは完璧に使えるようになった方がいいと言われた。
とはいったもののどこまでやればいいのかがよくわからないんだよね自分の場合。やっぱ学習ソフトとか買ってやった方がいいのかな?
88名無し変更議論中@詳しくは自治スレへ:2009/03/01(日) 10:34:01
会社によって「使えるように」のレベルが全然違うからなんとも言えないな。
なれないヤツでも2,3ヶ月ヘルプ見ながら使いまくると自然と覚えるけど、、
チンケな上司だと その2,3ヶ月間 嫌味を言って自分のストレス発散に使ったりするぞ
MOSの教科書でも一通り読んでおけばいいんじゃね?
あとは職場に合わせた使い方になるだろうから、そこは教えてもらうしか無いさ
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 97
【3 VBAが使えるか    .】 ?
【4 VBAでの回答の可否】 ?
【5 検索キーワード     】 Excel ウイルスバスター 設定の変更

先月ウイルスバスター2009をインストールしました。
今日、何年も開いていなかったエクセルファイルを開いたのですが、
ウイルスバスターのポップウインドウが出ました。http://kissho.xii.jp/1/src/1jyou66738.png
エクセルがIEの設定を変更しようとしているらしいのですが、
原因や直し方が分かりません。
エクセルにはそういう仕様があるのですか?
メニューバーの一部が非表示になってしまったんだけど、どうやって戻したら
ええんじゃろか?
つgoogle
テンプレ使ってたらもう少し丁寧な回答が得られただろうにねw
94名無し変更議論中@詳しくは自治スレへ:2009/03/02(月) 23:49:05
excel2007 vista vba=ok vba回答=ok
検索ワード=「enable macros」「信頼できる」「パスワードの設定」他多数

質問 読み込みのパスワード設定と信頼できるフォルダー設定とが両立した状態に
どうやったらできますか。
パスワードを設定した場合、どうしても、信頼できる場所にあるマクロを有効な状態に
できていないので、聞きました。
【1 OSの種類         .】 Mac OS X(10.3.9)
【2 Excelのバージョン   】 Excel(11.3.3 Office for Mac2004)
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】
↓この辺や本で色々と・・・。
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html


以前名前の表示変更でVLOOKUP教えてもらった者です。
あれ以来他のDB作成でもVLOOKUPが目茶苦茶重宝しています(前回項目を伝票番号で引っ張るとか)。
その節はありがとうございました。

今回も同じような内容なんですが・・・。
csv用意しましたので見てやって下さい。
http://kissho.xii.jp/1/src/1jyou66978.csv.html

A列には入稿データがあり、F列には手打ちで作った「名字データベース」があります。
B列には関数で「F列の名字を検索し、それに引っ掛かったら、A列の名字と名前がスペースで区切ったものを表示」というものを作りたいんですが、これって関数のみで出来ますでしょうか?

1セルで出来るとは思っていないので、C列とD列で名字・名前を分けた後CONCATENATE等で合体させる(空白1文字間にはさんで)とかでもいいんですけど・・・。

また、名字データベースの中で引っ掛からなかったセルの色を「条件付き書式」で変えるといった事は可能でしょうか?

色々質問を詰め込んでしまいすいませんが、よろしくお願いします。
96名無し変更議論中@詳しくは自治スレへ:2009/03/03(火) 17:07:02
A1セルに「=B1+C1」という数式を入れています。
D1セルに「=B1+C1」という数式を簡単にコピーする方法はありませんか?
普通にコピーすると「=E1+F1」になってしまいます。
97名無し変更議論中@詳しくは自治スレへ:2009/03/03(火) 17:12:01
A1セルに「=C1/D1」
A2セルに「=C2/D2」

A100セルに「=C100/D100」
が入っています。

A1からA100セルの「C」の文字を「F」に一気に変える方法を教えてください。
>>97
範囲選択して置換
文字列の置換は数式の中のセル名や関数名などにも適用される
>>96
いつでもそのままコピペできるようにするには絶対参照で式を作っておく
1回だけなら数式バーの中でコピペ
100名無し変更議論中@詳しくは自治スレへ:2009/03/03(火) 20:13:14
>>95
森本 強 なのか 森 本強
なのか、人間なら一発で分かるがコンピュータはそういうのがかなり苦手なので、実質無理
webエンジンなんかだと森本 強のほうが森 本強より多いとデータベースから判断するらしい

では、実用的な解決策
B2=LEFT(A2,C2)&" "&RIGHT(A2,LEN(A2)-C2)
C2以降に苗字の字数を入れる
スペースは半角なので全角がよければ直してくれ
あとCONCATENATEより&の方が早いと思う。どっちでもいいけどね。
>>95
うーむ・・・なかなかすぐには解法を思いつかないけれど
森田、森本、森・・・これらをどうやって区別するかが肝かもしれない

ひっかからなかったのを条件付書式っていう件は
ひっかからなかった時にエラーになるような計算式であれば条件ISERRORでOK
その計算式がIFだったりしたらFAILEDの返り値でも判断させればいいかも
102名無し変更議論中@詳しくは自治スレへ:2009/03/03(火) 20:20:03
>>101
データベースに森田がなかったとしても、森といれればどうやってもひっかかってしまう
無理なものは無理
103101:2009/03/03(火) 20:44:10
>>102
無理で簡単にあきらめたら終わってしまう
そこをどうするか考えるのが「工夫」というものさ
たとえばE列に1から順に数字を振って昇順・降順という順番を作り出す
そうすれば先に森田で調べて、森田でなければ森本で調べ、そうでなければ森にする・・・
ようなことが可能になったりはしないだろうか?
もちろんVBAなんかには頼らない
森 田津雄 とか森 本子がいたらどうすんだ?
105名無し変更議論中@詳しくは自治スレへ:2009/03/03(火) 21:08:27
>>103
だから無理だって・・
それに検索エンジンがどーちゃら書いたけど>>104みたいな例だと間違いなく森田 津雄になるしな
>>100の後半で実務上は最適解だと自分でも思う。ある程度のセンスがあればこの問題は解けないと判断できるよ
それまで君もガンバレ
ここまでに提示された条件では自動でやるのは不可能。
候補が複数あった場合は色を付けるとか選択フォームを表示するとか、
人間が介入しやすくなるような工夫をするしかない。
もう少し処理の目的とか、データの全容を見ないことには。
データ目の前にあるだろアホか
>>95
まず「名字のデータベース」をH列にうつす。
で、以下のように数式と条件付書式を設定する。

A列の書式設定・・・数式が[=D2=""]の場合、セルの色を変える
B列 =IF(ISERROR(VLOOKUP(LEFT($A2,1),H:H,1,FALSE)),"",LEFT($A2,1))
C列 =IF(ISERROR(VLOOKUP(LEFT($A2,2),H:H,1,FALSE)),"",LEFT($A2,2))
D列 =CONCATENATE(B2,C2)
E列 =SUBSTITUTE(A2,D2,"")
F列 =CONCATENATE(D2," ",E2)
F列の書式設定・・・数式が[=LEN(A2)+1<>LEN(F2)]の場合、セルの色を変える

これで、名字データベースに引っ掛からなかった入稿データはA列に色が付き、
複数の名字に引っ掛かった入稿データはF列に色が付く。
F列に色が付いたときは、B・C列のうち、間違った名字を消せばOK(ここは手作業orz)

ただし、サンプルの例で仮に「森下かおる」という入稿データがあった場合、
「森 下かおる」になってどこにも色が着かないという弊害が…。
しかし人名の性質上これはどうしようもない。
いやなら最初から姓名分別しとけって話。

なお、上記の数式設定は「名字データベース」が2文字以下の名字で構成されている場合のみ有効です♪
3文字以上の名字が含まれている場合には、D列で左3文字取り出して、E列で左4文字取り出して…
ってわかるよね?w
どうかな?

109108:2009/03/03(火) 23:38:20
あと肝心なことを忘れてた。
H列はもちろん昇順で並び替え。
110名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 00:03:55
>>108
>いやなら最初から姓名分別しとけって話。
だから姓名分別するためにどうすればいいかって話なんだろ。そしてここが焦点でこれを解決できないならなにもできないのと同じ
>>107
これが全容?
たった10件もないんなら手作業で修正して終わり
考える前に終わってる
名字の辞書があるなら最長一致で並べ替えてmatchでいけないかな?
113名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 00:28:24
>>112
>>104が無理だって言ってるでしょ
>>110
何もしない人と同じにして欲しないわw
115名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 01:01:44
小沢さんの秘書が捕まったってさ
116名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 04:55:18
A1セルに「=C1+D1」
A3セルに「=C3+D3」

A999セルに「=C999+D999」
と1行おきに数式を入れています。

E1セルに「=A1」
E2セルに「=A3」
E3セルに「=A5」
E4セルに「=A7」

と入れたいときに、一気にやる方法はありませんか?
>>116
一気じゃなくて3気ぐらいかかる方法なら…
E1に「A1」
E2に「A3」
と入れてオートフィル。最後に「A」を「=A」に置換。
最初の「=C1+D1」の場合はこの手が使えないから、文字列で数式を生成して値貼り付け。
あるいは数式を工夫して同じ結果が出るようにする。
A1=OFFSET(A1,ROW()-1,2)+OFFSET(A1,ROW()-1,3)
ごめん
質問よく読んでなかった
後半は忘れて
119名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 06:13:30
>>117
ありがとう
120名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 07:58:50

  ,r‐'
 ,l゙     l゙  .l゙_,,-.,〆|                         、、 i、 
 |    ._レ-''|゛  .|  |    イ'゙゙,! .し--、    ,、.,‐/   ,、  ,.| |′|    |.'゙゙゙゙',!
: ′  ‐'^.|  │  |  |    .l゙ ._.| .| ._,.|    .,/ ,i´.゙l、 .,/  イ,,,二,,,,=―丶゙|゙'''ー″
      i_x"   |'"l゙    .|'',,,,|、| .″|   .ノ  ,l゙ .-―彳    .| .,!     5''―ーi、
      | i,, |  _ | .|    .| 、 `゙''‐ノ  ./  .,l゙  .,!    .''''゙l゚”′    |.,,,,,,,,、| 
      |,,,,,―'″.レ‐l゙    .| .,!¬'',! /    .,l゙| 、 l゙―ー  ,,,,,广 ._,、   .[`  `.l゙ 
    `゙゙゙゛  ,  ,| .l゙    .| l゙'''''' | ,!    ./,| .jヽl,,,,,,,,,,,-. ,,,li厂゙^    |゙''''ー / 
      ,‐  .ト  " l゙    ." 、,,_ ".l゙     .l゙ l゙      '"` .|'-、    .,″_,,,,,l′ 
      /                      l゙ ′        | ‘'-   `"゛、 `
                                      l゙     .,,i´  ヽ 
    ゙l             、             
    .゙l            │      ''――‐,!''" 
     ヽ、    ._.     |             ,/`              
      `'-- .,/`      .|         ,l゙             | 
          /        │         |                l゙ 
       ,/            |         \、.     ,,,,,,__,,,l"   
      {       ,、  `''''''′                    
       〜--―¬''''" 
12195:2009/03/04(水) 09:07:03
すいません、帰ったら自宅が規制されててレスできませんでしたorz
早速のレスありがとうございます!

で、すいません、質問文考えるので頭いっぱいで「森」等1文字のものについて言及するの忘れました。
皆さんお気付きのように名字は大抵2文字ですが、1文字や3文字のもあり、特に「森」「金」「東」あたりが結構困りどころだったりします。

何はともあれ、計算で全ての名前をやろうとは考えておりませんでした。

件数が多いため、なるべく自動化できる部分は自動化させ、手動でやらねばならない部分に関しては発見をしやすくする方向で考えておりました。

実質的に>>100で書かれた書式で分けた後、データベースにない場合セル色を変える・・・といった処理が良いかと思いましたが、>>108で何やら凄いのを考えていただけたようで・・・。

これならデータベースが増えれば増えるほど判定の確率が上がるし、D〜F内で大体おかしい奴も拾えそうなので、かなり使えます!
試しに今実際に使う5000件ほどの名前を抜粋して入れてみましたが、相当楽になりそうです。
ありがとうございます!!
12295:2009/03/04(水) 09:07:52
>>106,111
某官公庁の下請け(パート)なんです。
全国から集まってくるデータなんですが、集計の入り口できっちり書式を固定化できていないため、データを整形して送り返すという・・・。
ちなみにデータは一事業所から数万件分のものが入って来ており、手作業でやるのはとても大変なんです。
今まで紙ベースでやっていた作業(未だにこれがメインですが)を「若い人がいるし」という分けの分からない理由でパソコン導入され、デジタルも扱うようになり、パート達で無理矢理動かしている現状です。
123名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 09:26:58
日本終わり過ぎてるなこりゃw
124名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 09:45:55
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 フィルタオプション ハイパーリンク

摘出前のデータにハイパーリンクをファイル指定で設定しているのですが
フィルタオプションで<指定した範囲>で別シート(同シート)に
摘出した時そのハイパーリンクが無くなってしまいます
これはどうにもならないのでしょうか?
摘出後にマクロでファイルをハイパーリンクさせてもいいと思ったのですが
フォルダが複数に分かれているため完全にリンクを張りなおす事が
困難になりました
なおデータ数は50000近くあります
作業列にリンク先を文字列として入れておくのがわかりやすくて現実的かなあ。
リンク先がわかってればマクロで再設定も簡単にできるし。
あと
× 摘出(てきしゅつ)
○ 抽出(ちゅうしゅつ)
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可能であればなしで
【5 検索キーワード     】 集計 UNIQUE UNIQ SORT

名前,増減
りんご,5
みかん,7
りんご,-1
なし,1

というような表があって、「りんご」「みかん」「なし」を順不同で抽出し入力規則のドロップダウンに設定したいのですが
入力規則に$A$1:$A$1500と入れると、
「名前」「りんご」「みかん」「りんご」「」「」「」・・・
となってしまいます。SORTやUNIQが無いので入力規則の制限ができないのですが、何かいい方法はないでしょうか?
>>126
ユニークな一覧が欲しいなら作業列にコピペして「重複の削除」
>>127
ありがとうございます。
126に書き忘れたのですが、表の要素は順次増えていくので
できれば自動で行いたいと考えています。
129名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 13:22:36
>>125
ありがとうございます
それで挑戦してみます
【1 OSの種類         .】 Windows Vista SP1
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 条件付 書式ルール 星 など

あるセルに1〜5まで数字がありまして、
その内容に応じてそのセルに★(文字です)を並べたいと考えています。
1と入力すると表示は、★☆☆☆☆
5と入力すると表示は、★★★★★
といった感じです。

条件付書式のプリセットに5段階のアイコンもあったのですが、どうも見づらく感じています。

条件付書式を使う、まではわかるのですが、
どう設定すると実現できるものでしょうか?
>130

つLEFT
>>128
データの追加に従って全自動でリストを書き換えていきたいならVBA
>>130
「指定の値を含むセルだけを書式設定」で範囲を「=1」から「=1」にして書式のユーザー定義で「★☆☆☆☆」
これをルールの追加で0〜5の6種類入れる。

ところで作業列使うのじゃダメ?複雑な条件付き書式は入力も修正も大変だよ。
=MID("★★★★★☆☆☆☆☆",6-A1,5)
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 文字列 シャッフル

「あいうえお」というセルの文字の並びをシャッフルして、例えば「えあういお」などにすることは可能でしょうか。
可能ならばそのやり方をよろしくお願いします。
135名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 19:42:49
>>130
こういう時ぐらいREPT関数を使ってあげてください・・
=REPT("★",A1)&REPT("☆",5-A1)
俺からの・・最後のお願いです・・どうか・・使ってあげてください・・
>>134
RAND関数を設定したセルを5つ用意する。
その5つのセルをランク関数で順位づける。
その順位を引数としたCHOOSE関数
=CHOOSE([順位のセル参照],"あ","い","う","え","お")を5つ作って、
これの結果をCONCATENATEすれば出来上がり♪
F9で乱数が更新される!
あ、CHOOSE関数は下記に変更…w

A1に「あいうえお」などの5文字が入っているとして、
=CHOOSE([順位のセル参照],LEFT($A$1,1),MID($A$1,2,1),MID($A$1,3,1),MID($A$1,4,1),RIGHT($A$1,1))
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 株 損益 グラフ

株の取引ごとの、日付、損益が記載されたエクセルデータがあるのですが、
営業日ベース、週ベース、月ベースでの損益グラフを作りたいと思っています。
やりたいことははっきりしているのですが、式が書けません。
1.列:日付で同じ日付、同じ週、同じ月で損益金額をSUMする
2.計算結果をメモリ付きでグラフにする。

時間帯ごとの損益縦棒グラフも作りたいのですが、上記の計算の仕方を教えていただければ自分でできそうです。
当方グラフもまともに作ったことがありません。
よろしければご教授お願いします。
139名無し変更議論中@詳しくは自治スレへ:2009/03/04(水) 23:03:30
>>138
ピボットグラフ
もはやこれ以上言いようが無い。
とりあえず最低限の棒グラフぐらいは作れるようになっとけ
後はぐぐれ
140138:2009/03/04(水) 23:20:21
ありがとうございます!
便利なものがありますね。
>>90の症状について答えを教えてください。
142名無し変更議論中@詳しくは自治スレへ:2009/03/05(木) 00:27:29
>>141
VBAを使えば出来る
としか
そのエクセルファイルヲアップロードすれば一発で解決するでしょう
【1 OSの種類         .】 WindowXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 EXECL 電源
エクセルを使って毎朝8時にPCの電源をONにし
毎晩20時にPCの電源をOFFにするようなことはできますか?
できれば外部機器は使わない方向でお願いします
ネタとしか思えないけど、一応真面目に答えておくか

>>143
出来ない
>>143
ただしVBA使えば電源OFFだけはできる
VBA有りでM/Bが対応していれば電源ONも出来るよ
しかしVBA不可である以上、回答としてはどちらも出来ないとなる
147130:2009/03/05(木) 10:39:51
ありがとうございます。

>>131 >>133 >>135
作業列増やすのは最終手段にしたいなあと思ってました。
確かに一番簡単な方法ではありますね。

>>133
ああ!書籍のユーザー定義で文字列をいれてしまえばいいのか。やってみます。
【1 OSの種類         .】 WindowXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 EXCEL 文字 置換

関数使用して、セル内の文字を別途指定した文字に置換する事は可能でしょうか?
具体的にはA列に社名、B列に住所、F列に検索対象、G列に置換対象が、

検索対象→F1(株)、F2(有)、F3−、F4―、F5ー、・・・等
    (株や有は外字、以下ハイフン、ダッシュ、のばし棒?)
置換対象→G1(株)、G2(有)、G3-、G4-、G5-、・・・等
    (株や有は全角文字、以下半角の-)

このように入っており、C列、D列にそれぞれ置換後の社名・住所が入るようにし、置換がなかった場合はA列・B列の内容をそのままを表示したいんですが。

よろしくお願いします。
>>148
SUBSTITUTE関数でいけんじゃね?
150148:2009/03/05(木) 13:16:26
>>149
なんとなく

SUBSTITUTE(A2,VLOOKUP(A2,$F$2:G20,2,0),,,,,

こんな感じかと思ってやってみたんですが、途中で混乱しました・・・('A`)
151148:2009/03/05(木) 13:27:48
>>95を参考にcsv貼ってみました。
ttp://kissho.xii.jp/1/src/1jyou67274.csv.html

C列とD列をこんな感じに置換させたいんです。
SUBSTITUTEのネストは7段までだから、作業列をいくつも使って順に置換するしかないな。
こういうのはVBAの定番ネタなんだが。
CSVで保存して別のソフトで一括置換するって手もある。
153148:2009/03/05(木) 14:10:39
>>152
ネスト・・・ググってみましたが、「関数の中に入れる関数」って事でいいんでしょうかね?

>作業列をいくつも使って順に置換
つまりはサンプルの住所の例で言うと、

D列→B列の内容を「−(全角ハイフン)」で検索し「-(半角ハイフン)」に置換
E列→D列の内容を「―(ダッシュ)」で検索し「-(半角ハイフン)」に置換
F列→E列の内容を「ー(のばし棒)」で検索し「-(半角ハイフン)」に置換
 ・
 ・
 ・
と検索対象DBの中身をひとつづつ検索・置換で引っかけて最終的に答えが出る感じでしょうか?

つまり、ひとつのセルで検索・置換するのは不可能?

別ソフトに関してはシステム部の用意したソフト以外インストールできないんです・・・('A`)
>>153
置換前・置換後のペアが7組までなら1セルで置換できる
14組までなら2セル、21組までなら3セル必要
155148:2009/03/05(木) 15:52:18
>>154
ありがとうございます。
どちらにせよ検索キーが多くなればなるほどセル数増やさないとダメなんですね・・・。
IFとか他の関数とかを使って、
そのSUBSTITUTE7組制限をもうちょっと突破とかできんものかね?
検索したらこんなん出てきた
セル範囲の名前定義でSUBSTITUTEの政権突破
ttp://www2.odn.ne.jp/excel/waza/name.html#SEC17
158名無し変更議論中@詳しくは自治スレへ:2009/03/05(木) 19:53:25
お前らなにやってるんだ?
>>148
なんて
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"","(株)"),"","(有)"),"−","-"),"―","-"),"ー","-"),"",""),"","")
でいいだろ
↑の式をまだ置き換えたい場合、E2に入ってるとして
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E2,"",""),"",""),"",""),"",""),"",""),"",""),"","")
で前の""に置換させたい文字列「ー」、後の""の中に「-」いれればできる
見た目は最悪だがなw
【1 OSの種類         .】 Windows Xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 金額 振り分け

質問です。

・Sheet1に従業員名とその人物の給与額が羅列されている状態
・Sheet2のセルには、その従業員に対し各部署別に設けられているコストを適用させた金額を出力させたい
・部署数は全部で3部署、1部署毎のコスト比率は指定されている(A部なら0.3、B部署なら0.4と言った具合)
・名前と社員番号が別ファイルで管理されている。

 上記の条件で、
 "社員番号を入力したら、その人物のコストを適用させた給与額がSheet2のセルに出力されるようにしたい"
したいのですが、どうしたら良いのでしょうか。。。
 IF文あたりを使えばなんとかなりそうだと考えているのですが、さっぱり分かりません。。。
 どなたかお知恵を貸していただければ幸いです。
>>159
ナナメ読みしたところ
シート1にたとえば 01|青島|100万円|湾岸署 とかあって
そして湾岸署だとコストとして給料10%天引きとかになってた場合に
シート2で01と入れると90万円と表示される感じ?
161名無しさん@お腹いっぱい。:2009/03/05(木) 21:21:32
ms office excell について質問があります。
例えば、
全都道府県名一覧表から、九州地方の県名だけを選択して、
パターン(塗りつぶし)でセルの色を変える。
様なことを関数で出来ますか?
仕事で使っているんですが自動で出来るようにしたいんですお願いします。
ちなみに、都道府県名は実は、関係なくて応用したいのですが、元になる関数が分からないので、
例題でいいので作ってください。お願いします。
OSは、xpsp3EXCEL2003です。
>>160
そうです!
イメージを書くと、

Sheet1
001|青島|300,000
002|赤島|200,000
003|黒島|100,000

Sheet2
(001と入力する)|湾岸署|100,000
          |台場署|150,000
|豊洲署|50,000
↑ここに署ごとのコストを適用させた金額が表示される
(以下、002も同様)

みたいな感じです。
給与計算で膨大な社員がいるため、社員番号を入力するだけで
部署のコストを適用させた金額を出力させるようにしたいのです。。。

>>160
すいません、ズレてしまいましたが、
金額を表示させたいのは署の名前の下ではなく、
金額部分です。失礼しました。
>>161 関数では無理。条件付書式で
>>162
その例のままだとすると
シート2で仮に001と入力するところをA1セルとして
B1に湾岸署、B2に台場署、B3に豊洲署とした場合
C1には=VLOOKUP($A$1,シート1!A:C,3,FALSE)/3
C2には=VLOOKUP($A$1,シート1!A:C,3,FALSE)/2
C3には=VLOOKUP($A$1,シート1!A:C,3,FALSE)/6
とかでできるかも
>>165
なるほど、もとの数値に対する比率を求める式を作成すればいいわけですね!

ありがとうございます。
明日会社で試してみます!
【1 OSの種類         .】 Windows Vista SP1
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 補完 タブ Tab エンター ENTER など

すごく、無茶な質問を承知でお聞きいたします。

Excel上やVBAエディタ上では、補完候補の決定がタブになっているのですが、
他の開発環境のクセでエンターを間違えておして毎回イライラしてしまいます。
間違えないようにする方法、もしくは、タブではなくエンターで決定する方法はありませんでしょうか?
キー操作拡張ツールでも使えばいいさ
単純なキー置換じゃ他で不都合出るけど
AutoHotkeyみたいに対象コントロールを指定できる物なら問題ない
因みにツールの使い方はスレ違いなのでここでは聞くな
169名無しさん@お腹いっぱい。:2009/03/06(金) 17:01:54
>>164そうですね、やはり条件付書式でしたか?

ちなみに関数を検索した結果
LOOKUP 関数を条件付き書式の条件に組み込めば何とかなりそうですが、
私の頭では無理でした。

ちなみに条件付き書式では、条件を満たすセルの文字の色と塗り潰し
が色づけできます。

161のをもっと具体的に言うと
例えば大阪府の全DoCoMoショップの店員の個人別売り上げベスト500人
( 支店名付き)のデータ表から
大阪市内の支店名だけ選んでセルを色付け
したいのです。
条件付書式では、数値以下か 以上、より小さい、大きいぐらいしか
出来ないので、やりたい複数を同時に色つけは、
いくつも条件付書式を設定するしかないのでしょうか?
長くなりましたがお願いします。

>>167
基本的にTabやEnterを使うのが間違いなんじゃ…
仮に、
Sheet1.Range("A1").BorderAround xlThick
を打つとすると、
sheet1.r("A1").b[Space][Ctrl+Space]xlth[Enter]
が、インテリセンスの正しい使い方じゃないかな?
>>168
条件付書式の条件はセルの値だけでなく数式も使える
>>169
条件付き書式の設定ウィンドウで「数式が」を選んでから
「=AND(A1="大阪府",B1<=500)」という式を入れれば、
A列が大阪でB列が500以下の時に色が付く。
>>168
AutoHotKey使いなんですけど、イマイチやり方わからんなあ。
専用スレ行ってきます

>>170
kwsk
後者の正しい使い方がわからない
>>173
sheet1.r
まで入力すると、インテリセンスで
Range
が、出てくるでしょ?
そこで、
(
を打ち込めば、
sheet1.Range(
まで入力される。続けて、
"A1").b
を打ち込めば、
BorderAround
が、インテリセンスに出てくるから、そこでSpaceキーを押す
sheet1.Range("A1").BorderAround ←最後にスペースまで入力されてる
Ctrl+Spaceキーを押すともう一度インテリセンスが表示されるので、
xlth
まで打つと
xlThick
がインテリセンスで選択されるので、Enterキーを押すと
Sheet1.Range("A1").BorderAround xlThick
まで打ち終わり、改行される
175170=174:2009/03/07(土) 10:36:26
要するに確定なんて必要ないから続けて打ち込んでいけってこと
【1 OSの種類         .】 WindowXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ワイルドカード 条件付き書式

条件付き書式の条件に
『足し算の式を含むセル』(SUMではなく=A+Bというような単純な式のみ)
を指定したいのですが、可能でしょうか?
もし可能でしたら教えていただきたいのですが。
初心者なうえに説明下手ですみません。よろしくお願いします。
177名無し変更議論中@詳しくは自治スレへ:2009/03/07(土) 14:28:32
>>176
無理です
2003以前は正負、ゼロ、文字列の4種類しか判別できません
>>177
やっぱりそうですか……。
答えていただきありがとうございました。
179はどんぴしゃ回答ではなくて、応用が必要だけどね。
181名無し変更議論中@詳しくは自治スレへ:2009/03/07(土) 17:27:09
>>171.172
どうもありがとうございました、応用が必要ですが、やってみます。
182169:2009/03/07(土) 18:39:13
161.169です、たびたびすみません。どうやら、説明が不足していたようで、
これも例ですが、例えば、関東地方の地区別の名簿があったとして東京23区内のデータ
だけ自動で色づけしたいのですが、実際は23ではなく50近く種類があるため、
色付けが煩雑になっています、しかも名前が似ているし店名が多いもので、困難しています。
マクロが必要でしょうか?
因みに、所属地域だけ色づけ出来れば、大分手間が省けるのでそれだけでOKです。
お願いします。何度もすみません。
| |A  |   B | C |  D  |  E    |
|1|   |平成20年度関東地方携帯電話売上げ貴人別成績(上位500)
|2|   | 所属  |氏名 |売上げ件数|売上げ累計 | 
|3|1  |新宿区  |浜田 | 50  |356589|
|4|2  |渋谷区  |松本 | 51  |325965|
|5|3  |品川区  |今田 | 47  |289405| 
|6|4  |横浜市  |東野 | 49  |283084|  
|7|5  |川越市  |蔵野 | 43  |274395|
|8|6  |さいたま市|板尾 | 44  |      |  
|9|7  |  ・  | ・ |  ・  |   ・  |
| |8  |  ・  | ・ |  ・  |   ・  | 
| |500|川崎市  |大悟 |  ・  |   ・  | 

  b  |東京都23区名| 
     |新宿区    |
     |荒川区    |
     |品川区    |
     |渋谷区    |
     |千代田区   |
>>179
化石みたいなExcel4マクロの紹介なんかやめなよ。
今ならみんなVBA使うんだし。
VBAが否なら出来ないとの回答でよい。
184名無し変更議論中@詳しくは自治スレへ:2009/03/07(土) 19:04:24
>>182
VBAは使える?
ぶっちゃけ50色って・・・完全に塗り分けても見間違いしてしまうんじゃ・・・
というか色のコードって49までだっけ?
>>183
好きに応えなよw
質問者が選択すればいい。
>>182
例えば、bの表がSheet2のA列にあるなら
成績表のB列の条件付き書式を、
[数式が][=VLOOKUP(B3,Sheet2!$A:$A,1,FALSE)=B3]
としてセルに色をつければどうかな?
188187:2009/03/07(土) 20:19:31
ちなみに、[=VLOOKUP($B3,Sheet2!$A:$A,1,FALSE)=$B3]として
同じ条件付き書式をA,C,D,E列にコピーすると、横一列が同時に色づけできるよ。
やろうとしていることが間違ってるっていう指摘はしちゃいけないのかな?
むしろしたほうがいい。
いや、>>169は、50ある支店をそれぞれ別の色で色分けしたいとは書いてないじゃん?
23区内と一言で言っても対象店舗が50近くあるから色付けが猥雑になる、と言ってるだけで。
実際の作業を想像してごらんよ。
何が作業のネックになるかを想像できるようになれば、質問者の意図するところも自ずと見当が付くよ。
経験が乏しいと難しいけどね。
そもそも条件付き書式は3パターンしか登録できないし。
193名無し変更議論中@詳しくは自治スレへ:2009/03/07(土) 21:36:26
色をつける事自体が仕事なのかそこから何かするかで大きく変わる
19494:2009/03/07(土) 23:49:34
>>94 を修正して再質問掲上。回答求む。:2009/03/02(月) 23:49:05
excel2007 xlsmモード vista vba=ok vba回答=ok
検索ワード=「enable macros」「信頼できる」「パスワードの設定」他多数

質問 読み込みのパスワード設定と信頼できるフォルダー設定とが両立した状態に
どうやったらできますか。
パスワードを設定した場合、どうしても、信頼できる場所にあるマクロを有効な状態に
  できません。おそらく、vbaでしか対処できないと思う。
19594:2009/03/08(日) 00:03:42
>>173 横レスだけど
「化石みたいなExcel4マクロ」との固定概念は、むしろ、捨てた方がいい。
2007でのマクロの記録では時々、それが出てくる。
2003では出なかった場面でのマクロにね。
今ではもう、復活しているといった方がいい。
>>194
よくわからないんだけど、パスワードを設定すると
必ずマクロが無効な状態でファイルが開かれるってこと?
19894:2009/03/08(日) 00:38:44
>>197
そうです。
パスワードを設定すると、信頼できるフォルダーにある*.xlsmファイルが、警告もなく
必ず、マクロ無効な状態にしてファイルが開かれます。マクロ有効にする機会がありません。
2003や、2007の2003互換モードではパスワード設定でかつ、マクロ有効で、直接開くことが
できていました。

>>196
サンクス。参考にして、ゆっくりやってみます。
>>198
あら、そういうことなら>>196のリンク先はたぶん参考にならないw

「エクセル 2007 パスワード マクロ」で検索してみたら、これかな?
ttp://oshiete1.goo.ne.jp/qa3565194.html
20094:2009/03/08(日) 01:05:36
>>199
その教えてサイトからさらに次のところに行って、氷解しました。
落着です、サンクス。

ttp://support.microsoft.com/kb/927150/ja
パスワードによる保護=暗号化されたファイル
>>195
で?
で?とは?
>>201
「捨てた方かいい」
という明確な意見表明に対してみっともない。
姑息な掲示板テクニックなど使わず堂々と反論すればいいのに。
できると思ってんのかクソが
********************
EXCELヲタ徘徊注意報
********************

マニアの自己満足レスが
頻発しております。
相談者の方は警報が解除
されすまで今しばらくお待
ちいただくようお願いします。

********************
EXCELヲタ徘徊注意報
********************
********************
EXCELヲタ徘徊注意報解除
********************

只今、注意報が解除されました。

********************
EXCELヲタ徘徊注意報解除
********************
207名無し変更議論中@詳しくは自治スレへ:2009/03/08(日) 16:41:30
今はhddも大容量だし〜
CPUも高速だし〜
メモリも大容量で〜
という理由で捨てきれないマイクロソフトちゃん
実際、地方の現場のことを考えると機能をきらずに置いておくのもいいとも思う。
神経質な連中からすれば低機能であればあるほどいいのは間違い名い。俺もそう思う
ただな、妄想してみてくれ

離島でタバコ屋を営む老夫婦
たった一人の息子は難病で早くに往ってしまった
ただ一つ残してくれたのがこのマクロ4.0
昔からpcを触っていてやっと覚えたのがこれだった
そのおかげで節税も出来たし、老後も無理なくすごすことが出来た

そのマクロが無理なバージョンアツプで突然使えなくなったらどうする!?

どうでもいいよな
まぁ、なんにしろ新規の連中が使うべき機能ではない
使ってる連中がいなくなったらとっとと消したい機能であることは間違いない
VLOOKUPの=VLOOKUP(A100,データ1!C34:E36,3,0)これをオートフィルしたらA100のところだけじゃなくて
C34とかE36のとこまで数値がスライドしてくんだがどうしたらですか?
>209

つ$
>>208
C34:E3が相対参照になってるからだよ。
絶対参照にすればOK
211208:2009/03/08(日) 19:39:34
うおおおおおお解決したああサンクス!
212名無し変更議論中@詳しくは自治スレへ:2009/03/08(日) 19:58:18
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 少し
3行目、9行目、15行目、21行目……(最下部まで)
選択してコピー、新しいシートに貼り付け
するにはどうしたらよいでしょうか。
お知恵をお貸し下さい。
作業列を作って1−6の数字を入れる
1行目4
2行目5
3行目6
4行目1
5行目2
6行目3
7行目4・・・
で、フィルタで作業列が6のものだけを抽出・・・ってのはどう?
214212:2009/03/08(日) 20:11:33
>213、どうもありがとうございます。
データ量を省いたシートを作ってグラフ化するのが目的なので、
他の方法があれば希望します。
>>214
データをコピーしたい場所にこの数式を入れてオートフィルで目的のデータが取り出せる
=INDIRECT("Sheet1!A"&(ROW()*6-3))
(元のデータがSheet1のA1から始まってる場合)
216212:2009/03/09(月) 03:21:05
ありがとうございます。
どうも使いこなせないので、質問を変えます。

3行目を先頭に6行おきに選択して別シートにコピー貼り付けしたいので、
下のマクロを数式を使ってスマートにしたいのですが、

  Worksheets("Sheet1").Activate
Range("A3,A9,A15, A21,   〜A24003").EntireRow.Select

>>216
コピー先の最初の2行に「A3」「A9」と入れてオートフィル、「A」を「=Sheet1!A」に置換。

VBAでやるなら普通は一気にコピーまで終わらせるもんだ。
どうしてもSelectだけしたければUnionでぐぐれ。
>>212
とびとびのものを選択してコピペはやらない方がいい。
作業列に6行おきに印をつけてフィルタオプションで指定した範囲に抽出すればいい。
実際は作業列は作らなくても出来るけど、作業列の方が楽だろう。
抽出したい先頭の行の作業列に"A"とでも入れて下5行を空白、この6個のセルを選択して右下の
フィルハンドルをダブルクリックすれば6行おきに"A"と印がつくから、これをフィルタオプションで抽出
すれば簡単。

>>215
INDIRECTは特別な理由がないかぎり使っちゃいけない。
=INDEX(Sheet1!A:A,ROW()*6-3)
とできるだろ?

>>217
Unionはあまり良くないね。
間違った情報ばらまくなよ
そうだよなINDIRECTやらUnionやら。
間違ってると言ってるやつが間違ってる件について。

>>214
グラフが目的ならピボットグラフ使えばいい。
作業列作れば簡単。
以前のスレッドで作業列なしでもいけるような書き込み見たような気もするが俺は知らん。
それ自分で言っちゃ世話無いぜ

本人は正しいと思って書いてるんだから、本人が
> 間違ってると言ってるやつが間違ってる
と思うのは当然だ
>>222
君、間違ってる>>219かい?
悔しかったの?
>>223
前スレで少し足りないとか書かれてたやつかも知らんね。
何で自分の書込にr(ry
>>225
もしかしたら装飾品か?
ピボットグラフで終了。
>>227
装飾品って何?
>>228
アクセサリー
綴りが少し違うので装飾品って意味じゃないらしいが。
>>229
意味分らん。
231名無し変更議論中@詳しくは自治スレへ:2009/03/09(月) 10:20:14
君、とか言っちゃってる奴は病院行ってこい
重症だわまじで
2007を使っております。
すごく簡単な質問なんですが
excelで関数の初めの何文字かをいれると、それに続く関数を参照してくれる機能かあります。
そのとき、参照で出てきた関数をマウスを使わないで選択することはできますか?

e.g.
=if
IF
 IFERROR
ってなったときに、IFERRORと最後まで打ち込むことなく、またマウスで選択することもなく、キーボードだけで補完

よろしくお願いいたします。
" と改行が入っているセルをコピーしてテキストエディタに貼り付けたときに
"a"という内容が""a""になってしまうのですが、これってexcel側で解決することはムリでしょうか?

予め"を使っていない文字列に変換しておいて、貼付後"に戻すとか、
編集状態でコピーするとかは思いついたのですが、根本的な方法ありそうでイマイチ煮え切りません。。
234名無し変更議論中@詳しくは自治スレへ:2009/03/09(月) 12:05:09
初心者なのですが書記になってしまいました。
前任者からのデータをみると
ファイル名が「青」色なのです。
私が作ったファイル名は「黒」色なのに、なぜなのでしょう。
見づらいのでファイル名は黒で表示させたいのですが、
どうしたら変更できるのでしょうか?
教えていただけますか?
何の話だ?
日本語でちゃんと書いてくれ
書記になったとか要らんだろw
ややこしく書くなや
ファイル右クリック>全般>詳細設定で「内容を圧縮して〜」にチェックが入ってるんだろう
ほとんど意味ないよな
ファイル右クリック>プロパティ>全般>
一個抜けた
自分が病人だと分らん奴がいるらしいねw
INDIRECTやUnionが良くないのは常識だろ?
>>239
なかば常識みたいなもんだが世の中分ってる人ばっかじゃないからねぇ。
【1 OSの種類         .】 WindowsVista SP1
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 range cell 範囲内

Worksheet_ChangeイベントのTargetレンジ内に任意のセルが含まれるか知りたいのですが、
どのような方法がありますでしょうか?
まぁ知らないやつは結構いるし病人は言いすぎじゃね?
>242
少し足りないってだけだな
>>241
Intersect(
>>232
上下矢印キーとTabキー
246名無し変更議論中@詳しくは自治スレへ:2009/03/09(月) 14:29:28
さすが病人は常人の斜め上の箇所が気になるんだなw
可愛そうに
>>244
ばっちりです、ありがとうございました。
持論に自演で同意するのはみっともないからやめたまえ。
ぶっちゃけINDIRECTやunionなんてまともなやつは使わんよ。
なんで自演ととるのかね。
自分でいつもやってるからだろうな。
図星を突かれて必死で反論
と図星を突かれた>>250が何か言ってるが、図星とか図星じゃないは問題じゃないね。
ようは>>218が正しいか>>219が正しいかだ。
常識のあるやつは分るよ。
本件はピボットグラフで終わってるわけだ。
低ラベルな回答でちょっとスレが汚れたみたいだがな。
253232:2009/03/09(月) 16:29:20
>>245
長いこと苦労していたので本当に助かりました。
ありがとうございます。
>>251
m9(^Д^)プギャー
なんで間違いを認めない奴がいるの?
馬鹿なの?死ぬの?
INDIRECTの電波発信してるやつ前からいるじゃん。
生温かく見守ってあげなよ。
使いこなせなくて、変な数式組み上げる馬鹿
使いこなせなくて、使うことを自体を卑下してしまう馬鹿

俺から見れば同レベルだ
ちょっと聞きたいんだけどなんでUnionが良くないの?
INDIRECTよりINDEXの方がいいのは知ってる。
揮発性か揮発性じゃないかだからね。
Dim くだらない書き込みフラグ As Boolean

くだらない書き込みフラグ = 1
Do While くだらない書き込みフラグ
使いこなせなくて、変な数式組み上げる馬鹿
使いこなせなくて、使うことを自体を卑下してしまう馬鹿

俺から見れば同レベルだ
Wend
いまどきWendなんて使うやつは珍しいw
VBAしか知らないやつ乙
WendならWhileだしなw
>>261
Do Wile
Wend
これ言語は何?
上はDo Whileの間違いな。
>>258
Unionは遅いからベンチ厨が嫌ってるだけ
Excelで事足りる程度の仕事を秒単位で短縮してもなぁ
>>263
それは、ハナモゲラ語です
VBAでは、シンタックス・エラーになり申す
程度が知れたな
>>258
>>265
秒単位で済めばいいけどデータが多いと下手すると何時間もかかる。
加速度的に遅くなるからな。
加速度的ってのも変な言い方だが。

set c=cells(1,1)
for i=7 to 60000 step 6
  set c=application.union(c,cells(i,1))
next

これでExcelが現在応答なし。 
何時間かすればそのうち応答があるかも知らん。 
>>257
使おうと思えば使えるが、馬鹿な方法をあえて使うやつはいないよ。
ヒント:二重ループ、分散

まあそれでも6行ステップで60000行だと
5年前のPCで40秒、最新のでも15秒くらいは掛かるが
272名無し変更議論中@詳しくは自治スレへ:2009/03/09(月) 18:02:57
手遅れかw
>>271
15秒で終わる?
>>269じゃないがVistaで2007だが何分かかっても終わらない。
Core 2 Duo E850だからそこそこのマシンだと思うが。
>>233
根本的に解決する方法はない。
コピーしたいセルが1個か数個なら数式バーなどからコピー。
大量のデータを一括コピーしたいならExcelでコピーしたデータをWordまたはワードパッドに貼り付け、
再びコピー、テキストエディタに貼り付け。
単純にループで回して1個ずつどんどん結合するだけだとこんなふうになる。
ttp://windyakin.if.land.to/src/up38_1109.png
環境にもよるが、実用に使えるのは、せいぜい500個までだな。
10000個のRangeを短時間で結合したいなら、メソッドを呼び出す回数を減らすなど、処理を工夫しなきゃならん。

結論 続きはVBAスレでやれ
>>274
6万行でかかる時間は、まず1万行でやってみればどのくらいかかるかわかる。
6万行なら1万行の約216倍かかる。
6^3倍ってことな。
278名無し変更議論中@詳しくは自治スレへ:2009/03/09(月) 18:33:43
馬鹿と厨は場所を選ばず自重もできず
実りのあるスレです事
>>278
Unionが馬鹿ってことわかっただけでもいいんじゃね?
実りあるスレに>>278が花を添えてくれました
>>274
>>269のコードじゃ終わらない

自前のコードなら
最新:Core i7 965EEで12秒(条件見直したら15秒から更に短縮出来た)
2年もの:Ath64X2 5400+で18秒
5年もの:Pen4 2.4GHzで25秒(同じく40秒から)

>>277
俺のやり方だと当てはまらないな
膨大な場合に最適化してるので、1万行でも約1/10の1.3秒掛かる
>>274
>>271は多分6000行くらいでやってみて1.5秒くらいだったのでそれ単純に10倍したんじゃない?
本当は6000行の1000倍くらいかかるのにね。
283名無し変更議論中@詳しくは自治スレへ:2009/03/09(月) 18:49:11
これの折れ線グラフをつくりたいのですが、X軸の0〜1の間の数が省略されてしまって
うまくいきません。Xの値が0〜1の間不均一なのが原因ですが。どうしたらよいでしょうか?
X      Y
0.2 0.2
0.4 0.4
0.6 0.6
0.8 0.8
1 2
2 4
3 6
4 10
5 18
>>282
ちゃんと6万行でやったけど
>>284
アフォなUnionの>269のコードでだぞ?
そんなに速い?
俺のは1万行で6秒かかった。
とてじゃないがも6万行を15秒じゃ無理だな。
ソートしてまとめるとか、r1c1形式アドレスを連結していって扱える文字数ごとに区切るとかすれば速くなるけどな。

まぁ今回の件はピボットグラフだけどな。
>>212は分ったかな?
>>218で書いたように作業列に旗を立てて、その作業列をページフィールドにして旗をクリックな。
286182:2009/03/09(月) 19:09:14
>>187
この数式で,SHEET2の所を、同じSheetの違う列
(例えばJとか)に置き換えてやって見たらできました。
ありがとうございました。感謝します。
287182:2009/03/09(月) 19:11:04
>>187
この数式で,SHEET2の所を、同じSheetの違う列
(例えばJとか)に置き換えてやって見たらできました。
ありがとうございました。感謝します。
>>285
>>281でも、>>269のコードじゃなくて自前のコードだって書いてるのになんで読めないかなぁ?
当然>>285が書いてるような方法ではなく、Unionのみで結合する方法だけど
二重ループで分散することで効率化すれば、Unionのみでも何時間も掛かるって事は無いということを書いただけ
>>285
284はもしかしたらある程度の塊にしてから、それをUnionしてるんじゃね?
単純に10000回Unionしたらそんな短時間じゃ無理だと思う。
>>288
なんだやっぱりそんなことかい。
あるていどのやつなら誰でも考え付くな。
なんか自信たっぷりな速度オタがいるなぁ。
俺の昔作った結合技よりは遅いと思うけどなw
悔し紛れ
> 俺の昔作った結合技よりは遅いと思うけどなw
よくもまあ恥ずかしげも無くそういう嘘書けるなw
なんなら競争してもいいが結構長いコードだから顰蹙を買うのは間違いない。
┐(´ー`)┌
ところで
Do While
Wend
の件は?
「それを書くには余白が足りない」が許されるのはフェルマーだけなのに…
単純な間違いだから許してやれよ。
いつも古臭い
While
Wend
書いてるんだろ?
>>283
グラフの書き方には色々あるけどどういう結果をお望み?
ttp://windyakin.if.land.to/src/up38_1110.png
ttp://windyakin.if.land.to/src/up38_1111.png
300283:2009/03/09(月) 20:49:40
>>299
できればどちらとも、
または上だけでも。教えて頂きたいです。
>>300
上は折れ線グラフ
下は散布図
折れ線グラフの時はXを数値と見ずに項目名にすれば、内容にかかわらず等間隔になる
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Autocad Excel2007 図ツール
EXCEL2003ではCAD図面をそのまま貼り付けても図ツールが使えて、トリミングなどが出来、
元の図面が無くてもダブルクリックでCADソフトが起動し図面修正が出来ました。
しかしEXCEL2007でそのまま貼り付けると図ツールが表示されず、トリミングが出来ません。
また、形式を変換すると図面修正が出来なくなります。
そのまま貼り付けてトリミングする方法はありませんか?
ごめんなさい自己解決しましたw
VBAスレの方にプログラム上げました。6行置きに1万セルUnionして10秒かかってません。
Unionのベンチしたら2007は2003の1.5倍速かった
********************
EXCELヲタ徘徊注意報
********************

マニアの自己満足レスが
頻発しております。
相談者の方は警報が解除
されすまで今しばらくお待
ちいただくようお願いします。

********************
EXCELヲタ徘徊注意報
********************
>>304

>>281 1万行でも約1/10の1.3秒掛かる

6万行で10秒弱なら君の勝ちだが
1万行で10秒弱だと全然お話にならないぞ
違う環境で測っても意味ないじゃん。自分のマシンで比較しなきゃ。
うちのマシンだと6万行で2.2秒だった。この程度なら遅いと目くじらたてるほどでもない。許容範囲。
309名無し変更議論中@詳しくは自治スレへ:2009/03/10(火) 10:15:37
初心者です。
ひと月の表があって、月曜から〜金曜までシフトの人を割り当てる作業です。
(土曜日曜は空欄になります)
人間の基本表があるので、今は5人ずつ(月曜〜金曜分)コピーペーストしています。

土日のセルだけロックして、ひと月を1回のコピペで済ませることは
出来るのでしょうか?教えてください。
どんな表なのか今一つ分からないんだけど
土日を非表示→可視セルを選択→貼り付けみたいなのでどうだろう
>>275
ありがとうございます。無理だと分かったので諦めがつきましたw
lookupか何かを使えば、
さほど苦労せずにできそうだが。
>>312

つ「チラシ」
314名無し変更議論中@詳しくは自治スレへ:2009/03/10(火) 14:24:24
310さん
セルの非表示、探してみましたが見つかりません。
すみませんがどのメニューで出来るのか具体的に教えていただけますか?
315名無し変更議論中@詳しくは自治スレへ:2009/03/10(火) 14:29:47
310さん
非表示見つかりました!
でも可視セル選択の操作が分からない・・・
頑張ってみます。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はいのようないいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 並べ替え

シート1
あ い う え お
か き く け こ

と入力すると

シート2で
あ い か き
う え く け
お   こ

のように出力形式に自動的にレイアウトすることは可能ですか?

下記の内容は可能でしょうか?可能であれば解決策を教えてくださいorz

シート1は作業順にデータが並んでおり住所欄が無い、シート2は全データがあり住所欄もあります。
シート1とシート2に共通しているのは店番号がセルAに記入されています。
シート1は作業順に店番号がばらばらに並んでおり、シート2は0から1500まで店番号が並んでいます。
シート1に新規で住所の欄を作り、シート1とシート2の店番号をリンクさせてシート2からシート1に住所を自動入力したいです。
検索してみましたが私の求める答えとは合致しなくて手動入力しかないかと悩んでいます。
宜しくお願い致しますorz

【1 OSの種類         .】 Windows** VISTA
【2 Excelのバージョン   】 Excel** 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否 (チャレンジします)
【5 検索キーワード     】 シートから自動入力
>>316
所望する出力レイアウトの法則性を書かないと誰も答えられないんじゃないの?
>>316

できますよ。

>>317

INDEX MATCH
320名無し変更議論中@詳しくは自治スレへ:2009/03/10(火) 20:44:06
ffff
321名無し変更議論中@詳しくは自治スレへ:2009/03/10(火) 21:01:50
>>316
A1=INDIRECT("sheet1!"&"r"&1 &"c"&ROW()*2+((MOD(COLUMN(),2)=0)-1),0)
C1=INDIRECT("sheet1!"&"r"&2 &"c"&ROW()*2+((MOD(COLUMN(),2)=0)-1),0)

ところで上であがってたindirectってなんでダメなんだ?
そんなもの使わなくてもいいような表にすべき!ってのはナシな
主な使い方が、正規化するためだったり、他アプリ向けにわざと正規化を崩す訳だからな
indirectが良くてindexは良い、とか謎すぎる
どっちも使うべきところで使えばいいと思うんだが
322名無し変更議論中@詳しくは自治スレへ:2009/03/10(火) 21:03:16
>>321
INDEXだっていっしょだよ。
そんなもの使わなくていいように表を作れとしかいいようがない。
ゼロから作れならともかく
どこのアホチンが作ったかわからんクソみたいな表もあるからなあ
それをコピーとか区切り位置とか駆使して作り直すよりは
INDEXとかで作業シート挟んだほうが楽だと思う
>>323
あれま、そんなこと話してたのか
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel office XP
【3 VBAが使えるか    .】 ほんの少し(まだまだ猛勉強中)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

前々スレで値のバーコード化について質問した者です。
勉強した結果、バーコードフォントで表示できるようになりました。
これを差込印刷マクロで雛形に挿入、印刷したいのですが
マクロで挿入すると値のみ挿入され、スタート・ストップの*が消されてしまいます。
次の一文を怪しんでいます(検討違いだったらすみません)

'置換先文字列セット
strSerch = "<<-" & Mid$(ListView2.ListItems(j), 3) & "->>"

"<<-"と"->>"のあいだにスタート・ストップの*を挿入したいのですが
どのように書き換えたらよいのでしょうか?

宜しくお願いします。
>>326
質問と回答もう一度あげてくれないと多分誰も答えられない
strSerch = "<<-*" & Mid$(ListView2.ListItems(j), 3) & "*->>"
569 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2008/12/19(金) 23:44:44
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel office XP
【3 VBAが使えるか    .】 ほんの少し(猛勉強中)
【4 VBAでの回答の可否】 少し可(がんばって解読します)
【5 検索キーワード     】 エクセル 図形 セル 関連付け 差込印刷

エクセルのみで、社員の健康診断票を作成しています。
社員IDを、拾ったバーコード生成マクロでバーコード化
→差込印刷マクロで雛形所定位置に印刷。

名前、部署、生年月日など文字・数字は差し込めるのですが、バーコード(bmp)を
差し込むことができません。この図(バーコード)をセル内の値として認識させることは
可能でしょうか?
ド素人なりに『セルの書式設定』『表示形式』『ユーザー定義』を怪しみましたが
それらしいとこに辿り着けませんでした・・・

572 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2008/12/20(土) 00:15:23
バーコードの形式にもよるけど、バーコードフォントというのを入れれば
バーコードを文字列として扱うことができるようになる。

⇒bmpは諦め、CODE39のフォントを拾いバーコード表示(差込の元データ)には成功!
セルの書式設定>表示形式>ユーザー定義>”*”@”*”
          >フォント>CODE39

受け側雛形のセルも同様の設定です
>>328
ですよね!試してみましたが、ダメでした・・・
受け側のセルの設定が良くないのでしょうか?
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel VBA 一定時間 セル 移動 確定

無理な依頼をされ,困っています

0〜100までの数値を下へ下へと入力していきます。
その際,Enterを押さずにアクティブセルを下へ移動させることなど可能なのでしょうか?

具体的には,A1セルに23と入力する→Enterを押さずに放置,一定時間後→23が確定されアクティブセルがA2へ移動
→59と入力する。→Enterを押さずに放置,一定時間後→59が確定されアクティブセルがA3へ移動→ …

Enterを押さなければ値が確定しないので,セルの値もとれず,次の動作に移れないと思うのですが…
放置する時間があったらEnter押せよw
桁数固定ならVBAでできそうだけどな。
333名無し変更議論中@詳しくは自治スレへ:2009/03/10(火) 23:06:54
女子社員にエクセルで質問されたときのカッコいい教え方ありますか?
>>331
VBAの基本オブジェクトモデルはセル内編集中に操作や取得が出来ないので
やるならWinAPI使って実装するか、外部ツール使うか、入力自体を別アプローチで簡素化するかだな。

そもそも、目的は「入力後、一定時間放置したら確定扱いにして下セルに移動したい」ではなく
「入力を簡素化したい」であって前者はその方法の1つに過ぎないだろ。
依頼者にそれをきちんと説明して、目的は当然そのままで、方法だけ変えるのが一番良いだろうな。

一番簡単なのは、たぶんユーザーフォーム使う方法だ。
_Change後一定時間後経ったら、セルに値入れてコントロールの値をクリアして、対象セルを移動する
1分で組めるマクロで同等の結果が出せる。
宜しくお願い致します。本で調べたりネットで自分なりに模索したのですが、
どうしても分からずここで質問させていただきます。
それは、マクロボタンを10秒ごとに自動更新したいのですが、
どうすれば良いのか分かりません。
識者の方、お知恵を拝借できればと思います。テンプレに従い、環境を書きます。

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

マクロコードですが、非常に簡単なコードなので、以下に書きます。
宜しくお願い致します。
============コード===========
Sub RSSEIの()
'
' RSSEIの Macro
' マクロ記録日 : 2028/3/3 ユーザー名 : 1
'

'
Application.Run "銘柄メモ.xls!RSS全選択"
Selection.Sort Key1:=Range("EI27"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
Range("L25").Select
End Sub
336335:2009/03/11(水) 00:01:49
追記です。

>マクロボタンを10秒ごとに自動更新したいのですが、
これは、現在では手動で10秒ごとに手で押しているマクロボタンを、
自動にしたい、ということです。
>>335-336
Application.OnTime
338335:2009/03/11(水) 01:36:45
>>337
有難うございます!!!その後コードを
============コード===========
Sub RSSEIの()
'
' RSSEIの Macro
' マクロ記録日 : 2028/3/3 ユーザー名 : 1
'
'
Application.Run "銘柄メモ.xls!RSS全選択"
Selection.Sort Key1:=Range("EI27"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
Range("L25").Select
nextTime = Now() + TimeValue("00:00:05")
Application.OnTime nextTime, "RSSEIの"
End Sub

にしたらできました!!!感謝です。
しかし、今度は止めることができません。(汗
他に停止ボタン等を作りたいのですが、
どうすれば止めることができるのでしょうか?
これは予想外です。

皆様宜しくお願い致します。
>>332
>放置する時間があったらEnter押せよw
まさにその通り。もちろん依頼されたときにすぐに言いました。(言葉を選んで。泣)

>>334
>VBAの基本オブジェクトモデルはセル内編集中に操作や取得が出来ないので
やっぱりそうですよね。
>一番簡単なのは、たぶんユーザーフォーム使う方法だ。
Enterすら押したくない人がユーザーフオームなんて受け入れてくれるか…

明日,何とか言ってみます。ありがとうございました。
>>338
Private 停止フラグ As Boolean

Private Sub 開始ボタン_Click()
  停止フラグ = False
  Call RSSEIの
End Sub

Private Sub 停止ボタン_Click()
  停止フラグ = True
End Sub

Sub RSSEIの()
  '
  ' RSSEIの Macro
  ' マクロ記録日 : 2028/3/3 ユーザー名 : 1
  '
  '
  If 停止フラグ Then Exit Sub

  Application.Run "銘柄メモ.xls!RSS全選択"
      :
> Enterすら押したくない人がユーザーフオームなんて受け入れてくれるか…
ユーザーフォームの立ち上げ方と作り方次第だろ
100回のEnterキーを省略できる代わりに、1回のフォーム立ち上げなら
出来が悪くなければ受け入れてはもらえるだろうぜ
えんたーじゃなくて
たぶで
よこにすすんで
あとで
たてにする
343335:2009/03/11(水) 02:11:37
>>340
わざわざコードまで書いていただき本当に有難うございます。
しかし、サッパリ分かりません。
書いていただいたコードを、
>>338のコードの最後に付け足したり、
新規で標準モジュールを開き、書いていただいたコードを
そのまま貼り付けましたが、何も起こりませんでした。
VBA超初心者なので、申し訳ないのですが今日はもう遅いので明日にでも、
もう少し教えていただけたらなと思います。
本当に有難うございます。
やきゅつく等で使う野球成績データ表を作りたいのですが、奪三振率(奪三振×9÷投球回)のやり方が分かりません…
345335:2009/03/11(水) 11:16:46
皆様有難うございます。>>340さん感謝してます。
昨日あれから、340さんの指示に従い、私なりに
「自動更新ボタン」と、それを停止させるための「停止ボタン」
と、再度開始させるための「開始ボタン」をそれぞれ3つのマクロが必要だと思い、
合計3つのボタンを作りました。
これで「自動更新ボタン」のマクロを停止させるボタンが作れると思ったのですが、
出来ませんでした。本当に有難うございます。書き込んだコードをありのまま書きます。
ご指摘くだされば嬉しく思います。宜しくお願い致します。

==========「自動更新ボタン」=========
Sub RSSEIの自動更新()
'
' RSSEIの自動更新 Macro
' マクロ記録日 : 2009/3/11 ユーザー名 : 1
'

'
If 停止フラグ Then Exit Sub
Application.Run "銘柄メモ.xls!RSS全選択"
Selection.Sort Key1:=Range("EI27"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
Range("L26").Select
nextTime = Now() + TimeValue("00:00:10")
Application.OnTime nextTime, "RSSEIの自動更新"

End Sub
346335:2009/03/11(水) 11:18:31
==============開始ボタン===============
Sub 開始ボタン_Click()
停止フラグ = False
Call RSSEIの
End Sub

==============停止ボタン===============
Sub 停止ボタン_Click()
停止フラグ = True
End Sub
347名無し変更議論中@詳しくは自治スレへ:2009/03/11(水) 11:54:55
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 少し使える
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 時間 記録
時間の使い方についての細かく区切ったグラフがほしいのですが
08/19 08:00 メールチェック 開始
08/19 08:10 メールチェック 終了
08/19 08:20 見積書づくり 開始
08/19 09:45 見積書づくり 終了
といったデータがあるときに、開始と終了で挟まれたデータを適当に色つけ+ラべリングして
週刊ヴァーティカルタイプの手帳のようなグラフを作ることって出来ますか?


【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】選択範囲 固定 Excel

すいません、Excelで入力作業をする際、例えば行を1.2.3と指定して、A3でEnterでB1、B3でEnterでC1、・・・・と移動できるように使っていた場合で、
矢印キーやマウスでセルをクリックした場合、指定した範囲が解除され、また範囲を指定し、
入力セルまでEnterキーなどで移動しなければいけない状態によくなってしまいます。そのような状況にならないように、
矢印キーやセルをクリックしても指定範囲が解除されないように固定したいんですが、出来ないのでしょうか?
ラベリングとか週刊大衆とかワケワカメ
>348

選択範囲に名前をつける。
矢印キーで移動した場合は名前を再選択。
351名無し変更議論中@詳しくは自治スレへ:2009/03/11(水) 12:21:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 パラメータ変更くらいなら
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 条件 文字列 色変更

ある区分で種類が6種あってシート2でその文字を参照表示させているのですが、
シート2で表示している文字の色を種類別(6種類あるので6色)に変えたいのですが
4色以上はVBAを使わないと無理らしいのですがどうすればいいですか?
VBA使えばいいと思うよ。
353347:2009/03/11(水) 12:43:41
>>349
すみません、あまりexcelは使わないので言葉が間違っていたかも知れません
08/19 08:00 メールチェック 開始
08/19 08:10 メールチェック 終了
08/19 08:20 見積書づくり 開始
08/19 09:45 見積書づくり 終了
というデータから
・週間のバーチカルタイプの手帳というかカレンダーソフトの週表示
(http://takalog.com/wp-content/uploads/2007/07/cal.jpg)のようなグラフをつくりたいのです
データの加工だけexcelでやってグーグルカレンダーにインポートしたほうが早くね?
355名無し変更議論中@詳しくは自治スレへ:2009/03/11(水) 16:04:53
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 傍線 赤い線 波線

エクセルで文章を書いてたら、文章の下に勝手に赤い線が出てきたんです
例えば「ふはは」と打ったら「はは」の下に赤い波線が出てきます
印刷では消えるのでしょうが、私の目的は印刷ではなく閲覧なので非常に邪魔です
どうしたら出なくなりますか?またこれは何の為に出るのでしょうか?
>>355
エクセルのツールバーの上の方の書式設定で、Uの下にアンダーバーが
入ってる文字がありますけど、それがアクティブになってる
だけじゃないですか?
357名無し変更議論中@詳しくは自治スレへ:2009/03/11(水) 16:14:06

【1 OSの種類         .】 Windows VISTA
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】Datedif バグ

datedifの関数は年齢を出す時などとても有用な関数なんですが、調べて
みるとどうやらバグがあるようで・・
YDとMDを使うとバグが起こるらしいのでこの2つは使わないように
しようと思うのですが、それ以外のYなどはバグはないのでしょうか?
お願いします。 
"週刊ヴァーティカルタイプ"との一致はありません。
うそん
360名無し変更議論中@詳しくは自治スレへ:2009/03/11(水) 22:07:23
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 できないがそれしかなければがんばる
【4 VBAでの回答の可否】 可能であればなしで
【5 検索キーワード     】 入力 セル 小数点

 初心者です 教えてください
 まずセルに5をいれます その時に他に指定したセルに下一桁増やした5.9とゆう数字をいれたいです
 また5.5なら5.51とか5.59を他のセルにいれたいです 可能でしょうか?
 
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel20007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 プロセス ウィンドウ

2つファイルを開くと、同一ウィンドウ(同一プロセス)にて表示してしまいますが、
これを常時違うプロセスで開く方法はありますか?
>>360

A1に4、A2に5、A3に6を入れたら、4.56や6.54を返すってことなら数式で出来るけど
A1に4、次に同じくA1に5、、更に同じくA1に6、って入力で上記のような結果を返したいのならVBA必須

>>5
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
 ▼数式・関数
  ・ 値の書き換え、値の保持 (VBA)
>>360
あと質問スレで初心者です
って言わないほうがいいぞ
>>361
ブック1を開き、新しくエクセル.exeを開いてからブック2を開く
ドロッグアンドドロップでもいいよ
>364
回答ありがとうございます

ちょっと言葉が足らなかったので付け加えると、
Excelファイルをダブルクリックしたときに、常時違うプロセスで開きたいということです。

今は、その方法で対応しています。
>>365
ああ、ごめん見落としてた
他のアプリケーションを無視する、にチェックを入れるか外すだったと思う
368名無し変更議論中@詳しくは自治スレへ:2009/03/12(木) 00:12:32
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 =挿入

Excel2000の頃、単純な計算式を作る時、数式バーの「=」ボタンを愛用していました。
数字が入力されているセルにカーソルを置いて、=ボタンをクリックすると、その数字の前に=マークが挿入されました

Excel2000では、例えば、1 という数字が入っているセルをセル選択した状態で=ボタンをクリックすると、
セルの先頭に=マークが挿入され、=1 となります。
さらに+キーを打つと、=1+ となります。
そして2という数字が入っているセルをクリックしてエンターキーを押すと、3と出てくれます(=1+2)。

でも、Excel2007では1 という数字が入っているセルをセル選択した状態で=ボタンをクリックすると、
1の数字が消えて = しか出ません。

セルをダブルクリックし、1 という数字の前にカーソルをおいた状態で=ボタンをクリックすると、
=1 となってくれますが、さらに+キーを打つと =+1 となって+マークが数字の前に来てしまいます。

Excel2000と同じ使い勝手で=ボタンを使うことはできないのでしょうか。

教えてください。よろしくお願いします
369名無し変更議論中@詳しくは自治スレへ:2009/03/12(木) 00:17:04
>>367
ありがとうございました。
>>368
VBA使わない限り出来ません
>366
その設定ってどこにありますか?
372名無し変更議論中@詳しくは自治スレへ:2009/03/12(木) 01:01:15
>>362
ありがとうございます
VBAしかないんですね
373名無し変更議論中@詳しくは自治スレへ:2009/03/12(木) 01:02:23
>>370
ありがとうございます
VBAしかないんですね
374名無し変更議論中@詳しくは自治スレへ:2009/03/12(木) 01:04:43
>>1-1000
ありがとうございます
VBAしかないんですね
2007を捨てて2000に戻るという選択肢
ふーん、2000って微妙なところに細かいチューニングを施して
いたんだな
>>174
ありがとう。

発想の転換だった。
確かに他の開発環境とかでも、その点は同じですわ・・・。
 ActiveW(Ctrl+SPACE、選択).RangeF(Ctrl+SPACE、選択)(C.x, C.y)
というように、連続で打っていけばいいんだなー。


VBAでなく式の時もそれでいければいいのになー。

=ISNUMBER(とうとうとして、
=ISN(補完ウインドウ自動表示、選択)(

=ISN( ・・・orz
となるんですよね。

VBAの方は>>174さんの方法で乗り切るとして、AutoHotKeyかなんかで式編集の時の方法を模索してみます。
上手くいったら報告します。
>>上手くいったら報告します。

いりません。
379317:2009/03/12(木) 13:51:35
>>319
ありがとうございました。
やっと終わりました。thx
380名無し変更議論中@詳しくは自治スレへ:2009/03/12(木) 17:07:09
かいとか
どなたかお分かりになる方、教えて頂けないでしょうか。

集計行に式を入れれば、完成となる表があります。(数値はすべて0です)
一万行以上あり、細かい小計がたくさんあります。
小計を選択しては、オートSUMという作業を地道に繰り返していたのですが
(詳しい方、何人かに確認しましたが、それしか方法がないとの事で)
丸一日近く時間がかかりました。
他に方法があるのではと、ネットで検索した所、小計を複数選択し、オートSUMボタンをクリックすると
一気に式を入れる事が出来る事を知り

オートフィルタで1番小さい小計のみ選択→オートフィルタを解除し、オートSUMボタンをクリック
→オートフィルタで次に小さい小計を選択‥

と繰り返して、すべての小計に数分で式を入れる事が出来たのですが、いざ本表でしようと思うと
複数小計を選択しているにもかかわらず、オートSUMボタンをクリックしても、1番上の小計にしか式が入りません。

何が問題なのでしょうか?
また他に方法があるのでしょうか?
>>381
「VBAで出来るから自分でコード書いて」(>>3★2)
383381:2009/03/12(木) 22:06:42
大変失礼しました。
ご指摘ありがとうございます。

会社のPCのため、詳細がわからず(会社を出た後だったため)失礼しました。

また明日出直します。
>>381
そもそもの機能として備わってる「集計」は使わないの?
オートサムしたいだけなら。
数式わざわざ入れる必要ないし。
385381:2009/03/12(木) 22:20:29
>>384 レスありがとうございます。
表は過去実績を見ながら、来年度の計画を作成するためのもので
入力した数字がすぐ小計で確認出来ないといけないため、データの集計は使いませんでした。
データの集計でも入力した数字は即、小計に反映するけど?
少なくとも2003は…。
>>381 ピボットテーブルで
388381:2009/03/12(木) 22:45:30
集計は展開していかないと、詳細は見れないですよね?
表はフィルタで細かく選択出来るようにしているので。(スクロールが大変だと思うので)

エクセルの集計は知ってはいるのですが、使った事がないので、勘違いをしていたらすみません。
使ったことがないのに知っていると言い切るってすごいね〜
390381:2009/03/12(木) 22:56:01
>>387 今は完全に表を作り込んでしまっているので。
次回ピボットで試してみます。
ありがとうございます。

>>389 言葉足らずですみません。
何度か試してみた事はあるんですが、完全に理解出来てないものを
きちんとした表で使うのは不安なので、使った事がないんです。
左に出てくる番号をクリックすれば、任意の小計レベルで
一気に折りたたむことも展開することもできるけど…
392381:2009/03/12(木) 23:14:12
>>391 詳しくありがとうございます。
番号をクリックして確認、というのでは入力される方が大変だと思うので。

必要事項未入力、拙い説明にもかかわらず、詳しく説明頂いてありがとうございました。
大変ってw
どんな想像をしているんだろう
394名無し変更議論中@詳しくは自治スレへ:2009/03/12(木) 23:58:00
>>393
データを入力するシートと
集計シートを別にしたらどうだろう。
それで、シート2画面同時表示にする。
>>394
入力セルと小計を表示させるセルが同じ画面内に収まらなくて大変…、
ということならそれも一案だと思う。


あと、もしかして細かい小計がたくさんあるってのは
小計のレベルがいくつもあるってことかな?
だとすると、エクセルのデータ集計は3階層までしか集計できないので使えなかったね。

オートサムが一番上しか入力されないのは、
途中にブランクや文字列が入ってるってことはない?
ここに数式の入り方が詳しく解説してあるよ。
ttp://asugi23.web.infoseek.co.jp/excel/soft38b.htm
あのさー
なんてゆうのかな
行番号?
左端にある1とか2とか?
あと一番上のAとかBとか?
あの文字のフォントって変えれんの?
なんかたまーにあの文字が小さいやつがあるんだよね
どうやるのかなって思ってさ
教えてくれよ
397381:2009/03/13(金) 01:02:04
>>394 すみません。知識不足でよくわからないので、検索してみます。


>>395 リンクありがとうございます。
熟読して、明日データを再確認してみます。

小計は5列の項目事にあります。
A列が県だとすると、全県に小計があり、B列が市区郡、C列が商品の種類‥という感じで
各小計を足していく形になっています。

普段エクセルではない、データソフトをメインで使っていて、エクセルは詳しくない為
ついそちらで作り込んだ表を、エクセルに落として加工していました。
ピボット等で作成すればもっと簡単なのかもしれないですね。
>>396
Ctrl押しながらホイール回せ
ツール-オプション-全般-標準フォント
のところで設定してね
お、サンキュー♪
以外と役に立つな
401335:2009/03/14(土) 00:37:41
>>340
335です。その後コードを下記にしたら自動更新を止めるボタンも出来ました。
有難うございます。


Private myReserveTime As Date
Sub RSSEIの自動更新()
myReserveTime = Now + TimeValue("00:00:45")
Application.OnTime EarliestTime:=myReserveTime, _
Procedure:="RSSEIの自動更新"
Application.Run "銘柄メモ.xls!RSS全選択"
Selection.Sort Key1:=Range("EI27"), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
Range("L26").Select

End Sub

Sub RSS中止()
Application.OnTime EarliestTime:=myReserveTime, _
Procedure:="RSSEIの自動更新", Schedule:=False
MsgBox "N自動更新を停止します"
End Sub
Excel2007
相対パスについて質問です
同じ階層のファイルであればファイル名と拡張子でhyperlinkが出来るのですが
一つ階層が上のファイルにhyperlinkを相対パスで貼るにはどのような指定に
すればいいのでしょうか?
相対パス Excel hyperlink
という検索ワードでググってみましたがわかりませんでした。
ご教授お願い致します。
403402:2009/03/14(土) 04:16:48
上記402ですが自己解決しました。
単純なファイル名ミスでした・・・。
お騒がせしてすいません。
404名無し変更議論中@詳しくは自治スレへ:2009/03/14(土) 10:37:02
会社のPCにoffice2007が導入されたわけだがexcel2000で作ったチェックボックスに
チェックが入れられないw
とりあえずまだ古いバージョン使ってる香具師のPC借りてチェック入れたが
古いバージョンも入れとけばいいですか?
405名無し変更議論中@詳しくは自治スレへ:2009/03/14(土) 11:20:09
>>404
VBAのオブジェクト貼り付けてみては?
若しくは挿入の外字・特殊記号でチェックマークと四角両方いれておいて、いらないほう消すとか
>>378
横からだが、アホかw

このスレで、
自己解決しました〜(解決策なし)
ばかり並んでたらどう思うよ
407名無し変更議論中@詳しくは自治スレへ:2009/03/14(土) 20:53:35
大体どうやったか分かるし別にどうでもいい
408名無し変更議論中@詳しくは自治スレへ:2009/03/14(土) 21:24:41
クリップボードから、値だけを張り付けることはできないのですか?
409名無し変更議論中@詳しくは自治スレへ:2009/03/14(土) 23:37:46
→クリックで値にして保存か
セルをダブルクリックして編集状態にしてから貼り付けではダメですか
>406

自己解決の報告すらいらねーって意味だろ。
どっちかっていうと>406がアホだと思うよ。
>>408
俺はAutoHotkeyを使って Ctrl + Alt + V で値貼り付けを行うようにしてる。
数式をコピーしてようが、Webの書式付き文書や表をコピーしてようが、貼り付けられるのは値のみ。
>>409すら面倒と感じる場合は、導入を検討してみては?
>AutoHotkeyを

阿呆はほっとけぃと読んですまった
413名無し変更議論中@詳しくは自治スレへ:2009/03/15(日) 03:58:12
DELLのPCを買ったときにオフィスがついてきて、エクセル2002を使っているんだが、
新しくPCを買いかえた場合、今使っているエクセル2002を、新しいマシンに移籍させることは可能?
>>413
不可
415名無し変更議論中@詳しくは自治スレへ:2009/03/15(日) 07:17:23
>>413 可能
>>413
不可
元のをアンインストールすりゃ可能じゃないの?
そのむね電話すりゃいいんじゃね?
>>409 試しました。少ない時良いですね(後者は改行・全体表示対策要かな?)
>>411 応用含め使いでがありそうですね。
お二方、レス有難うございました。
ネタかマジか分からんけどPCに最初からインストールされてるOfficeはOEM品とかバンドル品だから、他のハードにインストールしたらライセンス違反。つまり駄目。
特定のハードと一緒に使うという事を前提に値段下げてる品だからね。そのPC以外に入れたら駄目。
パーツショップだとそれを逆手に取って、つけかえ可能なFDドライブのバンドル品として登録して、新しいPCにそのFD付けて下さいと言って売ってるアホもいるくらい。
ヤフオクとかにも謎のOEM商品出品されてるけど、買ったら駄目だよ。
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 文字列 順位 頻繁

行にある文字列のデータから、使われているデータ名を順位で取り出したいです

あいうえお
かきくけこ
あいうえお
さしすせそ
かきくけこ

というような行がある場合、使われているデータ名は
あいうえお
かきくけこ
さしすせそ
の3種類です

というように取り出す方法で良い方法はあるでしょうか。
どうぞよろしくお願いいたします。
「使われている」という判断が、何を基準になされているのか説明されていないので
良い方法も何も、エスパー以外これは無理。
>>420
ピボットテーブルレポートを使うとできる。
423名無し変更議論中@詳しくは自治スレへ:2009/03/15(日) 11:14:59
>>420
あいうえお それだけで一行全部ならcountifでいいんじゃね
かかあいうえおかか みたいにそれ以外の文字列が混じってるなら分からん

後はエクセルじゃないけど形態素解析ソフトとかいうものだと一発っぽい
ttp://taffy632.blog24.fc2.com/blog-entry-275.html
…ああ、重複削除したいってことか。
データ→フィルタ→フィルタオプションの設定→重複するデータは無視する
素直にパッケージ品のアップグレード版を買うのが一番いい
7-8年に一度買いかえればいいし、二台までインストールできるしな
結局これが一番安上がりですわ
こう計算すれば一台当たりせいぜい1,500円/年なんだから
ノートン買うよりずっとコストパフォーマンスはいいよ
使うんだし
>>425
値段はPowerPoint付きのstandard版で計算
427名無し変更議論中@詳しくは自治スレへ:2009/03/15(日) 12:11:49
コストパフォーマンスで考えればcellでも落とす方が良くね
0円/年だ
ネットがないならマンガ喫茶にて゚もいって落とせばいい
VBA全くいらないんだったらExcel使う必要ないだろ
ここExcelのすれなんだし何言ってんだか w
429420:2009/03/15(日) 13:14:04
レスありがとうございました。
おしえていただいた方法でやってみます。
>>427
cell?
calc(OpenOffice)じゃなくて?
431名無し変更議論中@詳しくは自治スレへ:2009/03/15(日) 19:01:38
VBA みんな、どうやって自分流の構文作れるようになったの?

指定の列範囲B5:B20内に上から書かれた文字だけコピーして
別なE列に貼り付けってどうやって構文作るのかヒントだけ教えて
解答は書き込まないで
432名無し変更議論中@詳しくは自治スレへ:2009/03/15(日) 19:21:19
>>431
自分流もなにもマクロの記録したあとにそれっぽいトコ変えて往けば覚えられるよ
if構文とかloopは関数に比べたら多少難しいけど、やりたいことがあればすぐにできるようになる
逆に言うと仕事に必要な状況でもない限りなかなか覚えられないかもしれない

あと上から書かれた文字だけコピーってのがよくわからないからヒントすらかけないわw
まぁマクロの記録でコピーして貼り付けでもやつてみれば?案外すぐできるかもよ
おいらも10数年前にVBA覚え始めた
・最初はマクロの自動記録
・それを汎用性のあるものに改編
ってのの繰り返し。
当時はWEBでの解説もそんなになかったからひたすらヘルプを
みてサンプルスクリプトを利用していたけど。
あとはこのすれでものぞきながら、あーこうやってやるんだと
知識の吸収。
とにかく自分で使う必要がないと覚えないよ。
excelって英単語の途中で自動改行ってできないんだっけ?
>>434
できない
436名無し変更議論中@詳しくは自治スレへ:2009/03/16(月) 06:09:54
excel2003のツールバーの絵に合わせるとポップアップで
『切り取り』『印刷』みたいに表示されるんだが
あれって表示させないことできるの?
ツールチップのことか?

ツールバーで右クリックして、一番下のユーザー設定を開き
オプションタブで「ツールバーにボタン名を表示する」のチェックを外せば
ツールチップは表示されなくなるが。
【1 OSの種類         .】 WindowsXP Home Edition sp3
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】セル単位 行単位 ピクセル単位 スクロール セルサイズ 大きいセル

1つのセルの高さを広げて(一画面に一セルが表示されるくらいの大きさ)、
その状態でスクロールさせると一気に1セル分スクロールしてしまいます。
1セルのなかで微妙にスクロールさせることは出来ないのでしょうか?

ググった結果「無理」との記述を見かけましたが、
ココの皆さんなら解決策をご存知かも!と思い書き込ませていただきました。
よろしくお願いいたします。
>>438
無理なんだよねぇ
それだけ長いってことは長文だろうし、長文はもともとエクセルに向かないのです
440438:2009/03/16(月) 14:36:39
>>439
早々のお返事ありがとうございました。
法文と解説の一覧表を作成していたので、記述がたくさんになってしまって・・・Orz
セルを分割して対応したいと思います。
441名無し変更議論中@詳しくは自治スレへ:2009/03/16(月) 17:16:50
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007 2003互換モード
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 わからず
2003では正常ら動いていましたが、現在、マクロが効いていません。
application.run のあとにaaa.xls マクロ名をどのように変更すれば
2003互換モードで動きますか
443名無し変更議論中@詳しくは自治スレへ:2009/03/16(月) 20:50:07
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 置換 シート 置換シート


特定の文字を置換を使って置き換えたいのですが
ブック内のすべてのシートで一気に置換する方法ってVBA使わないと
ないでしょうか?
はい、VBA使わないと出来ません
445名無し変更議論中@詳しくは自治スレへ:2009/03/16(月) 21:20:07
For each使えば楽勝ですよ
VBAでどうやるかなんて聞いてない件について
447名無し変更議論中@詳しくは自治スレへ:2009/03/16(月) 21:33:16
ピボット厨さん出番がないからってひがまなくても
そのうち集計させてもらえますよ^^
>443

全シートを選択した状態で置換
シートを全選択して置換すればできるよ。
VBAで作るのは容易いのですが
この作業ブックだけはマクロ使うわけにはいかないのです。
451441:2009/03/16(月) 21:45:39
>>442
紹介いただいた、そのgoogle検索3番目は、訳もわからず、検索したときに出会いましたが、
関係ないようです。今になって、ようやく、説明がうまく出来るようになったかも。

applocation.runで呼び出されたファイルのマクロを、互換モードがマクロ無効にして開くため、
効いてない状態です。それで、マクロ名の変更では対処できないということになります。
互換モードでなく、2007で全てのファイルを.xlsmにするしかなさそうです。
>>447
典型的なVBA厨。ばかまるだし。
図星を突かれて悔しかったの?
頼むからお前らこのスレのレベルをこれ以上落とさないで
低レベルな口げんかは余所でやってくれ
>>452
図星だったのかww
論破したしこの辺で消えますねー^^
おやすみなさい^^
456名無し変更議論中@詳しくは自治スレへ:2009/03/16(月) 23:29:36
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】削除 重複


重複するデータを削除する場合、

2007バージョンで
データのタブのデータツールグループから
重複の削除ボタンをクリックする
と、出てくるページを
2003バージョンで出すときはどうすれば良いのでしょうか。
2003には実装されていない機能なので、どうやっても出てきません
新しいソフトにある機能が、全て古いソフトにもあると思わないように
458名無し変更議論中@詳しくは自治スレへ:2009/03/16(月) 23:38:30
>>457
ありがとうございます
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 勉強中ですが、ほとんど使えない。記録したマクロをちょっと直す程度。
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

ゴルフのスコア表を作っています。

氏名 スコア ハンデ用
鈴木 100 +10
佐藤  85 +5
田中 120 -20

のような感じのデータがあり今回の場合だと、田中さんは100、鈴木さんは105になります。
ハンデ込みの順位とハンデを含まない順位を見た目にわかりやすく判断できるようにグラフも作ろうと思ったのですが
マイナスの部分がどうすればいいかわかりません。

鈴木     |||||||||||
佐藤     |||||||||
田中     ||||||||||||||

こんな風にマイナス方向にも伸びたグラフになってしまいますが、
できることなら120からマイナス方向に20折り返しているようなグラフにしたいです。

元々の目指すところが間違っていて、ほかにもっとわかりやすいいい方法があるのかもしれませんが、
とりあえず今思いつく一番いい形がこれなので、もし可能ならやり方を教えていただきたいと思います。
お願いします。
460459:2009/03/17(火) 00:36:21
すいません、確認ミスです。
例に挙げた表の場合鈴木さんのスコアは105ではなく110です。

よろしくお願いします。
鈴木がA1として

D1=B1-F1
E1=C1*(C1>0)
F1=ABS(C1*(C1<0))

鈴木 100 +10 100 10  0
佐藤  85 +5   85  5  0
田中 120 -20 100  0  20

で、後ろの3列をデータとして積み上げ横棒グラフを作る
系列1と2を濃い色、系列3を薄い色にすれば、薄い色の分がマイナスの折り返しで
薄い色も含めたグラフの長さがハンデ無しの順位、濃い色のグラフの長さがハンデ含む順位
462名無し変更議論中@詳しくは自治スレへ:2009/03/17(火) 14:19:41
ttp://home.hccnet.nl/mortu/Hunter_DPS.xls

こちらにおいてあるワークシートについて質問なんですが
overview tabの14段目にある"click in cell above〜”や18,28段目においてある同じようなcellの操作がわかりません
おそらく14段目のはその上にある文字列をどうにかするとwork sheet全体に反映される何かがあると思うんですが・・
cellに保護がかかっているため変更できません
思うに何か大きな勘違いをしてるような気もするんですが、操作方法がわかる方いらっしゃったらどうかご教授宜しくお願いします
463名無し変更議論中@詳しくは自治スレへ:2009/03/17(火) 16:19:29
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007 互換モード
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】

ブックの共有についてです。
5台のPCでExcelのブックを共有しています。
server2003上のExcelファイル(フルコントロール状態)を同時編集
可能で共有しており、他の4台(XP3台・vista1台)は問題なく閲覧・
変更出来るのですが新たに追加したvista機からの閲覧等に下記
の不具合があります。

・閲覧は第1回目にファイルを開いた状態から更新されない。
(はじめてPCを繋いで開いた時から変わっていない。もちろん他者
によってたくさん変更されている)

・上書き保存した場合、自分のPCで見ると変更されているが他者
には更新されていない)

とにかく、同じファイルにアクセスしているのにもかかわらず、
新たに設置したPCのみが孤立しているような状況です。
(もう1台のvista機と設定は同じです)
やや板違いの予感もしますが、よろしくお願いいたします。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
複数のエクセルファイルの、さらに複数のシートのとあるセルだけを抜き出したいです

たとえば営業.xlsの中に浜田、松本という2つのシートがあり
同様に会計.xlsには天野、ウド、宮迫、蛍原というシート
人事.xlsには内村、南原・・・
という感じでたくさんあります

この全てのシートの(たとえば)D7のセル(給料)の値を取り出して
営業|浜田|1000万
営業|松本|800万
会計|天野|75万
会計|ウド|15万
会計|宮迫|45万
会計|蛍原|45万
人事|内村|120万
人事|南原|800万
   ・
   ・
   ・
のような表を作りたいのですが
部署と人名もファイル名やシート名から関数などで自動的に引っ張ってきたいのです
(オートフィルだけで全部どーんと完成するような)
また、可能ならばシートを追加した時にも自動でこの表に追加されるようにはできますか?
465464:2009/03/17(火) 16:41:19
追記です
INDIRECTやINDEXなど
どんな関数を使っても構いません
>>464
そのブックと営業やらが同じフォルダにあり、営業がA1、浜田にB1、と入ってるする
c1=INDIRECT("["& A1 &".xls]"& B1 &"!$D$7")
後は下にオートフィル
多分開いてないと更新されないと思うけどこれは仕様なんで、更新したいときはドラッグで範囲選択して一気に開くと良い・・かもしれない
467名無し変更議論中@詳しくは自治スレへ:2009/03/17(火) 17:13:18
本当は大元のデータは1つのファイルの1つのシートにまとめて
個人別の帳票は元のデータを参照して別シートに作るようにすれば
物凄く単純に出来る話なんだけどね。
まあ自分一人でやってる仕事でも無ければ理想的にはいかないよね。
468464:2009/03/17(火) 17:40:44
>>466
その場合って営業と浜田は自分で手入力ですよね?
営業のほうの列はともかく
浜田のほうの列はシート名から引っ張っては来れないのでしょうか
関数であればどんな関数を組み合わせても構いませんので
>>468
無理です
そのセルのシートなら名前の取得は出来ますが

インデックス(シート番号)を元に名前を取得するのはVBAでしか出来ないことです
470名無し変更議論中@詳しくは自治スレへ:2009/03/17(火) 18:14:40
EXCEL2007についての質問です。

セルのコピー等をした時等に、
5mm角くらいの箒みたいなアイコン(書式オプション)が表示されますが、
この表示を消すにはどうすれば良いのでしょうか。
(出来れば最初から表示されないようにしたい)
プルダウンメニューのオプションを指定しても消えないのですが。

よろしくお願いします。

>>463
まず設定が同じつもりで、実は同じじゃない可能性を疑ってみる。
ファイルをショートカットなどから開いているのなら、そのショートカットのリンク先を確認する。
次に、ネットワークドライブが正しく接続されているかどうか確認する。
>>470
出てしまったアイコンを消す時はEscキー
最初から出さないのはExcelのオプション→詳細設定→[貼り付けオプション]ボタンを表示する
473459:2009/03/18(水) 00:18:31
>>461
すごいです。今試したんですが、すごくわかりやすくなりました。
グラフの色の設定のアドバイスまでいただいてすごく助かりました。
ありがとうございました。

もし、追加の質問が可能ならお聞きしたいのですが、
以前と同じように範囲を指定したつもりですが、
マイナス方向に伸びずに折り返すのはなぜなんでしょうか?
範囲は後ろの3列を指定したんでしょ?
>>459にはマイナスの値があるからマイナス方向に伸びる。

>>461はそれを避けるために、すべてをプラスで表現して
色を工夫することで、あたかも120で折り返してるように見せかけてるだけ。

コツは、C列にある。
マイナスのハンデを持ってる人のスコアを、ハンデ分を差し引いた値にすることで
積み上げたときに実際のスコアと等しくなるように組まれてる。

グラフそのものはただの積み上げグラフだよ。

これホントわかりやすい。
ためしに作成してみたけど作ってて面白いw
475459:2009/03/18(水) 01:18:23
あ、そうか。コピペしながらそうかそうかって思ってたんですけど、
グラフの色直したり項目名付けたりしてる間に「あ、そうか」って思ったのを
すっかり忘れてました。

これを使えばいいものができそうです。
>>461さん、>>474さんありがとうございました。
476名無し変更議論中@詳しくは自治スレへ:2009/03/18(水) 08:31:49
これをまとめて、コードを短縮するにはどうしたらいいでしょうか。
Rows("1:101").Delete
Rows("2:102").Delete
Rows("3:103").Delete
     │
     │
Rows("1000:1100").Delete
>476

For〜Next。
"n:n+100"部分は文字列変数で指定する。
478470:2009/03/18(水) 08:59:53
>>472
レスありがとうございます
>>476
For...Nextはいいんだが、指定は文字列にしないでResize使った方がいいね。
Rows(i).Resize(101).Delete

あとはApplication.ScreenUpdatingもお忘れなく。
データを間引きたいんなら、行削除よりコピーのが速くね?
481476:2009/03/18(水) 18:58:04
>477,>479 どうもありがとうございます。

OKwaveでも質問したのですが、解決できなかったのでこちらで質問させてください。

医薬品リストの作成を依頼されているのですが、薬効別にソートして印刷したリストに索引
を添付しなければならないのですが、効率よく索引を作成する方法をご教示いただきたく
お願い申し上げます。

薬効別リストにページ番号欄を設け、別のシートで五十音順リストを作成し、ページ番号を
リンクさせたいのです。また、薬品の追加や削除があって、ページが変更になっても、索引
に反映できるようにしたいのです。

OKwaveで回答をいただいた方法で、ページ番号欄に =Int(Row()/40)+1 としたところ、
1ページごとに1行ずつズレが生じてしまいます。

他に良い方法は無いでしょうか。


【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 "Excel ページ番号取得" "Excelで 索引を作成" "Excel 索引 作成するには" 

>>482
薬品の名称や薬効は、適当な文字列に置換して良いので
まずはブックをロダに上げて

話はそれからだ
484482:2009/03/19(木) 00:10:54
>>483
ありがとうございます。

テンプレにアップローダの案内が無いのですが、オススメありますか?
>>484

好きにしたらええがね・・・
何でExcelでやりたいのか知らんけど。
>>484
ファイルサイズに合わせて自分で選べ
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 検索ワード特定できず


A1の数値とA2の数値が同じ場合は
「正解です」と表示され
違う場合は
「不正解です」
と表示させるにはどうすればいいでしょうか?
>>487
IF関数
>>487
a3=if(a1=a2,"せーかい","ふせいいか")
>>488,489
ありがとうございました
>>482
医薬品のリストってのはExcelの一つのシートにずらーと書いてあるのか?
で、医薬品は一行に薬効、薬品名、etcが記載してあるのか?
OKwave?
わからんし探す手間も惜しい

簡単にするには、
・薬品は一種類一行にすること
・Excelで一ページ40行なり切りのいい行数で印刷できるように、
印刷設定をあらかじめ決めておくこと。行の高さの変更厳禁。
・シートの最上部には Ref No. 効用、品名、備考etcなどを書いておき、
 印刷設定で最上部行をページタイトルにするよう印刷設定をしておく。
・Ref No.の列(A列)に=INT(ROW()/40)+1とする。ずれるなら+1を+0なり
 +2なり適当に変えろ

印刷するとき、各ページに
番号 薬効     薬品名    備考
1   痛み止め  ほにゃらら  副作用怖い

とか最上部にデータの内容を記載してないのか?
印刷設定で自動的に各ページにこれを追加できる設定があるんだが
ちゃんとやっているのか?

・行の先頭のセルには通し番号を付ける。
特定のセル(例えばA1)に入力された値を非表示、もしくは***にすることはできませんか?

マクロを実行する過程でそこの値を参照させるのですが、パスワード的なものなので
できるだけ見られないようにしたいんです。

今のところ、文字を白色にして見えないようにしてるんですが・・・
493482:2009/03/20(金) 00:47:02
皆様いろいろありがとうございます。

>>483 >>485
作りかけなんですが、上げました
http://uproda11.2ch-library.com/11166645.zip.shtml キー:xls

>>484
元データはAccess97で作成したのですが、索引を作成する方法が思い浮かばず
Excelに移行させました。
Excel以外で効率よく作成できる方法がございましたら、是非ご教示いただきたいです。

>>491
最初の行に行のタイトルがあります。行の先頭には通し番号も付けてあります。
行の高さも1ページ40行になるように行の高さを調整しました。
ページ番号欄のInt関数はタイミング検証のため省いてます。

ページ番号欄なんですが、行のタイトルがある為、1ページ目は40行、2ページ目から
行のタイトルを引いた39行ずつ印刷されるので、"=IF(ROW()<41,ROW()/41+1,ROW()/40+1)"
としてみましたが、3ページ以降から1行ずつズレてしまいます。

ヘッダやフッタのページ番号を取得してページ番号欄に持ってくることはできないでしょうか。
良い方法があれば是非ご教示いただきたく、お願い申し上げます。

>>492
非表示のシートに値を入れて、ブックに保護掛けろ
但し非表示のシートのA1に値を入れている場合
=非表示のシート!A1
で値が参照出来てしまうので、それにも対処したいなら
可逆暗号化を組み合わせることだな

可逆暗号化についてはExcelとは関係ないし
アルゴリズムサンプルはいくらでもあるから自分で調べてね
495482:2009/03/20(金) 01:25:34
すみませんアンカーミスです。

>>493

>>484
>元データはAccess97で作成したのですが、索引を作成する方法が思い浮かばず
>Excelに移行させました。
>Excel以外で効率よく作成できる方法がございましたら、是非ご教示いただきたいです。

となってますが、>>485の間違いでした。 ごめんなさい。
>>493

=INT((ROW()-2)/40)

とすればよろし
>>489
イカ!
OKwave検索してもとのやつみたが、回答されたのは一行目の
タイトルを考慮していない場合のもの。
まあ、この回答で応用が利かないのもなんだが、タイトルぐらい
想像できないのも回答者としてなんだなという感じはするな w
499482:2009/03/20(金) 09:08:44
>>496
ありがとうございます。

=IF(ROW()<40,INT((ROW()-2)/40)+1,INT((ROW()-2)/39)+1)

で、ページ番号のズレがなくなりました。助かりました。
ありがとうございました。
セルをコピーして、ペースト以外の操作をするとコピーが消えるのが嫌なんですが、
消えずにいつでもペーストできるようにするにはどうすればいいですか?
>>500
値だけならクリップボード拡張を使う
書式なども含めてなら、VBAを使う

あとは>>3★2でよろしく
>>501
ありがとうございます。できました。
503名無し変更議論中@詳しくは自治スレへ:2009/03/20(金) 13:01:25
複数あるCSVファイルのうち任意の1つを読み込んで加工するマクロの場合の
マクロの始動で考えています。
CSVファイルをダブルクリックで開くと、ボタンが配置できません。
ツールバーには目立つ細工はしたくないので。
そうですか
いくら何でもひどい質問だなぁ・・・
506名無し変更議論中@詳しくは自治スレへ:2009/03/20(金) 13:50:56
俺はエスパーなんでやりたい事は何となく分かるんだが
もうちょっと落ち着いて質問を書き込んだらどうだ?
CSVをダブルクリックして開かせるなんて邪道じゃろ
専用マクロを開かせてその中からボタン押させてCSV
選択させればよろし

想定していない別のCSVをダブルクリックすると、変な
マクロが発動されても困るじゃろな
508名無し変更議論中@詳しくは自治スレへ:2009/03/21(土) 11:31:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

白黒で棒グラフを書く必要があるのですが、カラーが使えないので
漫画でいうトーンみたいなものを使いたいのですが、そのような設定項目が見あたりません。
こういう機能はないのでしょうか?
>>508
データ系列の書式設定 > パターン > 領域 > 塗りつぶり効果 > パターン
      確認
1月1日  ○
1月2日  ×
1月3日  ×
1月4日  ○
1月5日  ×
1月6日  ○
1月7日  ×
 ・
 ・
 ・


最終確認日 1月6日 

このような表で、最終確認日を表示したいのですが、関数で出来るでしょうか?

【1 OSの種類         .】 Windows vsita
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
よろしくお願いします。

vistaで97ってすげえな
何世代目のコピーっすか
>>510
関数で出来ますよ
514名無し変更議論中@詳しくは自治スレへ:2009/03/21(土) 16:23:37
多数の関数などを使用した大容量のファイルを開くと処理速度が遅くなります。
次に買うパソコンのスペックはどの様なものを選べばいいでしょうか?
やはりメモリとCPUを重視すればいいでしょうか。
ウインドウズビスタならメモリがいくら以上、CPUならこれといった具合に教えて頂きたいです
よろしくお願いします
515514:2009/03/21(土) 16:25:27
514です。
ちなみに今の仕様は
ウインドウズXP・メモリ512M・CPUはAMD64Athlon・エクセルは97です。
>>514
【エスパー】超初心者の質問に答えるスレ92【マジレス】
http://ex24.2ch.net/test/read.cgi/pc2nanmin/1237296142/
今時はエクセルごときでCPUの能力が飽和することは無いので、メモリの方が遥かに重要。
メモリは一定の容量まではほとんどをOSにカッパラわれてしまうが、
逆にその容量を越えた途端に他の動作に回す余裕が出てくる。

その在る一点てのが、2000なら256M、XPなら512M、Vistaなら1G
よって、XPなら1ギガ、Vistaなら1.5ギガもあれば快適に動くはず
そのPCでも512M増設するだけで全然違うよ
>>514
買い換える前に・・
まず
その関数を見直す。差し支えなければブック毎アップロードしてくれれば見るよ

それが無理なら
常駐ソフトを全部切る。特にウィルス検地ソフト
使ってないサービスは可能な限り切る(復元ポイントなど)
いらないソフトはアンインストールする
デフラグする

で解決しなければ
OSは2000かXP。
CPUはintelならduoかquad、AMDならPhenom。メモリはどうせ安いから2GBいれとけ。
メーカーはdellかHPいいと思う。NECとか富士通はゴミソフトが多すぎる
vista買うぐらいなら中古の方がマシかもしれない
>>517-518
やさしい人だな・・・・ってか、優しすぎ!
前提にケチをつけたり簡単なことをいちいち難しく言う奴にはアホが多い
メモリが必要以上に載っているパソコンは
大概他の部分も(無駄に)オーバースペックなので無駄に高い
ビジネス用途なら、やっすいのを買って自分でメモリだけ増設するのが吉
>>513
ありがとうございます!
まさにこのやり方が知りたかったんですが、セルにパスワードがかかっていて
数式が見れないです・・・><
>>522
C1=(B1="○")*A1
D1=MAX(C:C)
セルをまとめたければ配列数式・LANKかMAX辺りでぐぐれば出てくると思う

ちなみに>>513はマクロを使用、関数ではございません
C1=(B1="○")*A1
の後は下にオートフィルな
>>523
>>524
ありがとうございます!助かりました。
526514:2009/03/21(土) 18:36:57
>>517-518
よくわかりました。
参考にさせていただきます。
最近PCの値段が結構安いので少しいいの買います。
ありがとうございました
先輩方・・
【1 OSの種類         .】 Windows xp-sp3
【2 Excelのバージョン   】 Excel2003/2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ipアドレス excel リスト 作成

IPアドレスの一覧を作成したいです。
69.208.0.0/16 ←この表記の場合の範囲は
69.208.0.0 〜 69.208.255.255 でしてIPの総数は 65,536 個あります。

作成したい表はこんな感じです。
A1 69.208.0.0
A2 69.208.0.1
・・・・繰り返し・・・
A65536 69.208.255.255

1桁目と2桁目は常に変わらない値です。69.208
3桁目と4桁目は0〜255の間で変化します

よろしくお願いします。。
4桁の数字を4つのセルに分解して

3桁目は0が256回続いたあとに今度は1が256回続いて255まで繰り返し
4桁目は0〜256 0〜256の繰り返し

それらを後で結合ってイメージかな
それをどうすれば良いか訊いているのでは…。
>527

A1=69.208.0.0
A2="69.208."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)

A2を選択
[Ctrl]+[C]
[Shift]+[Ctrl]+[↓]
[Ctrl]+[V]

>>527
A1="69.208."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
後は下にオートフィル
>>528
コピーペーストするつもりだったのか?
1秒差で同じ回答とかすげーな
533530:2009/03/21(土) 20:53:23
修正

A1="69.208."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)

A1を選択
[Ctrl]+[C]
A2を選択
[Shift]+[Ctrl]+[↓]
[Ctrl]+[V]
修正して同じ解答とかアンタ
535530:2009/03/21(土) 20:55:53
>531

やらないか?
ウホッ
537527:2009/03/21(土) 21:00:04
先輩方ありがとうございます!
早速試してきます(`・ω・´)ゞビシッ!!
うわぁぁできたっ(´;ω;`)

>>530
>>531
ありがとうありがとういつもありがとうm(_ _"m)


すごいなすごいな(´・ω・`)

INT((ROW()-1)/256)というのを使えば69.208の部分も変えられるのかな。
と思ってやったら失敗した。。
開始する数字は-1っていうところを変化させるのかな。やってみよう。。
全然違った
>>538
208を0から
A1="69."&INT((ROW()-1)/256/256)&"."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
208を208から
A1="69."&INT((ROW()-1)/256/256)+208&"."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
A1="69.208."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)

65536行おきに208の部分が209..210..と増えていったり

若しくは指定された数値(1 10 100)に変化させていくことは難しいですか?聞いててごめんなさい。。
>>541
上は>>540で既に答えてる
下の質問は良く分からないが好きな数字に変えたければ
A1="69."&INT((ROW()-1)/256/256)+208&"."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
の+208の部分を+1や+10にでもすればいい
>>540
書いてたらレスが。。
ありがとうございます!

その方法でやってみたら

69.208.255.255の後に
69.209.0.0が来ることを期待したのですが

69.209.256.0という数字が来てしまいました。。
>>542さん
ありがとうございます。

>>541の下の質問なんですが
A1="69."&INT((ROW()-1)/256/256)+208&"."&INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
の方法だと208から始まって次は209 210と1ずつ増えていくと思います。

この 208→209→210 というような動きではなくて
自分が指定した数字で変化させていくことは難しいでしょうか。

おおまかなイメージ
=208, 30,75
208→30→75と65536行おきに変化


たくさん教えてくださってありがとうございます。。
>>543
="69."&INT((ROW()-1)/256/256)+208&"."&MOD(INT((ROW()-1)/256),256)&"."&MOD(ROW()-1,256)
65536行までしかないからきづかなかった
>>544
D1、D2、D3に208 35 75
="69."&INDIRECT("d"&INT((ROW()-1)/256/256)+1)&"."&MOD(INT((ROW()-1)/256),256)&"."&MOD(ROW()-1,256)
546名無し変更議論中@詳しくは自治スレへ:2009/03/21(土) 21:54:05
初歩的な質問すみません。

「1-1」と入力すると1月1日と出ます。
普通に1-1と表記したい際は、どうしたら良いのでしょうか?
>>546
「'1-1」と入力する
若しくは先に書式設定で文字列を選択してから、「1-1」を入力する
>>546
セルの書式設定で表示形式→分類→文字列とかにすればOK
>>547-548
ありがとうございました。
無事に解決しました。
>>543
式のことはわからないけど無理なら2桁目だけはセル切り離して後で結合するとか

A1=69.
B1=INT((ROW()-1)/256/256)+68&"."
C1=INT((ROW()-1)/256)&"."&MOD(ROW()-1,256)
D1=A1&B1&C1

微妙だな('A`)忘れてくれ 天才に任せた
551名無し変更議論中@詳しくは自治スレへ:2009/03/21(土) 22:10:14
質問です
OS ウィンドウズXP
Excel2000
VBA可

Excelピポットテーブルでページエリアの設定に、
特定の文字から始まるデータを対象にできますか?
例)AAA- から始まる、BBB-から始まる

ピボット厨さん出番ですよ
できないよ
あらかじめLEFTかなんかで作業列のフィールドを作っておく必要がある
ピボット神話崩壊
>>550
それでやっていきます(`・ω・´)ゞビシッ!!



今日はスレ汚しすいませんでした。

教えてくださった先輩方ありがとうございました!!
いつも本当に感謝しています。
556名無し変更議論中@詳しくは自治スレへ:2009/03/22(日) 00:26:32
>>554
ピボットテーブルとVLOOKUPをペアで使えと言ってるだろう。
LEFTはVLOOKUPの部分集合だからな。
557名無し変更議論中@詳しくは自治スレへ:2009/03/22(日) 00:45:25
Excel2000でさ、ワークシートをコピーしたときにVBAでイベントを起こしたいんだけどどうしたらいい?
Newsheetじゃコピー時には呼び出してくれない。
>>557
イベントは起こしようが無いが、シートをコピーした場合にも
コピーしたシートを引数にWorkbook_SheetActivateが起こるから
あとはそれが既存のシートかコピーされた物かで条件分岐すれば良い

又は使用者が限定されるなら、シートのコピーをVBAで行い、
コピーと同時にイベントで行いたい処理まで一括してしまう方法もある
初歩的な質問失礼します。
if関数の論理式には、なんていうんですか、=や<、>を使った物しか使えないんでしょうか?

セルA1が東京ならばB1には「関東」と、セルA2が大阪ならB2には「関西」…といった具合にif関数で入力しようと思ったんですが…
ご教授お願いします。
>>559
VLOOKUP
>>559
=IF(A1="東京","関東",IF(A1="大阪","関西",""))
>>560-561さん
回答ありがとうございました!
ExcelなんてピボットテーブルとVLOOKUPさえ覚えたら他は必要ないよね。
せいぜいソルバーぐらい知っとけばいいかな。
なんでVLOOKUP?
使ったことほとんどねーな。
VLOOKUP使うくらいならINDEX+MATCH使うわ
左端とか気にしなくていいし
&知っておくと出力用のシートで大活躍
後は選択範囲で中央ってのはかなり便利だぜ
関数より、正規化の概念の方がよっぽど大事だとおもう
567名無し変更議論中@詳しくは自治スレへ:2009/03/22(日) 14:40:47
>>556
文字列の左3文字を取り出すみたいな事をVLOOKUPだとどうやるの?
TAB区切りのデータがあり、データ中に001,002,003などの
テキストデータが存在しています。

TAB区切りデータをエクセルにドラッグすると、
001,002,003が1,2,3と頭の00が取れてしまいます。

ファイルメニューから読み込みをして、列の定義をすれば読み込むことが
出来るのを知っていますが手間です。

簡単に001,002,003そのままに開くことができる方法はありませんか?
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

仕事でデータ管理を行っています。
VLOOKUPでPC内のファイル内データが参照されているのですが毎年、昨年のデーターの参照先を変えています。

参照するファイル名は”2008年報告書”で、
=VLOOKUP(○,2008年報告書△,×,□)となっています。

例えば、A1のセルに"2009"と入力してあるとし、関数で昨年と認識させ、2009-1で2008となり、
ここから”2008年報告書”を導きだすことは出来ませんか?

よろしくお願いします。

>>569
2008年報告書△

indirect(a1&"年報告書△)
571570:2009/03/22(日) 15:14:52
スマン、こっちが正しい
indirect(a1&"年報告書△")
>>568
VBA
>>568
VBAで出来るから自分でコード書いて(>>3★2参照)
>>571
早い対応感謝です。
早速ためしてみます。
574569:2009/03/22(日) 16:11:54
度々すみません
うまく行かなくて戻ってきました。

Cドライブの燃料使用量フォルダの2008年燃料使用量.xlsのカレンダーシートを参照しています。

=VLOOKUP(B9,'C:\燃料使用量\[2008年燃料使用量.xls]カレンダー'!$D$5:$E$375,2,FALSE)
上の式なら参照されます。

教えて頂いた通りに I2に”2008”と入れ下記のようにしました。
=VLOOKUP(B9,'C:\燃料使用量\[INDIRECT(I2&"年燃料使用量.xls")]カレンダー'!$D$5:$E$375,2,FALSE)

うまく行かなかったので
I2に”2008年燃料使用量.xls”と入れ式を作ってみましたが駄目でした。

よろしくお願いします。
575名無し変更議論中@詳しくは自治スレへ:2009/03/22(日) 16:19:20
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
棒グラフを作成したのですが、X軸、y軸もそうですが、
軸の書式設定→パターン→目盛りラベル
で目盛りラベルを「なし」にするともう、ラベルを再度表示することができなくなってしまうのですが、、、
軸の書式設定の設定画面がどこにも表示されなくなってしまうのですが、
どこで設定すれば良いのでしょうか?よろしくお願いします。再設定の仕方を教えてください。
>>574
=VLOOKUP(B9,INDIRECT("'C:\燃料使用量\["&I2&"年燃料使用量.xls]カレンダー'!$D$5:$E$375"),2,FALSE)
indirectに入れて""で囲み、2008の部分を"&i2&"に置き換えるだけ
>>575
ttp://www1.axfc.net/uploader/Img/so/40648.jpg
ここ右クリックでいけると思うけど
>>575
グラフの端に線1本だけ残ってるでしょ?それを右クリック
ttp://windyakin.if.land.to/src/up38_1120.png
>>545さん
レス見逃してました
ありがとうございます!!
>>567
3文字取り出したデータを最初から用意しとくんだよ。
LEFT() ⊆ VLOOKUP()
これ理解してる?
>LEFTはVLOOKUPの部分集合だからな。
!?!?!
581名無し変更議論中@詳しくは自治スレへ:2009/03/22(日) 19:57:32
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel97および2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル 選択

A列B列C列のそれぞれ複数のセルに文字列が入力されているシートがあります。
A列からひとつ、B列C列からもそれぞれひとつずつのセルを選び(マウスでセルをクリック)、
選んだセルに入力されている文字列を連結したいのです(最終的にはクリップボードへコピー)。

A列[  ]B列[  ]C列[  ]連結[  ]
↑確認のため、このような表示もほしいです。
フォームが望ましいですが、別のセルに表示してもかまいません(ABCD列の1行目に表示用のセルを作っても可)。

必ずしもA列B列C列の順に選択するわけではなく、例えばB列C列A列の順に選択した後
B列を選択しなおすこともあります。

よろしくお願いします。
>581

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
583名無し変更議論中@詳しくは自治スレへ:2009/03/22(日) 20:16:48
>>579
>3文字取り出したデータを最初から用意しとくんだよ。
バカスww
>>583
何も間違ってないやん。
何が面白いのかわからない。
エクセルで出来る事は全部手作業で出来るから
VLOOKUPも手作業の部分集合だよw
586名無し変更議論中@詳しくは自治スレへ:2009/03/22(日) 21:26:05
>>558
サンクス
>>585
別にLEFTを使うなとは言ってないんだぞ。LEFTを使うことはVLOOKUPを使っていると言える。

LEFTはVLOOKUPの部分集合だということは理解できたようだな。
>>587
は釣りですので誰もレスしないように

どうしてもしたい場合は
【質問不可】Excel総合相談所スレの雑談・議論スレ2
http://pc11.2ch.net/test/read.cgi/bsoft/1151651536/
こちらへ
部分集合って言葉使いたいだけだろ
間違ってるけどなw
>>565
VLOOKUPを実現したいだけなのにINDEX+MATCHを使うほうがよいという根拠がよくわからん。
キー項目が左に限定されるのはVLOOKUPの短所ではなく長所だと思っている。
覚え立ての言葉を使ってみたいんだよ。煽りも無知も回答者の部分集合だし。
>>582
どうもthx。
Targetに値が入るので、それを使えということですね。
なんだか部分集合という言葉に過敏なやつがいて笑えるな。
>>590
左限定で何故長所に?そりゃ本当に主キーを設定できるなら左端1行でいいだろうけど、
現実はそういうわけでもない、むしろ少ない方だろう
主キーが真ん中にある場合、左にわざわざ移動させたり、左の列に真ん中を参照させたりするケースもある

他にはvlookupもindex+matchも範囲選択するが、その範囲内全てをメモリに入れてしまう
でかくなればなるほどvlookupが遅くなる
古いパソコンだとこれが結構痛い。

アクセス使えって話はやめてくれよ。スレタイ嫁としか返せないから
エクセルの全ての関数はVLOOKUPの部分集合だから
VLOOKUPとピボットテーブルだけ覚えておけば何でも出来るよ
>>594
適度に制限してやることはいいことだよ。
自由を与え過ぎるとバカが増える。
×なんだか部分集合という言葉に過敏なやつがいて笑えるな。
○なんだか間違った言葉の使い方に過敏なやつがいて笑えるな。
>>595
正解に気付いたようだな。
しかしさすがに全ての関数は言い過ぎだ。VLOOKUPで表現できない関数もあるからな。
ちなみにVLOOKUPで表現できる関数ってどれとどれ?
ワークシートが無限にあって
0 0
1 1
2 2
3 0
4 1
5 2
みたいな表を作ればMOD関数がVLOOKUPで表現できるよな。



ってアホか
理論的には「関数」ってのはy=f(x)の形で入力に対する出力が一意に決まる演算のことだから
VLOOKUPと同じことをやっていると言えなくもないが、それはサブセットとは言わんし
実装上の都合でほとんどの関数は置き換え不可能。
単なる机上の空論だ。とりあえず理系の大学生は卒業して就職するまで黙ってろ。
>>601
>VLOOKUPと同じことをやっていると言えなくもないが、それはサブセットとは言わんし

同じことをやっているならサブセットと言えるだろ。
データの分類項目を作りたいときは、分類マスター用意してそれを参照するのが常套手段じゃないの?
机上の空論ではないはずだが。
>>601
同じ結果が出る、の間違いじゃね
理論上の話は教室の中だけでやってろ
Excelの人は主キーってそんなイメージなんだな
【1 OSの種類         .】 Vista SP1
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 使わないほうが有難い

文字列が例えばA1からG1まで並んでいたとします。
それらをH1に1語として結合したいです。

単純にH1に
   =A1&B1&C1&D1&E1&F1&G1
としてやれば出来ることは知っています。

ただ、実際にやりたいことものでは結合したいセルの数がかなり多く、またその数もたびたび修正が入ります。
なので、ほにゃらら(A1:G1)みたいに最初と最後だけ指定すれば済むといった、柔軟な方法があれば教えて欲しいのですが、ありますでしょうか?
よろしくお願いします。
今質問したばかりですいませんが、調べたところ文字列結合には"&"とconcatenate関数があるそうですが、どちらも希望の動作はしないようです。
http://www13.ocn.ne.jp/~yshiba/exl-concat.html
とりあえず↑にある「1列の場合」の方法を、&を使って行うのが一番手軽そうです。
>>607
VBA使わないと無理です。
あきらめてください。
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ 
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Googleやヘルプでの検索キーワード
〜で区切られた数字と数字の間の連番を作り行を追加したいんです
あいう 0001〜0003   えお ・・・
かきく  0060       けこ ・・・
さしす 0010〜0015   せそ ・・・

という感じに書かれているものを

あいう 0001   えお ・・・
あいう 0002   えお ・・・
あいう 0003   えお ・・・
かきく 0060   けこ ・・・
・・・
・・・
と展開していきたいのですが
どのようにしたらよいでしょうか?
よろしくお願いします
611574:2009/03/23(月) 21:01:02
以前、INDIRECTの式を教えて頂いた者ですが、一日試行錯誤しても駄目でした。
もう一度皆さんに助けて頂きたくファイルをアップロードしました。
どうかよろしくお願いします。
以下がアップローダのリンクです。
ttp://www.dotup.org/uploda/www.dotup.org6751.zip.html
612名無し変更議論中@詳しくは自治スレへ:2009/03/23(月) 21:49:06
>>611
ファイルを2つ同時に開くとそのVLOOKUPは値を参照するけど、
一つだとエラーになるね。
> 'C:\燃料使用量\
を見て思ったんだが、もしかして2008年燃料使用量.xlsを開いてないか?
INDIRECTで作った参照では、開いてないブックは参照出来ないよ。
開いてるなら「C:\燃料使用量\」を外せば問題ないはず。

流れ見てみると、回答者からしてそのこと知らないみたいだな。

>>5にもちゃんと書いてあるのに。

> ★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
>  ▼数式・関数
>   ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
>>612-613
いろいろとすみません。VBAじゃないとできないんですね。
VBAを勉強してみます。ありがとうございました。
615名無し変更議論中@詳しくは自治スレへ:2009/03/23(月) 23:17:57
Vista で Ecell2007 を使用しています。

突然プリントアウトできなくなりました。
プリンターの調子は良くて、インターネット上の
ページはプリントアウトできます。

何か設定をおかしくしたのかもとおもい、印刷範囲を
確認してみましたが、プレビュー画面でも印刷したい
範囲が正しく表示されています。

どなたか教えてください。
616615:2009/03/23(月) 23:44:33
VBA は使えません。

検索キーワードは エクセル  プリントアウト
>>615
(1) シートやページの一部分だけが印刷されないのか全体がまったく印刷されないのか
(2) エラーは出ているか、エラーメッセージは何か
(3) 白紙が出てくるのか、プリンターがまったく動かないのか
(4) プリンターのメーカーと機種は
(5) プリンターは何台つながっているか。最近買い換え、買い増ししたか
>615

ここはExcelのスレですよ。
619615:2009/03/24(火) 01:21:20
>>617
ありがとうございます。

全部が印刷されません。
ですが、ネット上のページはできるんです。

エラーメッセージなども一切でません。
ただ、スルーと紙が印刷されずに出てきます。

メーカーはキャノンのBJS500 です。

一台だけつなげてます。
620名無し変更議論中@詳しくは自治スレへ:2009/03/24(火) 01:27:58
質問です。
エクセル2003を使ってグラフを作成するマクロを作っているのですが

マクロの記録で

Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("J4")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R1C3:R300C3"
ActiveChart.SeriesCollection(1).Values = "=Sheet1!R1C1:R300C1"
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"

これを作成したあと、グラフの読み込む範囲が今300なのに対して
ここの300を変数に格納した数値を利用して変化させたいのです。

"=Sheet1!R1C3:R300C3"

ここにどのように変数を加えたらいいでしょうか。
宜しくお願いします。
特定の文書が印刷されないのか
それともあらゆるExcel文書が印刷されないのかも
622615:2009/03/24(火) 01:31:35
>>621
多分あらゆるエクセルファイルが、だと思います。

同じbookの違うシートの印刷できません。
>>622
1つのブックの中に印刷できるシートとできないシートがあるってこと?
だとしたら印刷禁止されてるんでない?
624615:2009/03/24(火) 01:47:19
>>623
いえ、そのブック全てが印刷できなんです。
>>624
Excelを再起動して新規にブックを作ってデータを何か適当に入れて印刷してみ?
626615:2009/03/24(火) 01:51:31
>>625
コピーではなくて、適当に打つんですね。

試しにやってみます。
627615:2009/03/24(火) 01:53:23
>>625
だめでした。
他のブックでやっても印刷されません。
Excelをshift押しながら起動してみろ
>>628
起動したら終了
そして通常起動して印刷を試す
630615:2009/03/24(火) 01:58:18
>>628>>629
やってみます。
631615:2009/03/24(火) 02:00:54
>>628
>>629
いつもアドバイスありがとうございます。
632615:2009/03/24(火) 02:02:44
すみません、せっかくですが駄目でした(┰_┰)
633620:2009/03/24(火) 02:06:18
他にスレを見つけたのでそちらで聞いてきます。
ありがとうございました。
まさか黒インクが無い、あるいはトラブルで黒だけ印刷されないって事はないよな
ウェブページはカラーインクで印刷されてるとか
635615:2009/03/24(火) 02:09:06
黒インキはたっぷり入ってます。
>>635
試しにエクセル文書の文字の色を黒以外に適当に変えて印刷してみて
637615:2009/03/24(火) 02:18:51
>>636
ありがとうございます。やってみます。
638615:2009/03/24(火) 02:21:29
>>636
ありがとうございましたm(_ _)m

黒インクのタンクが悪かったみたいです。
試しに紺色で色を変えて印刷してみたら、印刷できました。

カートリッジが悪いみたいですね。
本当にありがとうございましたm(_ _)m
ズコー
640615:2009/03/24(火) 02:23:17
罫線の色も変えたいのですが、どうすればいいですか?
>>640
オフィスボタン→Excelのオプション→詳細設定→表示設定→枠線の色
または罫線を自分で追加する
642615:2009/03/24(火) 02:30:25
>>641
本当に本当にありがとうございましたm(_ _)mm(_ _)mm(_ _)mm(_ _)m

助かりました!
>>638-639
和んだwwww
644名無し変更議論中@詳しくは自治スレへ:2009/03/24(火) 15:24:06
【1 OSの種類         .】 Vista SP1
【2 Excelのバージョン   】 Excel2003

詳細は↓のアップローダーのファイルを見ていただきたいのですが、VLOOKUPを使って文字列にタイプ番号を振りたいのですが、
エラーが出たり、まったく違う文字列のタイプ番号を振ってくれたりとよく分かりません。
どうも文字列の配列に問題があるようです。が、何がどうダメなのかわからず、進めません。お願いします。

http://www.uploda.org/uporg2112462.xls.html
503
>>644
B3:C5
ツール->並べ替え
>>644
そういう場合はVLOOKUPは使わない。G3にこの式を入れてオートフィル。
=INDEX(C$3:C$5,MATCH(F3,B$3:B$5,0))
648名無し変更議論中@詳しくは自治スレへ:2009/03/25(水) 10:58:23
データ構成が複雑で大きなグラフを含むシートの印刷時、
線の不透明度使用・高画質、などの設定次第で、
印刷時間が数十倍になるのは、仕方ないものですか?
コウセイが漠然としすぎて分からん
XPなら一度ファイルに印刷してから印刷すると早いかもしれない
650名無し変更議論中@詳しくは自治スレへ:2009/03/25(水) 15:08:45
教えてください

管理表に色をつけましたが、その色の数を数える関数を教えてください。
>>650
ない
>>650

>>5
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
 ▼数式・関数
  ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)

というわけで、色などの書式情報を条件とする関数は、ユーザー定義関数で作ってください。
そして>>1★4にある必須情報を伏せているので、こちらも>>3★2に従い具体的な作り方は伏せますので
自分で調べて自分で作ってください。
653名無し変更議論中@詳しくは自治スレへ:2009/03/25(水) 15:27:00
>>651
では、文字の色を識別する関数はありますか?
>>653
ない
655名無し変更議論中@詳しくは自治スレへ:2009/03/25(水) 16:23:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ 図 

マクロで 6列18行のセルを選択すると、図の挿入画面を表示
図を挿入すると、指定の大きさに変えるというマクロを作っています。

図の挿入でキャンセルすると、エラーが出てしまうのですが、
エラー表示を出さず、キャンセルもできるようにしたいです。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Columns.Count = 6 And Target.Rows.Count = 18 Then
Application.Dialogs(xlDialogInsertPicture).Show

Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 273.75

End If

End Sub

何を加えればいいかご教授ください。
>>650
文字の色、セルの色、罫線の色、図形の色などはVBAを使わないと調べたり数えたりできない
>>655
キャンセルされたかどうか調べる部分だけ書くよ
たしかこんな感じで良かったと思う
If Application.Dialogs(xlDialogInsertPicture).Show Then
  Selection.ShapeRange.LockAspectRatio = msoTrue
  Selection.ShapeRange.Height = 273.75
End If
2007だと普通にできるんだけどなあ
みんな2007以前は使わなきゃ解決だね!
ここは爺と割れしかいないから仕方ないか
661655:2009/03/25(水) 16:40:59
早い回答ありがとうございました
おかげさまで、解決しました
>>660
割れは2000以前だろ
2002や2003から2007に乗り換えないのは
大幅なUI改悪に付き合いたくない奴
663名無し変更議論中@詳しくは自治スレへ:2009/03/25(水) 17:30:32
バカは自分の制限を勝手にExcelの制限にすんだなw
そうでもないか
雑談だけど、女の人ってやたらセルに色付けたがるよな
俺は本当に重要なポイントにだけ1色か2色付けるぐらいがせいぜいだろと思うんだが
規則性もなくその時その時のフィーリングで何色も使って塗り分けたりするんでウンザリする

あるあるw
>>665
別に女男あんまり関係ないと思うぞ
趣味が悪い奴は大抵そういう傾向にある
そういう傾向の奴を趣味が悪いって思うだけだろ
669名無し変更議論中@詳しくは自治スレへ:2009/03/25(水) 19:52:09
シートの保護用パスワードって、設定した文字列に対して一意に認識しないよね?
例えば、「1234」で保護したシートが「9876」で解除できる。
「9876」で保護したシートが「1234」で解除できる、みたいな。
脆弱すぎないか?

んなバカな
671名無し変更議論中@詳しくは自治スレへ:2009/03/25(水) 19:58:34
>>670
と思うだろ?
「1103」「9984」で試してみ。
互換性あるから。
>>671
なんだこれ。2003でも出来たぞ
まぁ元々中身を見られないためじゃなく、誤って書き換えたりするのを防ぐためのものだけど・・
だけど・・
げ、ホントだ…びびった
でも
>>669の組み合わせは出来ないよ
エクセル2000
674名無し変更議論中@詳しくは自治スレへ:2009/03/25(水) 20:35:40
DLしたエクセルの名簿(400名分)があります。
そのシートには1年・2年・3年の3年間の学年と出席番号、名前が入力できるようになっています。
マクロが組んであって、スピンボタン一つで各学年毎の出席番号順に並べ替えができるようになっています。
そこで、そのシートを崩さずに、別なシートに同じようなスピンボタンを使って、各学年各クラス毎の名簿を作ってみたいのです。
ボタンをクリックすると、2年1組の名前が出てきて、またクリックすると2組のが出てくるというようなものです。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ(微妙に)
【4 VBAでの回答の可否】 可
>>674
個人情報の部分は消したものをアップロードしてくれるとすぐに出来るんだが、難しいかな?

無理なら
まずシートごとコピーする
ALT+F11でウィンドウが出てくるので、そのウィンドウの左上にsheet1、sheet2・・などとシート名があると思うが、
そのスピンボタンがあるシートをダブルクリック
後はそれを編集すればいいスピンボタンの挙動も変わる
もしかするとシートごとコピーして、クラスや名前を他の学年のものに書き換えるだけでうまくいつてくれるかもしれないな
見なきゃなんともいえんけどな
あまり凝った作りにすると後任の先生が苦労するぞ・・・
>>674
マクロの記録で並べ替え・オートフィルタ
それをコマンドボタンに登録でもしてみるといい
そこまで出来ればスピンボタンぐらい簡単にさわれるようになる
>>669
Excelはパスワードをハッシュ化して保持し、解除時に入力されたものをハッシュ化した値が
保持されてるハッシュと一致すれば解除されるって仕組みだからね。

そして、入力可能なパスワードが
3766113167064113419656432196919240801425145699915138986499492248539464674362192501045445350167728202
5991386973138875074810350265293671223827650202935793353928987708427837894137043469967463773432450711
6115216846883999585290297593610853341737828048119530908693959734480879605211762752723189342838119966
5422453701514233158737411022237518066810078250905606017032802679519192932260361221117287195114648722
2820410109263092167280797070716301943769265419640699380301824
パターン以上あるのに対し、ハッシュパターンはこれより遙かに少ないので、
違うパスワードから同一のハッシュが生成され>>671みたいなことが起きる。

0〜9の数字が書かれたくじを、100人が引いたら、人数よりくじの種類の方が少ないのだから
100人全員が違う数字になることなどあり得ないのと同じ。
ほう
それでも数字4ケタでかぶるとかちとひどいような気も
681名無し変更議論中@詳しくは自治スレへ:2009/03/25(水) 22:50:37
またジジイが大昔の知識で自作自演か
気持ちわりぃ
>>681
気持ちわりぃ
>>678
納得だけど、いたずらに行数取ってる
スリムな解説の方が感動した
質問です。
SUMの計算でセルに数字のほかに文字が入っていると計算できませんよね?
(例えば、『123本』など)
こういうセルを計算に使うにはどうしたらいいですか?
書式設定で単位として文字を付けるとcount ifで検索条件に『本』としたときにカウントされないので困っています。
他に単位をつける方法はないですか?
excel2003です。
>>684
ワークシート関数だけでやるなら作業列を作って計算用と表示用(検索用)でセルを分けるとか、
数値と単位のセルを分けるぐらいしかない。
VBAを使えば書式を調べたり、数字の部分だけ足し算とか可能。
>>684
substituteで"本"を""に変換すれば計算可能
687名無し変更議論中@詳しくは自治スレへ:2009/03/26(木) 11:02:55
>>686
ちょっと聞きたいんだけどさ、なんでそんなに詳しいんだ?
MOS持っていてもわからなかった。
どうやって勉強した?なんかすごいなぁと思って。
>>687
実務>資格
ってことじゃないかな
変則的な表ばっかり扱ってると自然に身につくよ
後はこのスレに常駐してるとほとんどの関数は覚える
>>686
素直に感動した
その発想は無かったって表現が適切か

なんかに応用出来そうだから覚えておく
THX :)
なんの流れだよwww
和んだ(;゚д゚)ァ
692名無し変更議論中@詳しくは自治スレへ:2009/03/26(木) 13:37:09
【OSの種類】Windows XP Pro SP2
【Excelのバージョン】2007
【VBAが使えるか】コピペしか出来ません
【VBAでの回答の可否】お願いします
【検索キーワード】

いつも手作業で処理している内容を↓に順番に書き出しました
この内容をVBAで自動化したいのですが、何方か書いて頂けますか?

1、 セルW1に「エラー」と記入する
2、 列Iもしくは列J・又は列I・J共に値が入っていて
列Aに値が入っていない行があれば、その行の列Wに「1」と記入
3、列Aに値が入っていて、列Iに値が入っていない行の、列Wに「1」を記入       4、列Aに値が入っていて列Dの値が「18」で列Jに値が入っていれば
その行の列Wに「1」を記入。
5、列Aに値が入っていて列Dが「18」以外の値が入っていて
列Jに値が入っていない時その行の列Wに「1」を記入
6、 列Jの値を半角に変換し、セル中のブランクを取り除き、Jのセル内の文字数が
9桁以外であればその行の列Wに「1」を記入
7、列Wに「1」が記入されていない行を全て削除
8、列Wを削除
9、列Oを名前順に並び変え

以上、対象となるBOOKの1行目は名称が入っていますので、これらの作業をする範囲は2行目以降になります。
>>692
大体こんな感じと思う。試してみて
Sub Macro3()
Dim i As Long
Range("W1").Value = "エラー" '1
For i = 2 To 65535
If Cells(i, 9) <> "" And Cells(i, 10) <> "" And Cells(i, 1) = "" Then
Cells(i, 23).Value = 1 '2
End If
If Cells(i, 1) <> "" And Cells(i, 9) = "" Then '3
Cells(i, 23).Value = 1 '3
End If
If Len(StrConv(Trim(Cells(i, 10).Value), vbNarrow)) <> 9 Then '6
Cells(i, 23).Value = 1 '6
End If
If Cells(i, 23).Value <> 1 Then
Rows("i:i").Delete Shift:=xlUp
End If
Next

Columns("W:W").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="="
Rows("2:65535").Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter

Columns("W:W").Select
Selection.Delete Shift:=xlToLeft
Columns("O:O").Select
Selection.Sort Key1:=Range("O2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
End Sub
4と5は自分でやってみて
695名無し変更議論中@詳しくは自治スレへ:2009/03/26(木) 14:44:19
>>693
早速の回答ありがとうございます
4・5はVBAでは不可能ということですか?

試したところ
>Rows("i:i").Delete Shift:=xlUp
の所に→がで、実行時エラー1004とでます
Excel2002、VBA×です。
VLOOKUPで、指定する見出しが存在しないとき #N/Aとなりますが、
このままだとSUMで合計がだせません。

#N/Aだった場合にはゼロが入るようにしたいのですが
どうすればよいでしょうか。
質問を重ねます、すみません。

その欄の式の結果が#N/Aのときにゼロ、そうでない場合は式の結果としたい場合、
IF関数で解決しようとして

=if ( 式="#N/A" , 0 , 式 ) のようにしたいのですが、これではうまくいきません。
        ↑
式の結果が「#N/A」だったとき、を示す条件式の記述はどうすればよいでしょうか。
>>697
iserror
>>697
=if ( iserror(式) , 0 , 式 )
>>695
俺は693じゃないけど、4と5は簡単だからよく似たほかの部分を参考に自分でやってみろってことだと思う。
エラーの出た部分はこうじゃないかな。
Columns("i:i").Delete Shift:=xlLeft
でも俺はこっち↓のがいいと思う。
Columns("i:i").Clear
701696:2009/03/26(木) 16:15:07
>698・699
ありがとうありがとう。isnaも覚えました。これでかつる!
702692:2009/03/26(木) 16:32:12
>>693
>>700
無事実行されたみたいです。
4・5は自分で挑戦してみます、ありがとうございました
703名無し変更議論中@詳しくは自治スレへ:2009/03/26(木) 16:43:33
複数列キーで表引きする方法はありますでしょうか?

例えば
A列(都道府県),B列(市町村),C列(人口)が格納されたシートから2列の
検索値(都道府県,市町村)からC列の人口を取得する。

AとB列の値を連結した列を作り、VLOOKUP関数で取得できることは理解
していますが、関数のみで取得する方法がありましたら教えて下さい。
704703:2009/03/26(木) 17:01:27
excel2000 windowsXP です。
>>703
=SUMPRODUCT((A1:A100="大阪")*(B1:B100="西成区")*(C1:C100*1))
範囲や名前をテキトーに変えておくれ
706名無し変更議論中@詳しくは自治スレへ:2009/03/26(木) 17:25:42
質問です。

iPhoneのEXCELについて次のように思っているのですが
正しいでしょうか。

(1)グラフが表示できない
(2)図形(オートシェイプ)が表示できない
(3)セル幅を調整できない
(4)日本語データの編集ができない(表示だけ)

よろしくお願いします。
>>705
ありがとうございます。
sumproduct関数は理解していないので今から勉強します。
>>706
iphonスレいったほうがいいと思う
709703:2009/03/26(木) 17:42:06
求めるC列が数値の場合はOKですが、文字列(例:有名人等)の場合に
取得する方法はありますでしょうか?
>>709
A列とB列から条件に合う物を見付けて、対応するC列を表示する
=INDEX(C1:C50,MATCH(2,MMULT((A1:B50={"東京都","港区"})*1,{1;1}),))

別解
作業列に=A1&B1って入れて、そこからINDEXとMATCHで検索。
>>710
ありがとうございます。
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel キー 履歴 変換候補 変換

excel自体の初歩的な質問になるのですが、
特定の列で書き込んだ文字列が次の行で候補として表示されてしまうためこれを非表示にしたいのです
オプション変更から文章校正と基本設定等に目を通しましたがピンと来るものがありません


 A B
1  あいう
2  あ"いう"

"で囲んだ部分が以前打ち込んだ文字列が表示されている状態です
ここで"あ"だけを確定したいところが"あいう"となってしまい、一度表示されてる候補を消すか確定後に削る必要がありこの手間が非常に腹立たしく不愉快でありストレスが溜まりこの機能を拒絶したいのです。
オートコレクトとはまた違うようですし、この機能は設定でどうこう出来る物ではないのでしょうか?
>>712
Excelのオプション→詳細設定→オートコンプリート
のことかな?
>>713
奇麗サッパリ表示されなくなりました。
作業によっては便利な機能だと思うので覚えておこうと思います
ありがとうございます。
715712,714:2009/03/26(木) 19:47:42
よく見たらここはIDが出ない場所なのですね、失礼しました。
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel if 関数

先輩方・・こんなの可能でしょうか。。

C列に次の規則で入力したいです。

イメージ図
A B C
1 b d b:d
2 c e,f c:e c:f  ←スペース区切り

B列には必ず数字が来ます。二つ以上の数字の場合は必ずカンマで区切られています。
C1は B1を参照したときに dがあるのでA1の値と:を足して  b:d
C2は B2を参照したときは e,fの二つの数字がカンマ区切りで入っているので
C2セルには
c:e c:f    ←間にスペース
と入れたいです。
>>716
Sub Test()
  Dim r As Long, i As Long
  Dim Ary() As String
  
  For r = 1 To 2
    Ary = Split(Cells(r, 2).Value, ",")
    For i = 0 To UBound(Ary)
      Ary(i) = Cells(r, 1).Value & ":" & Ary(i)
    Next i
    Cells(r, 3).Value = Join(Ary, " ")
  Next r
End Sub
>>717
すいません。。全く理解できませんでした。

>>716 訂正させてください・・【4 VBAでの回答の可否】 不可
>>717
すいません、うまくできました!!

すぐわからないって言ってごめんなさいっ(`・ω・´)ゞ
若干追加させてください・・・
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 なるべくなしでお願いします
【5 検索キーワード     】 excel if 関数

C列に次の規則で入力したいです。

イメージ図
A B C
1 b d b:d
2 c e,f c:e c:f  ←スペース区切り
3 g 1-3 g:1 g:2 g:3
4 f 1-3,h f:1 f:2 f:3 f:h

///説明////

B列には必ず数字が来ます。
二つ以上の数字の場合は飛び飛びの数字の場合必ずカンマで区切られています(例1,3,5)
つながっている数字の場合は - で表示されています(例1-3, 5-8)←対象は1 2 3 , 5 6 7 8

C1は B1に dがあるのでA1の値と:を足して  b:d
C2は B2に e,fの二つの数字がカンマ区切りで入っているのでC2セルには c:e c:f←間にスペース
C3は B3に 1-3とあるので g:1 g:2 g:3
C4は B4に 1-3,hとあるので f:1 f:2 f:3 f:h

すごくごめんなさい(´・ω・`)。。

1-3という表記を分解して 1,2,3と認識させるのにはVBAを使うのは必須になるのかな。 
721706:2009/03/27(金) 07:29:19
>>708
レスありがとうございます
722692:2009/03/27(金) 10:23:18
すみません、挑戦しましたがわかりませんでした
恐縮ですが、書いて頂けますでしょうか・
必ず数字を使うのに例を英語で書くのはやめてほしいし
そもそもセルの区切りがわかりづらすぎる
必ず半角スペースを使うのなら紛らわしくならないようにとか工夫してほしい
とにかく相手に理解してもらうことを考えてるように思えない
ぶっちゃけ専ブラ使えだし使えないならやはり工夫すべき

> 1-3という表記を分解して 1,2,3と認識させる
作業列とか使っていいなら簡単にできると思うが
何がしたいのかがほとんどわからないから返答したくない
てきとうな返答したら「いやそうじゃなくて」とか言われてビキビキなるし
情報の後出し以前にまず誤解を生まない書き方しろと
724名無し変更議論中@詳しくは自治スレへ:2009/03/27(金) 10:41:16
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 ほんの少し
【4 VBAでの回答の可否】 可

A列に1万行近く数値が入っています。
セルが空白なら0を代入するマクロを教えてもらえないでしょうか。
B列に
=if(a1="",0,a1)
のほうが簡単じゃね
>>720.
VBAは必須ではないけど、数式のみでは作業セルいっぱい使うし制限もある。
>>5にも有る通り、数式では「不定な数の結果を返す」ことが出来ないが
この場合Bの値の数が不定故に、結果も不定数返してスペース区切りで連結するわけだが

1個固定なら
C1=A1&":"&B1

2個固定なら
C2=A2&":"&LEFT(B2,D2-1)&" "&A2&":"&MID(B2,D2+1,LEN(B2))
C3=FIND(",",B2)

しかし1〜3個可変だと
C3=H3&" "&I3&" "&J3
D3=B3&","
E3=FIND(",",D3)
F3=FIND(",",D3,E3+1)
G3=FIND(",",D3,F3+1)
H3=IF(ISERROR(E3),"",$A$3&":"&LEFT(B3,E3-1))
I3=IF(ISERROR(F3),"",$A$3&":"&MID(D3,E3+1,F3-E3-1))
J3=IF(ISERROR(G3),"",$A$3&":"&MID(D3,F3+1,G3-F3-1))

なんて感じになるわけで、想定される最大数を決め打ちで組まなきゃならず
対応可能な最大数を大きくすれば、その分作業セルは膨れあがるが、かと言って足りなければ正しい結果が返らない。
1-3のような範囲表記の場合も、こんな感じで範囲数に応じた作業セルが必要になる。
更には、カンマ区切りと範囲表記の混じりに対応させると、必要な作業セル数は跳ね上がる。

VBAなら、カンマ区切りで100個の数字があろうと、1-200のように膨大な範囲だろうとコードは変わらない。
>>717だってカンマ区切りで何個あっても、そのまま対応出来るからな。
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ピボットテーブル

   A   B  
1  日付 個数
2  3/1  1
3  3/3  2
4  3/3  1
5  3/4  5
6  3/7  1
7  3/7  2
8  3/8  1
9  3/9  3

このような表で各日付ごとの合計を出したいのですが3/2、3/5、3/6などの
抜けてる日付の合計も0で出したいです。
後ろにダミーで日付を埋めれば出来ますが、これを埋めないで出来ますか?
ピボット厨さん出番ですよ
(;゚д゚)ァ
>>727
c1=2009/3/1
d1=COUNTIF(A:A,C1)
C1D1を選択して下にオートフィル
ピボットテーブルでの話じゃないの?

というかそのやり方なら
C1は=A2か=MIN(A:A)で、C2に=C1+1
そしてD列はCOUNTIFではなくSUMIFだな
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 マクロの記録ができる程度
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 改行 参照
A1:A7の範囲のセルがそれぞれB1:B7のセルを参照しています
B列に文字を打ち込んだとき、改行があれば折り返して表示、
無ければ縮小して表示、に出来ますか?

やりたいことは、罫線だけ引いてある伝票に、エクセルで数字だけ印刷したいのです
銀行の時だけ勘定科目を二行にしたいのです
alt+enterをB列に入力しても、縮小して表示だと改行が「・」になってしまうので困っています。
よろしくお願いします。
>>732
Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Range("B1:B7"), Target) Is Nothing Then Exit Sub
  With Target '対象がA列なら Target.Offset(, -1)
    If InStr(1, .Value, vbLf) Then
      .ShrinkToFit = False
      .WrapText = True
    Else
      .WrapText = False
      .ShrinkToFit = True
    End If
  End With
End Sub
>>723
レスありがとうございます。
大変申し訳ありませんでした。
わかりづらい質問でごめんなさい。
きちんと直します。

>>726
わかりやすいご説明ありがとうございます。
想定される最大数を決め打ちで組むとなると後で修正が難しくなりますね。
それ以前に膨大な式の量になることがわかりました。
この場合>>717さんに教えて頂いたVBAに対応できるように
1-3 という数字も1,2,3と置換して処理した方が良いように思いました。

>>723さんのいう作業列を使えば
【1,3,4-6】のような表記も【1,3,4,5,6,】と変えられますかね。。。
>>733
ありがとうございます!!
736名無し変更議論中@詳しくは自治スレへ:2009/03/27(金) 12:56:31
【1 OSの種類     .】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか  .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 エクセル 別シートに集計
sheet1 に入力欄 sheet2、3、4、に品番ごとの集計表を作ろうとおもってます
イメージ
sheet1
  A   B  C   D   E
1 品番 品名 数量 単価 価格
2  1  みかん 2  100  200
3  3  りんご 1  110  110
4  3  りんご 3  110  330
5  2  いちご 1  200  200
6  1  みかん 3  100  300
sheet2
  A   B  C   D   E
1 品番 品名 数量 単価 価格
2  1  みかん 2  100  200
3  1  みかん 3  100  300
4           計  500
sheet3
  A   B  C   D   E
1 品番 品名 数量 単価 価格
2  2  いちご 1  200  200
3  計  200   ・・・
入力欄に入力された時点で集計されていく物を作ろうと思っています。
VBAでもいいのですが集計表のシートを開いた時点で実行できるものがいいです。
長文になりすみませんでした。
どうかよろしくお願いいたします。
>>736
オプションで再計算が自動になっていれば
入力した時点で結果が別シートにも入ってるかと。

参照しにいく式は天才に任せた
シート1だけでオートフィルタじゃダメなんかな
739>>736:2009/03/27(金) 13:22:17
他人(初心者)も使える集計表を とおもったのですが・・・
やっぱり難しいですかね。
難しくは無いけど無駄だなぁ…と。
741727:2009/03/27(金) 13:39:45
レスありがとうございます。
関数なら日付を列挙してSUMIFでできることはわかってますがピボットテーブルでやりたいんですけどできますか?
実際はデータが多いので何度もSUMIFはピボット厨に馬鹿にされそうなので。
742名無し変更議論中@詳しくは自治スレへ:2009/03/27(金) 15:54:59
ネットで買ったことあるけど、
初めは不安でした、騙されるんじゃないかと
今は、このサイトが役だってます
googleでPCソフト在庫処分、検索して
何かと思ったら宣伝かよ
しかも不正コピー品
すいません、数値をビット反転をさせたいです。
普通に'='の式で。
ビット幅は3ビット。もしくはその後ビット演算したいです。

希望動作としては↓な感じです。
入力
7→0
3→4
0→7
検索してもVBAしか見つからなかったもので。
宜しくお願いします。

【1 OSの種類         .】 WindowsXP Home
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ビット反転
ctrl+「]」(かな入力だと「む」)キーを編集中に押すと、
アが入力されるのですがこれは何故でしょう?
[だとヌになったり、「ろ」キーだとウが入力されてしまうのですが
特に不便とかそういうわけじゃありませんが、気になったもので・・・
747724:2009/03/27(金) 17:32:12
>725
ありがとうございます。
A列の値を参照したいために
できればマクロのほうがいいのですが、
>>745
ワークシート関数にはビット演算そのものはないので工夫する必要がある。
一番スッキリするのはVBAで関数を作ってしまうことなんだけど。

とりあえず3ビット反転なら7から引けばいい。
=7-A1
下3ビットだけ反転なら8で割った余りを使う。
=A1+7-MOD(A1,8)*2
>>747
どこかに作業列を使って値を出して、A列にコピペしたら早いじゃん?
>>746
おまいさんだけぢゃね?
俺のでは再現できぬ。
751749:2009/03/27(金) 20:20:33
解決しました。どうもです。
>>750
そうですか〜ありがとうございます
キーボードに¢とかある妙なキーボードなんですが、これのせいかも?です
753名無し変更議論中@詳しくは自治スレへ:2009/03/27(金) 22:56:59
754名無し変更議論中@詳しくは自治スレへ:2009/03/27(金) 22:58:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003 Excel2000 同居
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】否
【5 検索キーワード     】 エクセル "object"

エクセルファイルをオープンすると
objectというファイルが一緒に立ち上がります。。。
(エクセルのシートが二つ上がります)

OKwaveにも同じ内容がありますが
原因と対策が分かりません。

誰かご教授くらさい
>>748
おお、本当になってる(゜Д゜;
ありがとうございます。

どうやってその考えに至ったのか、頭の使い方が知りたいですw
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】 エクセル 表示形式 少数

数式の結果を表示するセルで、「5」の場合は「5」、「5.4444444…」は「5.5」という風に表示できないでしょうか?
例えば、表示形式の 「数値」で「少数点以下の桁数」を1にすると「5.4444444…」は「5.5」になりますが、
5の場合にも5.0となってしまうのが困っています。
「0.???」とすると、5が「5.」となってしまうし、検索しても見つからなかったのでよろしくお願いします。
=IF(A1=INT(A1),TEXT(A1,"0"),TEXT(A1,"0.0"))
>>758
ありがとうございました!
760名無し変更議論中@詳しくは自治スレへ:2009/03/29(日) 16:06:52
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード     】 エクセル 文字列 削除

A列のすべてに金額を出力しました。(A1 500万円 A2 325万円 ・・・ A100 365万円)

そしてオートSUMでA列の総額を出そうとしたところ、0としか表示されません。
どうすればA列の総額を出すことができるでしょうか。

万円の部分を一括で削除できれば、それでもOKです

よろしくお願いします
A列をまるごと選択→
編集→置換
→検索する文字列:万円
→すべて置換
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003 <-> Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 メモリ不足です メッセージ 非表示

Excel2007で作成した入力/集計ファイルを2003でも問題なく使えるかテストしたところ、
「メモリ不足です。完全に表示できません。」のメッセージが再描画のたびにポップアップしてしまいます。
このファイルをExcel2003でも取り扱うことがあるため困っています。

メッセージが表示されても、仕込んだ数式・条件付書式は動作しているようなので、
ポップアップさえなければ使えると思い、"Application.DisplayAlerts = False" を試しましたが
効果がありませんでした。

ボリュームダウン(数式を削る、シートを減らすなど)せず、これを回避することはできませんでしょうか。
作成時に2003環境がなく、作りきってから発覚したのが痛いです…


[ファイル構成]
・入力シート * 12
各シートに約750セルに数式、約1500セルに条件付書式を設定
・集計シート * 1
入力シートの入力値を集計するだけのシート
763名無し変更議論中@詳しくは自治スレへ:2009/03/29(日) 17:59:34
>>761
ありがとうございました!!!
>>762
メモリ不足ってのはパソコン側だと思うんだがなー

ファイルオープンに自動計算停止してみてはどうだろうか
他にはマイコンピュータ、プロパテイ、詳細設定辺りで仮想メモリを増やしてみてはダメかな
シート倍率(印刷プレビューの設定かな)を100%にすると解決した例もあるらしい
フォントや条件付書式だとそんな状態になりやすいらしい
最初にファイルを作成するときに2003で造ると、上手くいくらしい。うまくシートごとコピーなどしてみるといいかも
http://www.google.com/search?hl=ja&safe=off&client=opera&rls=ja&hs=Q3W&q=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB+%E3%83%A1%E3%83%A2%E3%83%AA%E4%B8%8D%E8%B6%B3%E3%_
81%A7%E3%81%99%E3%80%82%E5%AE%8C%E5%85%A8%E3%81%AB%E8%A1%A8%E7%A4%BA%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82&btnG=%E6%A4%9C%E7%B4%A2&lr=
他にも色々。どちらかというとメモリがどうこうより、エクセルの不具合に近いような感じはする
765762:2009/03/29(日) 22:04:24
>>764
ありがとうございます。
自動計算の停止は思いつかなかったので試してみましたが、残念ながら…
自分でも更に調べてみましたが、メモリ不足についてはExcelの仕様みたいですね。

>最初にファイルを作成するときに2003で造ると
次はこれを試してみます。
>>686
亀だけど

感動した
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】はい(すこし)
【4 VBAでの回答の可否】可
【5 検索キーワード     】today()、マクロ

業務日報で日々sheetをコピーして、日付を入力することが面倒になりました。
sheetの名前を日付表示にしています 090329

日報は基本的、前日のsheetをコピーして当日分を作っています。
そこで教えて欲しいのが、現在アクティブに割れているsheetをコピーすること
sheet名をtoday関数等をつかって自動で入力させたいことです

簡単な内容かもしれませんが、ご教授ください。
>>767
我ながらダサいけど。

Sub Macro1()
ActiveSheet.Copy After:=ActiveSheet
ActiveSheet.Name = Format(Date, "yymmdd")
End Sub
初歩的な質問で申し訳ありません。
カレンダーのような表を作りたいのですが、日付を入れるのに苦労しています。
一つのセルに日付を入力すると、表全体に日付が反映されるようにするには、
どのようにしたらよいのでしょうか?

http://www.geocities.jp/zaki321654987/tset.xls
分かりにくいですが、こんな感じにしたいのですが・・・
770767:2009/03/29(日) 23:39:41
>>768
出来た。
2行で終わるとは思ってませんでした。
ありがとうございます。

自分はこんな感じで作ってどうやって展開するか悩んでいました。

Sheets("Sheet2").Select
Sheets("Sheet2").Copy Before:=Sheets(1)
・・・・
>>769
> 一つのセルに年月日を入力すると、黄色い部分に日付が反映されるようにしたいです。
> また、一番左(H)の列は常に日曜日になるようにしたいです。
矛盾してる

入力された年月日を基準にするなら、最左列が日曜になるかは年月日入力位置が正しいか否かによる
最左列が日曜になるようにしたいなら、年月のみの入力から作成すべき

あとは「VBAで出来るから自分でコード書いて」(>>3★2参照)
ああ!すみません
一番右が日曜でした!!大変申し訳ございません・・・
もう少し調べてみます。申し訳ございません
>>769
眠いからかなりテキトー
H3=8-(WEEKDAY(DATE(B1+1988,C1,1),1))
G3=IF(SUM(H3,-1)*1>0,SUM(H3,-1),"")
F2方向へオートフイル
B6=DATE(B1+1988,C1,H3+1)
右へオートフィその下も
>>772で条件が変わったし作り変え根気力もないので 寝
>>773
ありがとうございます。大変申し訳ございませんでした。
775762:2009/03/30(月) 00:57:06
762です。

Excel2003でプレーンなファイルを作成し、
そこに全てを手で移植することで問題が解消されました。
正直かなりの骨折り作業でしたが…とりあえずは問題解決できました。

おそらく、2007は書式関連のデータの持ち方が特殊?(条件付書式の順位変更ができたりするなど)だということと、
2003 <-> 2007互換させるためのデータ保存方法が完璧ではないのかなと思いました。
(これだけ下位互換できてるということで、既に凄いとは思いますが)

ありがとうございました。
2007のファイルには余計なデータがわんさか入ってるからな
それを2003で作り直すことによって余計なデータを消す
シートで考えれば、処理の重い空白セルがあるとでも思えば分かりやすいかな
>>736
オートフィルタ+SUBTOTALが最善なのも、VBA可になっているのも十分わかってますが、
関数のみで集計ファイルを作ってみました。
やっぱり、メンテとか考えるとちょっと・・・な内容ですが気にせずUP。

http://www1.axfc.net/uploader/He/so/210695.zip&key=excel
778736:2009/03/30(月) 14:12:55
もう諦めていたところに・・
ひたすらに感謝します。
大事に使わせていただきます。
すいません、質問です。
数字を頭ゼロ付きのまま、文字列結合したいです。
数字自体は、文字列にせず数字認識にさせて、
表示設定でゼロ付きになってます。

希望としてはこんな感じです。
A1 B1 → C1(結合先
No. 03    No.03

数字を文字列にしてしまえば楽なのですが、
数字としても処理したいもので。

【1 OSの種類         .】 WindowsXP Home
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 文字列結合、ゼロ付き
>>780
=A1&TEXT(B1,"00")
>>780
A1に数字があるとする
数字を文字列として認識させたい場合は
=A1&""
='03
または書式設定で「文字列」など
数字を(書式設定などで)文字列として認識させたあと数字として扱いたい場合は=A1*1
ちなみに=A1&""*1
だと数字として認識される

お好きに
>>781
おお、出来ました。
有難うございます。

自分で探せないところにorzっす
【1 OSの種類         .】 Windows xp sp2
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 限りなく、いいえ
【4 VBAでの回答の可否】 可(出来れば関数で)


シート1に入力フォーム、シート2以降に各店のデータを入れたいと思います。

そこで質問ですが、入力フォームに日付を入れます。
その日付のデータをシート2以降のその日付に対応した行にいれたいのですが、
どうやれば良いのかわかりません。

シート2以降は、A列に日付、B列以降にデータが入ります。
(A列・日付、B列売り上げ等・・・)

よろしくお願いします。


質問がわからん
>>784
エスパーさまが来たぜ!!
シート1は3/1、3/2、3/5・・など実際に営業した日だけ、とびとびになってるんだな?
そしてシート2はおそらく月別になってて、しかも日付が全て埋まってるわけだな?
そういう時はVLOOKUPだ!!

・・当ってるかな?当ってたらシート2以降はどの月に対応してるか教えてくれ
当ってなかったら
シート1・シート2以降のどこの列が何に対応してるか、日付は埋まってるかどうか
を教えてくれ
ぜんぜんエスパーになってないしw
うん、ごめん、そうなんだ。エスパー気取ってみたかったけど書いてる途中でしんどくなったんだ
月曜日からのみに行くのは良くないね
>>784
表の作り方が悪い
入力フォームっつってんだからVlookupはないなw
【速報】 朝日新聞社から荒らし行為 FOXが規制発動★3
ttp://tsushima.2ch.net/test/read.cgi/news/1238409082/

朝日新聞様2チャンネルで堂々の自演+南北朝鮮擁護がバレてしまいました!!
祭りに乗り遅れるなー!?
>>784
そういうのExcelは苦手なんだよ
VBAでつくるしかない
793名無し変更議論中@詳しくは自治スレへ:2009/03/31(火) 07:53:41
EXCEL2003の「縦書きテキストボックス」についての質問です。

(1)ボックスの四辺をクリックすると網点の枠が表示され、
 ボックスの中をクリックすると斜線の枠が表示されますが、
 網点枠と斜線枠で"操作できる事"に違いがあるのでしょうか?

(2)複数ボックスを列(行)単位で選択してコピー&ペースト出来る(=列単位
 の選択でボックスが選択対象に入っている)のですが、
 列(行)単位で選択して削除してもボックスは削除されません。
 どうすれば削除できるのでしょうか?

(3)ボックスを[コピー]→貼り付け先のセルを右クリック→[貼り付け]
 とした時、ボックスが貼り付けられる位置はどういうルールで決まる
 のでしょうか?(ボックス左上隅がセルの左上隅と一致する時と
 ズレる時があるのですが、違いは何でしょうか)

(4)シート上の複数ボックスのテキスト文字を全て削除する簡単な方法が
 あれば教えて下さい(一つずつ削除するしかないのでしょうか)

よろしくお願いします。
 
794名無し変更議論中@詳しくは自治スレへ:2009/03/31(火) 09:42:38
【1 OSの種類         .】 WindowsXP Professional SP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 「エクセル 太さ」など


罫線(オートシェイブでは無くて枠の方)の太さを任意の太さに変更したいです。

直線は4種類の太さからしか選べない仕様である事は承知しております。
しかしどうしても3種類の太さの罫線が必要な原稿なので細い方から3種類使うのですが、
3つ目の太さの罫線(太さ2pt?)では太すぎるのです。

オートシェイブを使わずに、1.5ptの太さの罫線をひく方法は、無いでしょうか?

私はVBAについては存じませんが、VBAを利用する事で1.5ptの罫線(枠)がひけるのならそれでも構いません。

もっと強引に、例えばバイナリエディタでexcelの実行ファイルをいじって
一番太い直線のプリセットを潰して太さ1.5ptの太さのプリセットを作るなどでも構いません。
この端末での出力に適えばとりあえずOKです。

又はエクセル形式のファイルには罫線の太さが数値で入っている仕様なようでしたら、
太さを任意に変更する事が可能なソフトなどを教えて頂ければと思います。

何卒宜しくお願い致します。
>>794
無理。
色を少し薄く(明るく)すれば錯角で細く見えるようになる。
>>793 ヘルプ見りゃ全部わかる
>>794 「仕様である事は承知しております」わかってんなら聞くな
797名無し変更議論中@詳しくは自治スレへ:2009/03/31(火) 11:07:07
答える気が無いなら書き込むなよw
>>794
細いの2本か3本並べてグループ化、コピーして使うとかどう
後は図として用意し、拡大してみたりとか
後ろ塗りつぶされちゃうけど
>>794
一番細い破線は印刷すると細い直線に見えるプリンタもあるよ
800名無し変更議論中@詳しくは自治スレへ:2009/03/31(火) 14:48:01
win xp
エクセル 2002
vba使わずに出来る方法が良いです
キーワード 罫線

書式の保護は解かるのですが

フォントやパターンは変更できるようにして
罫線だけを変更出来ないようにするにはどうしたら良いですか?
テキストボックスでマクロの記録をしているのですが、msotrueとはなんでしょうか?
ただのtrueとはまた違うと思うのですが、どこが違うのか良く分かりません。

またMSDNでmsotrueがどういった意味か調べたいのですが、他の語句の一部として出てきてしまいます。
msotrueという言葉自体を調べたい場合は、どのように調べれば効率が良いでしょうか?
802793:2009/03/31(火) 15:29:53
>>796
レスありがとうございます。
ヘルプ見ましたが、書いてある所が見つかりません。
どこに書いてあるのでしょうか?
>>801
ググれ

TrueはBoolean(VBAでは-1)、msoTrueは組み込み定数(-1)。
>>803
感謝です
先頭行から、データの最後まで1行ずつ処理するマクロを作りたいんですけど、
ExcelでEOD判定ってどうやるんですか?
eod判定は知らないけど
・最終行のROWを取得。マクロの記録でA65535選択後ctrl+↑
・fornextでカウンタをの最後を↑の行に。後はカウンタ変数をcells(i,1)みたいに使って処理
>>805
1) .Range("A65536").End(xlUp).Rowで指定列の最終入力行取得
2) Sheets.UsedRange.Rows.Countでシート使用範囲の行数を取得
3) Range("A1").CurrentRegion.Rows.Countで指定セルと連続した範囲の行数を取得
を使ってFor〜Nextで。

1)〜3)それぞれ仕様が違うので、ヘルプ&ぐぐった上で好きなのどうぞ。
808805:2009/04/01(水) 07:44:49
>>806 >>807

素早いご回答ありがとうございます。
いろいろ方法があるんですね。試してみます。

> 1) .Range("A65536").End(xlUp).Rowで指定列の最終入力行取得

バージョン情報無しの場合にこの回答すると「不適切」と言われる時代になってしまったな。
正しくは

.Cells(Cells.Rows.Count, 1).End(xlUp).Row
ああ、2007対応が必要ですね。失礼しました。
811名無し変更議論中@詳しくは自治スレへ:2009/04/01(水) 09:18:13
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 時間計算 / excel 時給計算 


時給の勤怠表を作っています。
1.
9:00 〜 22:00  と入力した時点で  「9:00〜17:00」  「17:01〜22:00」  「8時間超」 の各勤務時間が出るようにしたいのですが
総勤務時間は出せるのですが入力した時間から上記時間帯分を取り出す方法がわかりません。

2.
1.と同じ入力で、総勤務時間が8時間を越えた部分だけ25%増しにしたいのですが、
=((総勤務時間*24)-8)*1.25  でいいのでしょうか?


よろしくお願いします。
>>811
数学もとい算数の問題はスレ違い。

Excelのシリアル値の扱いが解らないと言うなら、その部分は教えるが
算数的な計算方法が解らない奴に、算数教えるスレじゃないのでね。

つーか、勤務とか書いてるけど、まさかそのレベルで会社に勤めてる社会人だとか言わないよね?
春休み中の小学生でしょ?おとうさんやおかあさんは教えてくれないの?
親がパソコン出来なくても、Excelと言わず文章問題にすれば、計算方法くらい教えて貰えるでしょ。
813811:2009/04/01(水) 10:21:09
すみません、2.は撤回します。質問も計算も間違えてました。

1.の時間帯の取り出し方を教えて下さい。お願いします。
814名無しさん@そうだ選挙にいこう:2009/04/01(水) 10:44:43
IF関数で検索
>>813
その時間帯の中での開始と終了を算出して引き算すれば良い。

例えば「17:00〜22:00」の中での開始時刻は
=出勤時刻が17:00以前なら17:00、そうでなければ出勤時刻そのまま

こういう感じで、各時間帯内の開始時刻と終了時刻を算出すればあとは単純に「終了-開始」。
最初は作業セル使って式を組んだ方がいいだろうね。
ワークシートに配置したオプションボタンについて質問です
複数グループ作ることはできますか?
オプションボタンを1-3と配置し、グループ化したあと4-6つ目を別グループとして配置したとします
4にチェックを入れる(valueをtrueにする)と、4以外の1-3,5と6のチェックが全て消えてしまいます
1-3と4-6独立させたいのですが、どのようにすればいいのでしょうか
フォームに配置すれば解決できるのですが、ワークシート上で実現できるかどうか教えてください
>>812なんでそんなに偉そうなの?
誰しも初心者の頃が合っただろうに
>>811が小さい商店のバイトの可能性だってあるだろう
啓蒙(笑)なんてせずに淡々と答えてれば良いんだよ

>>811
A1に開始B1に終了C1に休憩D1に総労働時間
となってるとする
E1に17:00までF1がそれ以降G1が8h越え
E1=17/24-A1
F1=+D1-E1
G1=IF(8/24<D1,D1-(8/24),0)
>>812
おまいみたいなのが居ると、空気悪くなるからくんな!!!!!!
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ソート カウント

業務でexcel形式の患者データベースを使用しています。
オートフィルタで患者人数をある程度絞った後、
出てきた行数をカウントしたいのですが、
どうすれば出来ますか?
関数を使おうと思ったのですが、ドラッグアンドドロップで範囲指定すると
表示されていない行まで選択されたりして非常に手間がかかって困ります。
簡潔な手順でこなせると非常に嬉しいです。
>>819
フィルタかける表の上に行を挿入して、SUBTOTAL関数
subtotal(103,範囲)じゃダメかい?
>>821
第一引数103は2003以降の機能。2000なら1から11まで。
>>816は仕様上無理と思ってよろしいでしょうか?
別に無理じゃないけど
825816:2009/04/01(水) 21:58:22
分かりました!グループネームを帰ればいいんですね!
ヒャッホーできたー
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
シート1で入力をし、シート2以降にそれを反映させたいと思います。
シート1に入力するのは、日付、パートさんの入店時間、退出時間、等です。
シート2以降は、パートさんの個人毎のシートです。
シート1は、
A
1 1/1
2 Aさん
3  10:00
4  15:00
シート2(Aさん)、
   A B C ・・・
1  1/1 10:00 15:00
2  1/2
3  1/3

以上のように、シート1のA1に日付、A2に人名を入力した場合、
シート2(Aさんのシート)のA列の日付に対応した入店時間等を入力するにはどうすれば良いのでしょうか?
(例として、シート1に、
A
1 1/2
2 Aさん
3  11:00
4  18:00
と、入力した場合、シート2に、
   A  B  C
2  1/2  11:00  18:00
このように反映されたいです。
宜しくお願い致します。
827826:2009/04/01(水) 22:19:52
行間が変になりました。
申し訳ないです。
AさんとA1の見分けがつかない
>>826
せめて三回分ぐらいは例として出した方がいい。
シート1も2も右に伸びるのか下に伸びるのか分からない。行間の有無も有るのか無いのか分からない

後、シート2のように入力して、シート1のように出力するようにするべき
シート2には左から名前、日付、入室、退室と入力し、
シート1はそれを元に出力するからぶっちゃけどんなスタイルでも何とかなる
今から造るならそうした方がいい
そうしないなら他の人にパス
>>829
シート1は入力フォームを使うと思うので、右や下には伸びないです。
こうしたらイイというのがあれば是非お願いします。
>>828変えました。

シート1で入力をし、シート2以降にそれを反映させたいと思います。
シート1に入力するのは、日付、パートさんの入店時間、退出時間、等です。
シート2以降は、パートさんの個人毎のシートです。
シート1は、
  A
1   1/1
2  人妻肉欲の一夜さん
3  10:00
4  15:00
シート2(人妻肉欲の一夜さん)、
   A    B   C ・・・
1  1/1 10:00 15:00
2  1/2 11:00 18:00
3  1/3 9:00 12:00
以上のように、シート1のA1に日付、A2に人名を入力した場合、
シート2(人妻肉欲の一夜さんのシート)のA列の日付に対応した入店時間等を入力するにはどうすれば良いのでしょうか?
(例として、シート1に、
A
1 1/2
2 人妻肉欲の一夜さん
3  11:00
4  18:00
と、入力した場合、シート2に、
   A  B  C
2  1/2  11:00  18:00
このように反映されたいです。
宜しくお願い致します。
何でわざわざややこしい事しようとするんだろう・・・
832名無し変更議論中@詳しくは自治スレへ:2009/04/02(木) 05:59:51
ブックを開くとauto openでマクロが実行され、実行終了時にブックが閉じてしまう場合、
VBAのコードを見る方法を教えて下さい。
マクロのセキュリティレベルを上げてから
そのブックを開く
834832:2009/04/02(木) 06:16:57
ありがとうございます。
>>830
シート1は入力フォームを使うと思うので、右や下には伸びないです。

これの意味が分かりません。
>>826,830
俺だったら入力にはユーザーフォームを使うし、個人別にシート作らず月や年など期間別でシートを分け
個人別の表示がしたい場合はフィルタを使うが、とりあえず要求仕様通りに作ってみた。

Sub Test()
  Dim Sh As Worksheet
  On Error GoTo SheetNothing
  Set Sh = Worksheets(Range("A2").Value)
  On Error GoTo 0
  With Sh.Cells(Cells.Rows.Count, 1).End(xlUp)
    .Offset(1, 0).Value = Range("A1").Value
    .Offset(1, 1).Value = Range("A3").Value
    .Offset(1, 2).Value = Range("A4").Value
  End With
  Exit Sub
SheetNothing:
  MsgBox "Sheet:" & Range("A2").Value & " がありません"
End Sub

シート1のモジュールに上のコードを貼り、ボタンでも作って割り当てろ。
837名無し変更議論中@詳しくは自治スレへ:2009/04/02(木) 12:24:43
【1 OSの種類         .】 WindowsVISTA
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 EXCEL 全シート 一括変更

工業用機械のレンタル業務をしております。
何月何日何時から何時までに、どの機械を、どの顧客に貸す予定か、この機械はどの顧客が使うか
をエクセルでまとめて管理しています。

シート名が日付で、左に「機械1〜6」を並べ、上に「4:00〜翌4:00」を並べ、交差するセルに貸出顧客名と色をつけて貸出時間。
その下部に定期レンタル情報、機械1「佐藤工業」 機械2「」 機械3「鈴木興産、山田工業」 のように、現在顧客が定期的に借りたがってる機械が分かるようにしています。

そこで困っているのですが
4月1日には、機械1「佐藤工業」機械2「」でしたが
4月2日に、佐藤工業から「今までは機械1を借りていたが、これからは機械2を借りていきたい」
と言われたとき、4月2日以降の全てのシートの、機械1を「」機械2を「佐藤工業」に、一括で変えれる方法を探しています。
現在4月2日以降のシートの全てを手入力で変更しており、手間がかかっております。

私には難しいようなら4月1日以前も含めた全シートを変更しても大丈夫です
(できるなら、この時期には機械1を〜に貸していたという情報を残しておきたいのですが・・・)

よろしくお願いします
>>837
A1に入力されているとする
・A1をクリック
・シートタブの4月2日をクリック
・シフト押しながら4月10日をクリック
・4/2のA1に佐藤工業と入力
・ctrl押しながらenter
ちなみにシフトじゃなくctrlで選択すれば、4/2、4/5、4/10と続いてなくても選択できるよ
他には
・シートタブの4月2日をクリック
・シフト押しながら4月10日をクリック
の状態でCTRL+Hで置換するという方法も
お好きに
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel オートフィル SUM

A列に週間ごとの仕入れ個数
B列に週間に仕入れ個数に対する売り上げた割合(%) が入力してあります。
そのデータが1年分くらいあるのですが、そこで
週ごとに、これまでに仕入れた総個数に対するそれまでの売り上げた総個数の割合をださなくてはいけません

通常でしたらどこかに、週ごとの仕入れ個数×売れた割合 で週ごとの売り上げ個数をエクセル表に出し
そのデータを使い  その週までの売り上げ個数/SUM(A1:A5) などで出すことは可能なのですが

今回はその売り上げ個数をエクセル表内どこにもださず、数式内で出して直接割合を出さないといけません
最初のいくつかを出してから、あとはオートフィルで終わらしたいのですがどのようすればできますでしょうか?

よろしくお願いします。
>>840
A列全てに日付が入ってるなら
c7=if(weekday(a7)=1,sum(a1:a7),0)
みたいな感じで

日付が入ってないなら作業列を作ってvlookupで参照し、
日付を全て埋めた表を作り直してから上記の式を入れる
分からなかったら再度質問してね
他のアプリからUnicode(UTF-16)で出力されたCSVファイルを
Excel2003や2007で開くと、カンマで区切られず、
A列にすべて表示されてしまうのですが、非対応なのでしょうか?
テキストエディタなどでSJISに変換すると、ちゃんと区切られます。
>>842
テキストファイルウィザードや区切り位置指定ウィザードを使ってみて
844837:2009/04/03(金) 11:02:42
ありがとうございました^^
>>843
なるほど、このウィザードを使うと表示できました。ありがとうございます。
SJISのCSVは直接開けるのに、UnicodeのCSVはダメなんですね。
846名無し変更議論中@詳しくは自治スレへ:2009/04/03(金) 11:59:23
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】
A列で入力済みの最終行をコピーして
その下のセル1〜56行まで貼り付ける
その作業を、A,D,F,G,Hの列すべてで同作業を行うマクロを作っています
For 行 = 1 To 56
Range("A3").End(xlDown).Select
Selection.Copy
Selection.Offset(行, 0).Select
ActiveSheet.Paste
Next 行
For 行 = 1 To 56
Range("D3").End(xlDown).Select
Selection.Copy
Selection.Offset(行, 0).Select
ActiveSheet.Paste
Next 行
  ・・・
この文の繰返しよりもっとシンプルな方法があれば教えてください
よろしくお願いします
>>846
Sub Macro1()
Dim 行 As Long
行 = Range("A3").End(xlDown).Row
Range("A" & 行 + 1 & ":A" & 行 + 57).Value = Range("a" & 行).Value
End Sub

列の要素は配列にでも入れるのが妥当だろうけど、これの繰り返しでいいと思う
あえてやるならvba 配列なんかでぐぐるといい
>>846
Sub Macro1()
Dim 行 As Long
Dim 列 As Variant
列 = Array("a", "d", "f", "g", "h")
Dim i As Long
For i = 0 To 4
行 = Range(列(i) & "3").End(xlDown).Row
Range(列(i) & 行).Copy
Range(列(i) & (行 + 1) & ":" & 列(i) & (行 + 57)).Value = Range(列(i) & 行).Value
Next
End Sub

配列作ってみた
849名無し変更議論中@詳しくは自治スレへ:2009/04/03(金) 14:02:17
>>846

Sub test()
'A列
Range("A3").End(xlDown).Select
Range(Selection.Offset(1), Selection.Offset(56)).Value = Selection.Value

'D列
Range("D3").End(xlDown).Select
Range(Selection.Offset(1), Selection.Offset(56)).Value = Selection.Value

'FGH列
For i = 6 To 8
Cells(3, i).End(xlDown).Select
Range(Selection.Offset(1), Selection.Offset(56)).Value = Selection.Value
Next i

End Sub

850>>846:2009/04/03(金) 15:17:41
配列ぐぐっても答えが出ず
戻ってみるとすでに・・・
皆様ありがとうございました。
素朴な疑問、何人くらい回答者様がいるんだろ?
大体常に3-5人ぐらいと思う
深夜は少ないけどそれでもたまに誰かいるみたいだね
852840:2009/04/03(金) 19:29:32
>>841ありがとうございました
自己解決しました
教えてください。

Windows XPで、office2000のExcelです。

セルの罫線近くをWクリックすると、その方向の端っこまで
ガーンと飛んでしまいます。
これを、飛ばないように(何もしないように)するには、どの設定をすれば
良いでしょうか?

>>853
質問の意味がわからん
もっと具体的に
仕様っす
>>854
選択セルの、だよ
選択セルの下の罫線をダブルクリックすると確かctrl+↓と同じ挙動だったと思う
人によってはウザイかもしれない
ダブルクリックしなければいい
何もしなければ何も起こらない
ダブルクリックで編集しようと思って枠をゃっちゃうんでしょ
F2使えって話ね
>>853です。
みなさん、ありがとうございました。納得しました。
質問の説明が甘くてすみませんでした。

すみません。もう一つ教えてください。
「折れ線グラフのデフォルト設定を変えたい!」についてです。

シート上にグラフを作成するとき、次のようにしています。
・グラフにしたいデータのセルを矩形で選択します。
・グラフボタンをクリック。グラフの種類の選択を始めとする一連の入力をして、
 シート上にグラフができます。

そこで、質問です。
EXcelがデフォルトで設定している、折れ線グラフは、
・線が太い
・陰は要らない
・黄色は見にくいからダメ
・データの点(マーカー?)は、もっと小さく
と、いろいろと不平があります。
ですので、一旦グラフ作成してから、手動で直しています。
希望の設定が、どこかで設定出来るものなのでしょうか?

特に、同じ見栄えでグラフを複数作りたいときなどは、
タイトルや、横軸、縦軸の各名称など、全部同じなので、
何度もしなければならず、気が遠くなる作業です。

どうぞ宜しくお願いします。
>>859
グラフを選択してctrl押しながらマウス動かせばコピーできるよ
CTRL+C、CTRL+Vでもok

グラフのユーザー定義で設定できる気もするが、知らん
861名無し変更議論中@詳しくは自治スレへ:2009/04/04(土) 13:57:31
一年間の日付、2009・4/1〜2010・3/31まで一気にコピー貼り付けってできますか?
複数のセルに同じ関数を一度に適用することはできますか?
100.111
100.115
100.119
現在、このようになっているのですが、全てのセルの小数点以下を
rounddownで取り除きたいのです。
>>862
VBAならデータがA1:A3にあれば
With Range("A1:A3")
  .Value = Application.RoundDown(.Cells,0)
End With

VBA無しなら=INT(A1)とでもして、コピー、形式を選択しては貼りつけ、値
で置き換えればいいんじゃね?
>>863
ありがとうございます。やってみます。
>>862-863
A1からA4にデータが入ってるとしたら
B1からB4を選択しB1をアクティブにした状態で
=ROUNDDOWN(A1,0)
と入力してCtrl+Enterで一気に入力できる。
選択した範囲に同じ値、同じ数式を入力するのがCtrl+Enterね。
>>861
質問がよくわからない。
貼付元に一年間の日付があるなら1列に対しては貼り付けられると思うけど
列は256しかないから1行に貼り付けることはできない。

ただ1年間のデータを作成したいなら
A1に2009/4/1を入力して選択した状態してフィルハンドルか、

A1に2009/4/1を入力して選択した状態。
編集(E)→フィル(I)→連続データの作成(S)で
列(C)、日付(D)、日(A)選択、増分値(S)は1、停止値(O)は2010/3/31とか。

2009/4/1じゃなくて2009・4/1にしたいなら上記方法でデータつくったあとで
=TEXT(A1,"yyyy・m/d")
>>865
ありがとうございます。一発で出来ました。助かりました。
869名無し変更議論中@詳しくは自治スレへ:2009/04/04(土) 19:39:28
VBAの記述に関しての質問です。
どう書いたらいいのでしょうか、よろしくお願いします。

ActiveCell.Formula = "=IF(AND(O6<AE6-1,J6>=AE6),"1","")"
右辺の""の使い方が悪いため、現在エラーになっています。
関数としては=IF(AND(O6<AE6-1,J6>=AE6),"1","")で有効なのですが。
1ヶ月間の日付と曜日を自動的に表示させる表を作りたいです。

年と月を特定のセルに入れて、そこからDATE関数などを使うのはわかるのですが、
特定の曜日(例えば土日)の日だけを表示させないってことはできますか?

今月でいうなら、
1 水
2 木
3 金
6 月
7 火
のような感じで、不要な曜日の行を詰めることができればベストなのですが・・・。
>>870
A1=4/1
A1とA2のセルの書式設定 "d aaa"
A2=IF(WEEKDAY(A1)=6,A1+3,A1+1)
A2を下方向にオートフィル
>>871
あぁなるほど。
表示させてからいらない行を消すことを考えてましたが、
考えてみればifで最初から表示させなければいいだけですよね。
ありがとうございました。
>>869
記述の仕方がわからないときは、マクロを記録しながら
その関数を入力してみるといいよ。
ちなみに"〜"の中で"を使用したい場合は""って2回書く。
874869:2009/04/04(土) 20:41:02
サンクス。マクロの記録が取れるとハナから思っていなかった (;~o~;) orz
取ってみたら、次のとおりでした。
念のためですが、後段の分""")"はこれで正しいはずです。
ActiveCell.Formula = "=IF(AND(O5<AE5-1,J5>=AE5),""1"","""")"
質問です。

B列からZ列に点々と値が入力されているのですが
その入力されているセルだけ抽出して
A列に順番に持ってくるというのは出来ますでしょうか。

イメージはこのような形になります。
A1=あ  A2=い  A3=い
B2=あ D=い E=う

A B C D E
1 あ     い
2 い あ
3 う       う
すごくずれてしまいました。
すいません。


A1=あ  A2=い  A3=い
B2=あ D=い E=う

A      B      C      D      E
あ い
い あ


無理じゃない?
範囲A1:AC3000の全てのセルに対し、
左が"2"右が"8"だとそのセルを"5"にしようと思っています。最初にそのセルに入ってる数値は消えてもかまいません
どのようにコードを書けばよいでしょうか?Foreact〜nextか配列にすればいいと言うことは分かりましたが、よく理解できません。
コードが無理ならヒントでいいので、
限られた範囲でforeachを使う方法を教えてください

実際は商品番号・原材料・仕入先と運送会社が入っていて、
会社合併により全ての商品番号がある規則に従い(2と8の間だと5、のように)変わるため
このような処理が必要になります

あと別件ですが、array関数で配列に値を格納するときなんですが、
A1-A5の値をarray関数の引数に一気に指定する方法はありますか?
= Array(Cells(1, 1).Value,Cells(1, 2).Value・・
はしんどいです・・
>>875
入力されてる範囲がせまい場合限定だけど、
範囲選択、コピー
別シートに形式を選択して貼り付け、そのときに「行列を入れ替える」ってのがあるからそれを選択してはりつけ
その範囲がA1:J100にでもなったとする
一番右端の次の列、たとえばK1に
=COUNTA(A1:J1)
Kを0以外でオートフィルタ
コピーしてどこかに行列を入れ替えて貼り付け、完了
>>877
もう少し考えようよ
>>879
考えたけど無理やりすぎて泣けたので書かなかった


いっそのこと想定される行数が100だったら
一つの作業列に
=a1
=a2
..
..
=a100
=b1
=b2
..
..
=b100
zまで繰り返し
オートフィルタで空白を除外すればおk


だめだ泣けるw
>>875
何をしたいのか例が悪すぎてよくわからない。
A3=いって書いてあるのに、表のA3に「う」が入ってるのはどういう法則?
D=い と E=う も意味不明。
文章を読む限りでは=CONCATENATE(B1,C1,D1,E1)でいいんじゃない?って気がするけど。
>>881
天才
>>878
2,2,8,8って並んでた場合はどうするの?
2,5,5,8にするの?

array関数への値の格納にはFor Next使えばいいじゃん?
>>883
2、5、8
はそれぞれ仕入先、運送会社、売り上げ先を表しているつもりです。わかりにくくいすいません。
かぶっているところは現在ないので、気にしなくても大丈夫なのです。。

arrayありがとうございます。助かります。
>>878
一次元配列ならArray関数じゃなうくてもいいんじゃない?
a = WorksheetFunction.Transpose(Range("a1:a5"))でaは一次元配列になる。
その例では横方向になってるのでA1:E1の値を一次元配列にしたければ
a = WorksheetFunction.Index(Range("a1:e1").Value,0)だが、Joinとかで使う必要がなければ
a = Range("a1:a5").Valueと二次元配列でもいいんじゃない?
>>885
おおお!!ありがとうございます!!
知りませんでした!ありがとうございました!!
                  /           `丶、
            /             \
              /   / /            丶
           /   /  l   /   /  }     ヽ
          ,'    l  .|l   |⌒ /  / | |  ! ',
          |    |   |{ | l   /  /⌒| l  |  !
          |   |   |」_{ _ {  {{ / / | /  |  |    ぎゃおー!
          j  /⊃ _|⌒ヾ八从/j∠ j/ /j  ,'      食ーべちゃうぞー♪
          /xくヽ_ト._V }ゞ , v- _ '´ ̄’ハ/|/ /            ,ヘ-、
           / iヘJノ   人.(    ノ ""イ.} l乂,.イ             /゙)ヘし〉
         {∧    |. ヽ> -r'-‐ '´ ハ   ',           / } ハJ
              l〉   ∧ .ハ!   /  ̄`\ノ,!  ハ|        /  ノ /
          /   /レヘノ           ヽ//   __,.ノl   /    /
        /     /.             Y  ` <  /::::|/   /
       /     //^             〉       `丶ィ'´    /
   .ハ  /     /∧     ゙      l `,ヘ、       /
   /:::l\{   /    ',             V    `>、 __/
.  /:::::|   `ー<_     ハ           マ⌒Y   i::::::::::;!
 ,'::::::::|       `''''ー--',          ',    |:::::;: '
 l::::::::::',           ,. -―、}       {    '.   |::/
 |::::::::::::i   ,. -‐、/     j           ',   |/
 |:::::::::::::|/         /           ∧   ′
 ヽ:::::::::::|             ,'    ヽ      ,  l
   ',:::::::;!         i      、      / │
    |:::/             |       \ ノ/   |
    レ′           |        |     l
1 2 3 4 5 6     7
100.0% 73.3% 40.0% 32.6% 28.0% 25.6%

エクセルで上記のような表がある場合に
つぎの7の数値を求めてくれる(予測)してくれる関数はありますか?
>>888
ない
>>888
数列の規則をおしえてくれ
891875:2009/04/05(日) 18:21:22
すいません。説明も間違っているし混乱させてしまいました。
説明が下手すぎるので画像をとってみました。
http://www.dotup.org/uploda/www.dotup.org25463.jpg

申し訳ないです。
>>891
だから=a1&b1&c1&d1&・・でいいよ
横に長いならまた言って
indirectとrowで片付けれる
>>891
A列に取りだす順序は何か規則性があるの?適当でいいの?
文字は1列中に1セルにしか入って無いとかそういう規則はあるの?
>>892
横列の長さは最大で2000くらいあります。
行数は最大で256です。

>>893
A列に取り出していく順序は出来れば

B列の上から下まで
C列の上から下まで
と規則的な方が良いです。
>>894
エクセル2007?
ちなみに列ってのは横にABCと続いてるもの、行ってのは123って書いてる方だけど大丈夫だよね
>>894
>>879で解決してる
>>891
1つの列に2箇所文字が入ってる場合はある?
あった場合はどういう法則?
>>896
してないしw
だぶりゅー!
>>898
解釈間違ってたスマン。A列に集めるってことなのね
>>895
エクセル2007を使っています。
列は横列のA.B.C....と続くもので大丈夫です。
行は1.2.3...と続くもので大丈夫です。
エクセル2003だと66536行くらいが最大らしいですね。

>>896
途中で数字が入っていたらしく合計した値が出てきました・・
文字列のcounta?のようなものを検索した方がよいですかね。。
>>897
説明不足にならないようにもう一度画像をはりますね。
http://www.dotup.org/uploda/www.dotup.org25528.jpg
元データとほぼ同じ構成です。

この場合のBからF列まで均等に5つずつ入っていますが
実データは256行で均等に配列されています。(すべて256行ということです)

途中の空白はないものとして扱っていただいて大丈夫です。。。
>>902
vba使えば
>>902
VBA使えるかどうか、頼む
無理なら俺はお手上げだ
905>>880:2009/04/05(日) 19:14:19
>>902
それならやっぱり俺の
いっそのこと想定される行数が100だったら
一つの作業列に
=a1
=a2
..
..
=a100
=b1
=b2
..
..
=b100
zまで繰り返し

これを256にすればいいじゃまいかw
敷き詰めてあるならオートフィルタで空白不可視にしなくていいしなw

打ち込むやつはオートフィルでうまくやってくれるんじゃないか?あできなかったわw
誰かに任せたしw
>>903
>>904
マクロの式さえ貼っていただければ実行するだけなので出来ますが
自分で書くのは出来ません。マクロの記録というのするのが精一杯です。

>>905
これでいけそうですね
連続データがうまく作成できませんが。
>>906
オプション設定で数式を表示させれば連続データが作成できるよ。
最後に空白をオートフィルタで削除してコピーしなきゃなんないけど。
ちなみに何に使うの?
>>875
できたぞカスどもー(^q^)ノ
A1=INDIRECT("r"&MOD(ROW(),256)+1&"c"&2+INT(ROW()/256),0)&""
下にオートフィル、A列をコピー、値で貼り付け
後はオートフィルタで空白以外全てを選択すればいい

VBAのほうが早かったれす(^q^)
忘れてたがb1だけは調節してくれ
あと一応65536辺りはしっかりみておいてくれ

>>906
じゃあこれでやって
aGyou = 1
For Retu = 2 To 2000
For Gyou = 1 To 256
If シート名.Cells(Gyou, Retu).Value <> "" Then
シート名.Cells(aGyou, 1).Value = シート名.Cells(Gyou, Retu).Value
aGyou = aGyou + 1
End If
Next i
Next j
aGyou = 1
For Retu = 2 To 2000
  For Gyou = 1 To 256
    If シート名.Cells(Gyou, Retu).Value <> "" Then
      シート名.Cells(aGyou, 1).Value = シート名.Cells(Gyou, Retu).Value
      aGyou = aGyou + 1
    End If
  Next i
Next j
あ、下の i と j はそれぞれGyouとRetuに変更してね
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

A.B.C列つなげて最後にD列の値を上から順番につなげていきたいと思っています。

E1=A1&B1&C1&D1
E2=A1&B1&C1&D2
...
E10=A1&B1&C1&D10

というようなイメージです。D列には10行くらい数字がきています。(10行というのは後で変えられると助かります。)
”1”の行が終わったら次は”2”の行で同じことを繰り返して
またD10まで足したら次は’3’行で・・・というようにしたいです。

E10=A1&B1&C1&D10 の続き
E11=A2&B2&C2&D1
E12=A2&B2&C2&D2
...

E21=A3&B3&C3&D1

よろしくお願いします。
>>888
FORECAST()という関数がある。
ただし、原理(回帰分析)を理解してから使うように。
>>915
=INDIRECT("a"&1+INT((ROW()-1)/10))&INDIRECT("b"&1+INT((ROW()-1)/10))&INDIRECT("c"&1+INT((ROW()-1)/10))&INDIRECT("d"&1+MOD(ROW()-1,10))
最後の10を変えれば変更も可能と思う
>>912

これで大丈夫ですか?
シート名のところにはsheet1  といれればよいのでしょうか


Sub test()

aGyou = 1
For Retu = 2 To 2000
For Gyou = 1 To 256
If シート名.Cells(Gyou, Retu).Value <> "" Then
シート名.Cells(aGyou, 1).Value = シート名.Cells(Gyou, Retu).Value
aGyou = aGyou + 1
End If
Next Gyou
Next Retu

End Sub
>>914

F1=10

A,B,C列分
=INDEX($A$1:$A$10,INT((ROW()-1)/$F$1)+1)

D列分
=INDEX($D$1:$D$10,MOD(ROW()-1,$F$1)+1)


あとは自分で繋げて
>>917
ActiveSheet.Cells(Gyou, Retu).Value <> "" Then
でいいかと
>>917のでうまくできました!
皆さんの貴重なお時間裂いてしまってすいません。
本当にありがとうございました!!

>>919
どこにいれたらよいですか
>>921
シート名.Cells
をActiveSheet.Cellsに全て変えればいいよ
>>922
ありがとうございます
>>918
ありがとうございます
うまくつながりました
>>918にひとつだけ追加してもよいでしょうか

=INDEX($C$1:$C$256,INT((ROW()-1)/$F$1)+1)
を65536行以上に対応させるには
,256  みたいなのをどこかに入れればよかったような記憶があるのですが(うろ覚え)
正しくはどう記述したらよいでしょうか
フィルしたら確かに7万くらいの行からエラーになるね
俺にはわからん
7万って存在するのか
2007なら存在するよ
104万行まで存在するよ
>>927
エクセル2007のことだろ
>>928
ほんとですか?
今まで、たまにエクセルで1/1000秒 積分していて
6秒しか計算出来なかったのに
104秒計算できる。2007導入を考えたくなった スレ違いでスマン
931>>925:2009/04/05(日) 22:21:16
D列に300行くらい数値があり
F1=256

G1=INDEX($D$1:$D$256,INT((ROW()-1)/$F$1)+1)
↑をオートフィルすると65537行目からエラーになってしまう。
むりぽ?
>>545が参考になるかも
>>930
その程度のことなら6万逝ったら次列に移動する(6万*256列=1536万)とか
外部ファイルに結果を書き出す(ほぼ無限)とかすればいいだけじゃん。
>>933
実験で外部ファイルから数値を読み込んで、エクセルで計算していた。
6秒(6万行)ごとに各シートにまとめ、グラフを作っていた。

全体のグラフが見たい時は1/100秒で積分したりしていけど、手間が省けそう。
マジ助かった。
935>>925:2009/04/05(日) 22:44:30
>>932
解決いたしました

>>545
=INDIRECT("d"&INT((ROW()-1)/256)+1)
を使ったところ65536行以上に対応できました。
>>914
Excel2003じゃなかったの?w
>>935
おめでとう

2007が普及してきてから65536以上のネタ増えたなと実感
もうすぐ次スレだな
>>936
シーーッw
A列にあるデータの個数の合計を出すには
関数はどう書けばよいですか?
セル結合を一気に出来ないだろうか
行方向に4セル結合を
100行を簡単に、一気に
とか(^^;)
>>939
普通に

>>940
出来るよ
942名無しさん@そうだ選挙にいこう:2009/04/06(月) 00:21:53
普通に吹いたw
943名無しさん@そうだ選挙にいこう:2009/04/06(月) 01:33:40
>>939
数値の個数
=COUNT(A:A)

空白以外のセルの個数
=COUNTA(A:A)

空白以外のセルでA1の値に合致するセルの個数
=COUNTIF(A:A,A1)

>>940
メニューバー→表示(V)→ツールバー(T)→ユーザー設定(C)
→コマンドタブ→分類(G)の書式→コマンド(D)の横方向に結合
をツールバーにドラッグして使用
944名無しさん@そうだ選挙にいこう:2009/04/06(月) 02:42:46
>>943
ありがとう!!!
945名無しさん@そうだ選挙にいこう:2009/04/06(月) 11:27:04
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

1 あ
2 い
3 う
4 え

と表があり、新しい表に[1]と打ち込んだら[あ]と、
[4]と打ち込んだら[え]と表示させるのはどうすればいいんでしょうか?
946名無しさん@そうだ選挙にいこう:2009/04/06(月) 12:39:32
>>945
vlookup関数を使う
最初に別に表を作っておいてコピー、
947945:2009/04/06(月) 12:58:25
>>946
それです!vlookupです!ありがとうございました!
948名無しさん@そうだ選挙にいこう:2009/04/06(月) 13:03:04
数式にエラーが出たときにfalseを返す関数はありますか?
iserrorにiserrorを入れ子すれば実現はできるのですが、
もしあれば教えてください。
949名無しさん@そうだ選挙にいこう:2009/04/06(月) 13:11:59
>>945
そういるルールだからです。
「ぬーやる」バーガーはしってますか?
950名無しさん@そうだ選挙にいこう:2009/04/06(月) 13:27:50
>>948
入れ子?
=ISERROR(ISERROR( 式 )) は、どんな式でも絶対にFALSEになるんだけど。
普通はNOT(ISERROR( 式 )) か IF(ISERROR( 式 ),FALSE,TRUE) みたいにやる。
951名無しさん@そうだ選挙にいこう:2009/04/06(月) 13:30:58
>>950
入れ子にしたときfalseとエラーを勘違いしてしまいました
NOTですね、ありがとうございます
952名無しさん@そうだ選挙にいこう:2009/04/06(月) 20:38:44
>>945-946
A列が1からの連番ならVLOOKUPでわざわざ検索する必要はない。
D1に3と入力して"う"を求めるには
=INDEX(B:B,D1)で充分。
B列の後ろが未入力で0となるのが嫌なら
=INDEX(B:B,D1)&"" とすりゃよい。
ただしD1が未入力だったり0だったりすると"あ"になるのでその対策は必要かもね。
なおA列の連番はなくてもよい。
953名無しさん@そうだ選挙にいこう:2009/04/06(月) 20:46:24
>>949
誤爆?
沖縄の食い物で一番うまいのは「ホーミ」だな。
あの貝はうまい。
954名無しさん@そうだ選挙にいこう:2009/04/06(月) 21:46:11
2007用の65千行を超える場合のコードをテンプレにしてもらいまいか
955名無しさん@そうだ選挙にいこう:2009/04/06(月) 22:05:34
>>954
テンプレ用としてまとめた物を提示してください
956名無しさん@そうだ選挙にいこう:2009/04/06(月) 22:10:11
>>943
ありがとうございます
コマンド→書式→横方向に結合をドラッグどろっぷ
してできました

ツールバーにコマンド追加ですね。勉強になります
957954:2009/04/07(火) 00:30:54
ごめん、余計なことを書いたorz
意味もよくわからず、ただ、期待を述べただけでそ。
まとめたものが出来るぐらいなら・・・  うっうっうっーー ;;;
958名無しさん@そうだ選挙にいこう:2009/04/07(火) 01:37:01
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel ファイル 開かない
今まで開けていたファイルが見れなくなりました。
現象としては、ファイル名.xls →ダブルクリック
EXCEL起動 → ツールバー等は表示されるが、
画面にデータの入ったシートが出てこない。

対象のファイル以外のファイルは表示されるものも
あるが、されないのもある。
他のPCでファイル共有して開いてみると、表示されるので
データは壊れていないです。

過去に同じような症状があったような気がして、
そのときは、EXCEL自身がファイルを開く時に
どこかにバックアップファイルを作り、ゴミとしてそのファイルが
残ったままになっているので、そのファイルを消すと、
表示できたような覚えがあるのですが、MICROSOFTのサイトや
ググって見ても、見つけきれませんでした。

対応方法を教えてくださいませ。
959名無しさん@そうだ選挙にいこう:2009/04/07(火) 01:48:17
とりあえず再インストール
面倒とか言わずに自分で出来ることくらいは試せ

その上でまだ駄目ならまたおいで

再インストールが嫌とか言うなら永久にさようなら
960958:2009/04/07(火) 02:01:39
>>959

再インストールしました。。。。。。。。。

で、解決しました。

ツール→オプション→全般タブ→他のアプリケーションを無視のチェックOFF

でOKでした。

おかげで、MicroSoftアップデートのやり直し中です。。。

ていうか、なぜチェックがついたんだ?それが気になる。
961名無しさん@そうだ選挙にいこう:2009/04/07(火) 11:45:26
【1 OSの種類     .】 WindowsXP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか  .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード  】 関数 計算結果 反映
B1〜E1に同じ数式 B1セルで説明すると=IF((B2-A2)/B3=(C2-B2)/C3,"",B2)
が入っています。
B1〜E1は非表示になると思ったのですが
下にように表示されてしまいます。
   A   B   C    D    E    F
1      10.06      10.12 10.15 
2 10.03 10.06 10.09 10.12 10.15 10.18
3        2   2    2    2    2
うまく計算結果がでない理由はなんでしょうか?
また、その対処方法を教えてください
ちなみに、A2〜F2セルに10、12、14、16、18、20
などと入れた場合はちゃんと非表示になります。
みなさんよろしくお願いします。
962名無しさん@そうだ選挙にいこう:2009/04/07(火) 12:15:23
>>961
・・・・Excelの穴、0.015にならんのよ
B1
=IF(ROUND((B2-A2)/B3,3)=ROUND((C2-B2)/C3,3),"",B2)
963961:2009/04/07(火) 12:24:16
 え 穴??
とにかく、ありがとうございました。
大変助かりました。
964名無しさん@そうだ選挙にいこう:2009/04/07(火) 12:42:01
気になるなら
小数誤差
でぐぐると良い
965名無しさん@そうだ選挙にいこう:2009/04/07(火) 16:45:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 文字列置換、ワイルドカード
下記のように氏名の間には半角スペースがあります。

佐々木 健太
澤 佳
山田 太郎

これを、苗字が3文字の氏名はそのままで、
苗字が1文字の氏名の前には半角スペースを6つ入れ、
苗字が2文字の氏名の前には半角スペースを3つ入れ、
結果としては下記のように氏名の間のスペースを揃えようとしています。

佐々木 健太
澤 佳
山田 太郎

プロポーショナルフォントではないことを前提とし、このような処理を行うには
なんという関数を用いてどのように記述すれば宜しいでしょうか?




966965:2009/04/07(火) 17:04:25
書き込む際に行頭の半角スペースが無視されてしまいました。
結果として、とにかく必要としているのは氏名の間のスペースを揃えることです。
967名無しさん@そうだ選挙にいこう:2009/04/07(火) 17:20:35
>>965
=IF(FIND(" ",A1)=4,A1,"")&IF(FIND(" ",A1)=3,SUBSTITUTE(A1," "," "),"")&IF(FIND(" ",A1)=2,SUBSTITUTE(A1," "," "),"")
REPT使えばもう少しスマートにはなるかなぁ
968名無しさん@そうだ選挙にいこう:2009/04/07(火) 17:22:34
最初にスペース入ってるし区切って加工したほうが早そう
969名無しさん@そうだ選挙にいこう:2009/04/07(火) 17:29:07
てか、4文字の名字の可能性は考慮しなくて大丈夫?
970名無しさん@そうだ選挙にいこう:2009/04/07(火) 17:33:03
>>967-968
早速のご回答ありがとうございます。
現在書き込んでるPCにはExcelが入っていないので、
後ほど別のPCで実行させていただきます。

>>969
今のところリストに4文字の苗字がないので考慮しておりませんでしたが、
4文字の苗字があれば、今回お聞きしたことを応用して実行しようと考えております。
971名無しさん@そうだ選挙にいこう:2009/04/07(火) 17:46:28
>>965
それだと揃わないよ。

MS Pゴシックの12ptの場合、全角文字は幅16ピクセル、半角スペースは5ピクセルだから、
スペース3つだと15ピクセルにしかならない。つまり1文字につき1ピクセルずつずれていく。
しかも、それを印刷するとさらにずれる。
きちんと揃えたいなら固定ピッチフォントを使うべし。

画面上でだけ揃えばいいなら全角スペース1個(11ピクセル)+半角スペース1個で
ちょうど16ピクセルになる。
972名無しさん@そうだ選挙にいこう:2009/04/07(火) 17:48:37
=REPT(" ",(4-FIND(" ",A1))*3)&A1
973967:2009/04/07(火) 17:53:41
ああ、間違えた氏名の前ね、間と思ってたごめんなさい
>>972が正解です
974名無しさん@そうだ選挙にいこう:2009/04/07(火) 18:03:26
下の名前が揃ってればいいって事であれば
性と名を別の列に取りだす式書いた方が簡単かも
975名無しさん@そうだ選挙にいこう:2009/04/07(火) 18:23:06
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン  】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 データの入力規則 リスト 二行 関連づけ

自力でいろいろ調べては見たのですが、どうしても答えがわからないので、ご教示お願いいたします。
[データの入力規則]を使用してリストから選択した際、
別枠に用意した表の参照範囲を二行、関連付けて、
同時に自動入力されるようにはできないものなのでしょうか?

例えば、A3にサロンパスを選択すると、自動的にB3に100が入力される、というようなテーブルを作成したいのです。

1   A      B             E       F
2  商品名   値段         サロンパス   100
3                       正露丸    500
4                   タイガーバーム   1500

すいません。どうか、ご回答、お願いいたします。
976名無しさん@そうだ選挙にいこう:2009/04/07(火) 18:36:24
VLOOKUPってしってる?
977名無しさん@そうだ選挙にいこう:2009/04/07(火) 19:03:34
>>976
知りませんでした。
解決しました。こんな単純なことだったとは。
ありがとうございました。
978名無しさん@そうだ選挙にいこう:2009/04/07(火) 19:22:47
gghg
979名無しさん@そうだ選挙にいこう:2009/04/07(火) 21:07:57
【1 OSの種類         .】 WindowsXP Pro SP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Private Sub Worksheet_Change(ByVal Target As Range)
Selection.FormatConditions.Add Type:=xlExpression, Formula1
Selection.FormatConditions(1).Interior.ColorIndex

<やりたいこと>
4つ以上の条件付書式に応じて「行全体」の書式を変更する。

<イメージ>
・D列:条件を入力する
・D列の条件に応じて、行全体の書式(セルの色)が変わる。
・「=$D1="pink"」(のような感じを)を4つ以上設定したい。

.. A B C D
1 1 2 3 pink  ←D1ではなく1行目全体をPINK
2 1 2 3 yellow  ←D2ではなく2行目全体をYELLOW
3 1 2 3 blue  ←D3ではなく3行目全体をBLUE
4 1 2 3 gray  ←D4ではなく4行目全体をGRAY
5 1 2 3 pink  ←D5ではなく5行目全体をPINK

おながいします。
980名無しさん@そうだ選挙にいこう:2009/04/07(火) 23:07:52
【1 OSの種類         .】 WindowsXP 3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 日付

以前ここで業務日報を作りました。
内容は
アクティブなシートをコピーして、シートの名前に当日の日付を入れることです。
そこまでは上手くいきましたが、
次はコピーしたシートのセルH3に日付を 2009年4月7日 (火) の形式で記入をしたいです。

現在のVBAだと009年4月7日 火 となります。
しかし "aaa"→"(”aaa")" にしても上手くいきません。
ご教授ください
VBA貼ります

Sub Macro1()
ActiveSheet.Copy After:=ActiveSheet
ActiveSheet.Name = Format(Date, "yymmdd")
ActiveSheet.Range("H3") = Format(Date, "yyyy""年""mm""月""dd""日""aaa")
End Sub
981名無しさん@そうだ選挙にいこう:2009/04/08(水) 00:19:43
>>980
ActiveSheet.Range("H3") = Format(Date, "yyyy年m月d日 (aaa)")
982名無しさん@そうだ選挙にいこう:2009/04/08(水) 00:20:21
>>980
右辺をFormat(Date, "yyyy年mm月dd日 (aaa)")
またはFormat(Date, "yyyy""年""mm""月""dd""日"" (aaa)")
だが、普通にシリアル値入れて表示形式でそのように表示した方がいいと思う。
983980:2009/04/08(水) 00:33:20
>>981
>>982
ありがとうございます。VBA出来ました。

シリアル値を入れて表示形式(yyyy mm dd aaaa)
表示形式は出来そうですが、シリアル値の入れ方かたが分かりません。
また、しばらく調査してから質問させてください。
ありがとうございました。
984名無しさん@そうだ選挙にいこう:2009/04/08(水) 00:43:06
>>979
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myColor As Integer
If Target.Column = 5 Then
Select Case Target.Value
Case "pink"
myColor = 38
Case "yellow"
myColor = 6
Case "blue"
myColor = 5
Case "gray"
myColor = 48
End Select
Target.EntireRow.Interior.ColorIndex = myColor
End If
End Sub
985名無しさん@そうだ選挙にいこう:2009/04/08(水) 00:55:10
>>984
If Target.Column = 5 Then

じゃなかった。D列だから
If Target.Column = 4 Then
986名無しさん@そうだ選挙にいこう:2009/04/08(水) 07:21:01
987名無しさん@そうだ選挙にいこう:2009/04/08(水) 08:40:53
>>983
シリアル値はDate関数の戻り値を入れるだけ。
With Range("H3")
  .Value = Date
  NumberFormatLocal = "yyyy年mm月dd日 (aaa)")
End With
988987:2009/04/08(水) 08:43:24
上は最後のかっこが余分だ、すまん
989名無しさん@そうだ選挙にいこう:2009/04/08(水) 09:06:10
datevalue教えてやれよw
990名無しさん@そうだ選挙にいこう:2009/04/08(水) 13:47:49
VBAについて質問です。

W20を変更したら、
j22:j28,l22:l28それぞれのセルの値に改行が入ってるかどうか調べ、
入っていたらそのセルのフォントサイズを8等に変更し、入ってなければフォントサイズ12等にする
コードを書いたつもりなのですが、うまく動いてくれません。
何が入力されていてもifの分岐で何故か改行が入ってるほうへとコードが進んでしまいます。

j22:j28,l22:l28は別のセルを参照し、W20に数字を入力することで
セルの参照先が変わるようになっています(INDIRECT関数)
手直ししていただける方、よろしくお願いします。

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Range("w20"), Target) Is Nothing Then Exit Sub
With Range("j22:j28,l22:l28")
If InStr(1, .Value, vbLf) Then
.ShrinkToFit = False
.WrapText = True
.Font.Size = 8
Else
.WrapText = False
.ShrinkToFit = True
.Font.Size = 12
End If
End With
End Sub
991名無しさん@そうだ選挙にいこう:2009/04/08(水) 13:51:09
DateValueなんて必要ないのになんで教えなきゃならんの?
With Range("H3")
  .Value = DateValue(Date)
  .NumberFormatLocal = "yyyy年mm月dd日 (aaa)"
End With
ってやるのか?
動くけどこんなことやったらアフォだな。
992名無しさん@そうだ選挙にいこう:2009/04/08(水) 14:07:53
>>990
そのコードじゃOn Error Resume Next を外すと「型が一致しません」のエラーになるな。
If InStr(1, .Value, vbLf) Thenのところの.ValueはJ22:J28の値の配列だからね。
On Error Resume Next外してもきちんと動くコードを書かんといかん。
993名無しさん@そうだ選挙にいこう:2009/04/08(水) 14:19:07
エラートラップ無しでエラー無視だけってどうよ?
994名無しさん@そうだ選挙にいこう:2009/04/08(水) 14:34:57
単純にエラー無視だからそうなるだけの話だよね。
そもそもそのコードじゃエラートラップ出来ないけど。
絶対にエラーになるからね。
995名無しさん@そうだ選挙にいこう:2009/04/08(水) 14:37:19
>>990はFor Each使ったコードに書きなおさなきゃね。
996990:2009/04/08(水) 14:39:42
>>992-994
エラー完全無視は好ましくありませんが、
帳票を出す時にサイズや折り返して表示等書式を変えたいだけなので、
エラーは無視することにしています
997990:2009/04/08(水) 14:41:50
>>995
ありがとうございます、挑戦してみます。
あとスレ立てられませんでした、すいません。テンプレ↓

Excelに関する質問は、ここで!

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

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

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

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

前スレ
 Excel総合相談所 80
 http://pc11.2ch.net/test/read.cgi/bsoft/1235573810/
998名無しさん@そうだ選挙にいこう:2009/04/08(水) 14:45:25
999名無しさん@そうだ選挙にいこう:2009/04/08(水) 14:58:49
>>996
自分でコード点検できないなら、グダグダ言わずにエラー無視やめろ。
次スレ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。