Excel総合相談所 81

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう

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

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

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

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

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

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

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

★ルールを無視すると…
 >>1-2あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ

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

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

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


★VBAについて
 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。 
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
4名無しさん@そうだ選挙にいこう:2009/04/08(水) 14:48:02

★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||
6名無しさん@そうだ選挙にいこう:2009/04/08(水) 14:49:37

上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

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

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。
7名無しさん@そうだ選挙にいこう:2009/04/08(水) 15:34:38
>>1
8名無しさん@そうだ選挙にいこう:2009/04/08(水) 15:35:31
>>1
もつ
9前990:2009/04/08(水) 16:03:02
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("w20"), Target) Is Nothing Then Exit Sub
For Each xxx In Range("j22:j28,l22:l28")
With xxx
以下同じで動きました、ありがとうございました
10名無しさん@そうだ選挙にいこう:2009/04/08(水) 16:10:11
ソフトのことならここが良心的・・・
http://www.hhyyhh22.co.nr
11名無しさん@そうだ選挙にいこう:2009/04/08(水) 16:14:45
見積書や納品書につかう字体は主に何になるのでしょうか?
MS Pゴシックでいいのでしょうか?
アドバイスお願いします。
12名無しさん@そうだ選挙にいこう:2009/04/08(水) 16:19:52
>>11
あなたのセンスでいいのでは?
13名無しさん@そうだ選挙にいこう:2009/04/08(水) 16:19:54
>>11
スレ違いすぎ。サヨウナラ
14名無しさん@そうだ選挙にいこう:2009/04/08(水) 16:22:22
スレ違いすみません
勉強のため他の会社からきた納品書を見て同じのをつくろうと
思っているんですが、なかなか見つからなくて悩んでおりました・・。
そして、会社で使う主な字体は何だろうと質問しました。
15名無しさん@そうだ選挙にいこう:2009/04/08(水) 16:28:58
ゴシックか明朝では
16名無しさん@そうだ選挙にいこう:2009/04/08(水) 16:35:15
>>15
ありがとうございます
早速、使ってみます(´∀`)
17名無しさん@そうだ選挙にいこう:2009/04/08(水) 17:52:36
教えてください。
A1のセルに 2009/4/1 12:58 が入っていまして、
A2には=SUM(A1+1)が入っていますが、見えるのは 2009/4/2 12:58
が見えています。この見えている 2009/4/2 12:58 の時間を編集したいのですが
いざ編集しようとすると =SUM(A1+1) が出てきてしまいます。

直接編集することは不可能では無いらしいのですが、検索しても分からず
困っています。どなたか教えていただけないでしょうか。
18名無しさん@そうだ選挙にいこう:2009/04/08(水) 17:55:22
>>17
形式を選択して貼り付け→値
19名無しさん@そうだ選挙にいこう:2009/04/08(水) 18:10:20
>>18
早速教えていただき大変うれしいです。
ちょっと検索しながらやってみます。
ありがとう御座いました。
20名無しさん@そうだ選挙にいこう:2009/04/08(水) 18:29:38
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセルで時間の計算をしているんですが、A1のセルに時間が入り、A2のセルに計算式を入れて
A1の時間が10時間以上になった数を割り出したいんです。
例えば、A1に12:00が入ったら2:00、15:00だったら5:00、10時間を越えなかったら0です。
この場合どういう式を入れればいいんでしょうか?
ifで出来るんでしょうか?分かる方教えてください。
21名無しさん@そうだ選挙にいこう:2009/04/08(水) 18:52:10
=MAX(0,A1-TIME(10,0,0))
22名無しさん@そうだ選挙にいこう:2009/04/08(水) 19:02:38
>>21
テクニカルすぎ笑った
>>20
=IF(A1>(10/24),A1-10/24,0)
普通はこんな感じな
23名無しさん@そうだ選挙にいこう:2009/04/08(水) 19:08:34
>>21-22
ありがとうございました!
24名無しさん@そうだ選挙にいこう:2009/04/08(水) 21:10:04
【1 OSの種類         .】 Windows VISTA
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ピポットテーブル "複数のテーブル" 複数のワークシート 集計

複数のテーブルに跨る集計方法を知りたいのですが・・・・・

1  A       B
2  1月売上
3  商品名    売上  
4  バナナ    50
5  メロン     40 
6  リンゴ     30
7  2月売上
8  商品名    売上  
9  パイン     70
10 メロン     60
11 すいか     20
12 3月売上
13  商品名    売上  
14 きゅうり     50
15 セロリ      40
16 メロン      10

A3:B6、A8:B11…と、テーブルになっているものとします。
それぞれ、月刊売上の上位三つが入力されていて、これが12か月分、
一枚のシートに収まっているとして下さい。

このシートから、各月のテーブルに入力された売上数を、
一年間分、各商品ごとに自動的に集計し、
商品名と年間売上合計の一覧を適当な場所に表示するには、一体どうすればよいのでしょうか?
25名無しさん@そうだ選挙にいこう:2009/04/08(水) 21:40:00
>>24
C1=IF(ROW()=2,"商品名",(IF(AND(ISERROR(FIND("月売上",A2)>0),ISERROR(FIND("商品名",A2)>0)),A2,"")))
D1=IF(ROW()=2,"価格",(IF(ISERROR(FIND("売上",B2)>0),B2,"")))

でCD列をピボットテーブル
ピボットで商品名を左、価格を真ん中に穂織り込む
左上の「データの個数/売り上げ」を右クリック、フィールドの設定で合計
26前スレ979:2009/04/08(水) 22:32:32
前スレ984氏、THXです。
27名無しさん@そうだ選挙にいこう:2009/04/08(水) 23:33:20
エクセル2007で、
列幅調整をしたいときに、簡単に調整数値を入れるダイアログボックスを出すショートカットはありますか?
28名無しさん@そうだ選挙にいこう:2009/04/08(水) 23:44:29
>>27
右クリ→列の幅
よりも簡単にしたいってこと?
29名無しさん@そうだ選挙にいこう:2009/04/08(水) 23:50:40
>>28
ありがとうございます。
全ての列をまとめて3.0ポイントにしたいとき、
2007だと右クリックした際に列の幅調整のメニューが出てこないんです。
30名無しさん@そうだ選挙にいこう:2009/04/08(水) 23:58:57
>>29
2003まではツールバー→ユーザー設定→書式→幅コマンドあったんだけど
2007にはもうないのかな。
タブリボンとか使いづらそうだよね。
31名無しさん@そうだ選挙にいこう:2009/04/09(木) 00:06:00
>>29
シートの左上、[ A ]の左の白い▲をクリックして全選択したあとAを右クリック→列の幅
32名無しさん@そうだ選挙にいこう:2009/04/09(木) 00:11:37
>>31
いや2007では右クリだめだってことで聞いてるんでしょ。
ぐぐったけど2007はリボン(?)の書式から列の幅を選択するしかないっぽいな。
33名無しさん@そうだ選挙にいこう:2009/04/09(木) 00:12:25
ありがとうございます。
昔みたいに、マウスを使わずにキーボードだけでの完結はできなさそうですね。
2003を使用したいですが、会社が2007になるので慣れなきゃ…。
泣きそうです。
フローチャートも描きたいのですが、効率よく作業するため、
分岐や帳票の図をユーザーツ-ルバー上に登録したいと思っています。
その機能は2007に残っているでしょうか。
34名無しさん@そうだ選挙にいこう:2009/04/09(木) 00:16:11
>>31
あ、ごめん。右クリできるのね。すまんかった。
35名無しさん@そうだ選挙にいこう:2009/04/09(木) 00:16:45
マクロを自作してショートカット登録すればいいんじゃね?
36名無しさん@そうだ選挙にいこう:2009/04/09(木) 00:18:58
>>35
そ…そうですね。
2007は2003よりかなり不便になったのでしょうか。
改悪という印象しかないですが、大きな改善点があるのでしょうね。
37名無しさん@そうだ選挙にいこう:2009/04/09(木) 00:19:55
Altキーも使えないの?
38名無しさん@そうだ選挙にいこう:2009/04/09(木) 00:23:20
ユーザー設定ツールバーに「列の幅」を登録すれば、Alt+数字で実行できる。
数字は環境によって違う。Altだけを押してみればチップで数字が表示される。
39名無しさん@そうだ選挙にいこう:2009/04/09(木) 00:43:31
シートのプロパティからStandardWidthを変更すれば全セルの幅が一気に変わる。
プロパティを出すショートカットはAlt、L、L。
40名無しさん@そうだ選挙にいこう:2009/04/09(木) 01:01:15
実は2007、見た目以外の改悪はほとんど無い
だが見た目があまりにもひどすぎて
かくいう俺も2003に戻してるわ。使いにくすぎるわ・・
41名無しさん@そうだ選挙にいこう:2009/04/09(木) 01:04:19
>>37
altとカーソルキーで、列幅調整にたどることができるけど、フォントを選ぶボックスにカーソルが行ってしまったらやり直しになる…
42名無しさん@そうだ選挙にいこう:2009/04/09(木) 01:06:27
2003ではオートシェイプの個々の図形をユーザー設定ツールバーに置くことができたけど、
2007は無理(-_-;)?
43名無しさん@そうだ選挙にいこう:2009/04/09(木) 01:14:31
>>42
たいていの物は置けると思うけど
44名無しさん@そうだ選挙にいこう:2009/04/09(木) 01:31:45
>>43
ユーザー設定ツールバーの編集を試みたけど、特定の図形だけを乗せるやり方がワカリマセン。
45名無しさん@そうだ選挙にいこう:2009/04/09(木) 02:05:21
>>40
> 実は2007、見た目以外の改悪はほとんど無い
正しくは「見た目」ではなく「インターフェイス(GUI)」ね
「見た目」だけなら気にしない人も多いだろうが
GUIソフトで一番重要な「インターフェイス(GUI)」の改悪とあっては看過できない
46名無しさん@そうだ選挙にいこう:2009/04/09(木) 06:00:32
>>18
教えて頂いた意味が分かり、ちゃんと出来ました。
しかし教えて頂いた方法では、数式が無くなってしまい値のみに
なってしまうと都合が悪いです。

そこで数式を残しながら値を編集する事は不可能なのでしょうか?

なぜ数式が必要かと言いますと、翌月のシートを作る際に先頭のセルに5月1日と
打ち込むと後は一気に5月31日までのセルが出来上がります。
この出来上がったセルに後は実際の稼働時間を打ち込み編集したいわけです。
不躾ながら教えていただけないでしょうか
47名無しさん@そうだ選挙にいこう:2009/04/09(木) 06:32:48
>>46
数式を残しながら値を編集するには
=SUM(A1+1) +1
など数式の最後に数式を追加

数式を残すなら
b2やA3等に数式をコピーし、それを編集する

コメントを追加し、そこに数式を保存という方法もある

じゃなきゃメモにでも書いとけ
48名無しさん@そうだ選挙にいこう:2009/04/09(木) 06:45:26
Ctrl+1の機能が残っていて助かったけど、オートシェイプがめんどくせぇ…。
今日からフローチャートを書かなきゃいけないんだけど、マウスでオブジェクトを配置するにも動きが遅いよ…。ツールバーにもバラで登録できないし。ストレスでハゲそう。
49名無しさん@そうだ選挙にいこう:2009/04/09(木) 06:58:17
フローチャートとコネクタは使ってる?
そんなに面倒でもないと思うんだがなぁ
50名無しさん@そうだ選挙にいこう:2009/04/09(木) 07:26:54
>>49
2003まではサクサクできたけど、2007からは動きが遅くなった
(-_-;)。
51名無しさん@そうだ選挙にいこう:2009/04/09(木) 07:40:07
そうなのか、それはスマンかった
52名無しさん@そうだ選挙にいこう:2009/04/09(木) 09:11:33
GMT標準時刻で渡されるデータがあるのですが、これを日本時間に変換したいです。
日本はGMT+9なので9時間進めた日時時間にするにはどうすればいいでしょうか?

表示形式は下記のようにしたいです。
GMT時間    日本時間
2009/04/09 00:15     2009/04/09 09:15
53名無しさん@そうだ選挙にいこう:2009/04/09(木) 09:18:11
=A1+"9:00:00"
54名無しさん@そうだ選挙にいこう:2009/04/09(木) 09:28:03
>>53
即レスありがとうございます!!
55名無しさん@そうだ選挙にいこう:2009/04/09(木) 11:59:04
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 自動 繰上げ

売上の集計表の本となるデータを作っていますが、関数で↓の計算式を
教えて下さい。

今日の日付(ファイルを開いた日)が2008/2/21〜2009/2/20でA1の値が
1・200603〜200702の場合は「前々期」と表示
2・200703〜200802の場合は 「前期」と表示
3・200803〜200902の場合は 「当期」と表示
4・いずれも該当がない場合は「該当無」と表示
と表示したいのですが、式を教えて下さい
また期が変わる都度1〜3の値を変更しなければならないと思うのですが
この部分も自動で繰り上がるように出来ないでしょうか?
56名無しさん@そうだ選挙にいこう:2009/04/09(木) 12:05:58
>>55
VLOOKUPで、表示も繰り上げも解決する
5755:2009/04/09(木) 12:15:51
>>56
VLOOKUPの使い方は多少わかりますが
具体的な使い方を教えて下さい。
58名無しさん@そうだ選挙にいこう:2009/04/09(木) 12:27:57
>>55
西暦を調べるんじゃなくて「今日から何年前か」を計算すれば、いちいち式を書き換える必要はなくなる。
=LOOKUP(YEAR(DATE(YEAR(TODAY()),MONTH(TODAY())-2,DAY(TODAY())))-YEAR(DATE(YEAR(A1),MONTH(A1)-2,DAY(A1))),{0,1,2,3;"当期","前期","前々期","該当無"})
5958:2009/04/09(木) 12:33:28
ごめん。↑の式は年度の区切りを3月1日で作っちゃったから、DAYの方も引き算しといてね。
6055:2009/04/09(木) 12:36:39
>>58
ありがとうございます、発想の転換ですね(使ったことのない関数の山ですが)(^_^;)
貼り付けてみます。
61名無しさん@そうだ選挙にいこう:2009/04/09(木) 12:40:30
>>55
B1=VLOOKUP(DATE(LEFT(A1,4),RIGHT(A1,2)+1,0),C1:D6,2,TRUE)
C1=DATE(-3+YEAR(NOW())+(MONTH(NOW())>2),2,21)
C2=DATE(-2+YEAR(NOW())+(MONTH(NOW())>2),2,20)
C3=DATE(-2+YEAR(NOW())+(MONTH(NOW())>2),2,21)
C4=DATE(-1+YEAR(NOW())+(MONTH(NOW())>2),2,20)
C5=DATE(-1+YEAR(NOW())+(MONTH(NOW())>2),2,21)
C6=DATE(YEAR(NOW())+(MONTH(NOW())>2),2,20)
D1,D2=前々期
D3,D4=前期
D5,D6=当期

でうまくいくか?
と思ったら既に解決済みすか・・
6255:2009/04/09(木) 12:58:26
>>58
すみません、貼り付けてみましたが計算できませんでした
>>59
式がわかりません、式を組み立てて頂けますか?
>>61
これはどう使えば良いのですか?
63名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:08:49
>>62
ファイルを開いた日の区切りは2/21で年度の区切りは3/1?
6455:2009/04/09(木) 13:18:43
>>63
おっしゃる通りです。
自分でも気づきませんでした
65名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:22:46
>>64
>>63の仕様でいいんなら
=LOOKUP(YEAR(TODAY()-51)-YEAR(DATE(YEAR(A1),MONTH(A1)-2,DAY(A1))),{0,1,2,3;"当期","前期","前々期","該当無"})
66名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:24:23
>55
=CHOOSE(YEAR(TODAY()-51)-YEAR(A1-51)+1,"当期","前期","前々期")

区切りが3月1日以降の時は、年末までの日数を足す。
67名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:33:11
>>66
3年以上前がエラー
6855:2009/04/09(木) 13:34:40
>>65
度々申し訳ありません
A1に「200703」が入っていますが「#N/A」が表示されます
69名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:36:49
>>68
=LOOKUP(YEAR(TODAY()-51)-YEAR(DATE(LEFT(A3,4),RIGHT(A3,2)-2,1)),{0,1,2,3;"当期","前期","前々期","該当無"})
70名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:36:58
A1には年と月で日は入らないんか
71名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:37:43
訂正
=LOOKUP(YEAR(TODAY()-51)-YEAR(DATE(LEFT(A1,4),RIGHT(A1,2)-2,1)),{0,1,2,3;"当期","前期","前々期","該当無"})
72名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:45:27
>>67
リストを下に一行ずらして
B1=VLOOKUP(DATE(LEFT(A1,4),RIGHT(A1,2)+1,0),C1:D8,2,TRUE)
C1=1900/1/1
C8=DATE(YEAR(NOW())+(MONTH(NOW())>2),2,21)
D1,D8=該当無
でいいかな
7355:2009/04/09(木) 13:49:30
>>皆様
ありがとうございました、御蔭さまで今後の仕事が楽になりましたm(-_-)m
74名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:54:16
=LOOKUP(YEAR(TODAY()-51)-LEFT(A1,4)+(MOD(A1,100)<3),{0,1,2,3;"当期","前期","前々期","該当無"})
75名無しさん@そうだ選挙にいこう:2009/04/09(木) 13:56:10
あ、もう終わってたのか
76名無しさん@そうだ選挙にいこう:2009/04/09(木) 14:28:49
この手のはいろいろ解法があって、いかにスマートに式を
短くできるかってのも楽しみの一つだからな。
77名無しさん@そうだ選挙にいこう:2009/04/09(木) 14:51:30
回答者の回答を見てやっと質問の意味を理解できた
こんな自分が悲しい
78名無しさん@そうだ選挙にいこう:2009/04/09(木) 15:41:38
> いかにスマートに式を
> 短くできるか
初心者は式の短さに目がいきがちだが
業務では読解性の方が重要だったりする

他の人が見ても、その式が何をしているのか理解しやすくないと
独りよがりその場限りで業務としての継続性が無くなるからな
79名無しさん@そうだ選挙にいこう:2009/04/09(木) 15:42:46

理解できるだけマシ
もれはサッパリわかんないんだぜw
80名無しさん@そうだ選挙にいこう:2009/04/09(木) 15:44:44
8179:2009/04/09(木) 15:48:52
>>77にレスしたんだが・・・_| ̄|○
82名無しさん@そうだ選挙にいこう:2009/04/09(木) 16:00:53
消費税の式は合計×0.05としていますが
Excel2003使用です。

合計が30円のときの消費税あわせた合計は31円・32円
どちらになるのでしょうか?

また、合計欄に2.365円の円をつけたい場合は
どうしたら良いでしょうか?

初歩質問すみません
お願いします
83名無しさん@そうだ選挙にいこう:2009/04/09(木) 16:18:02
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


5個横に並んだセルに1〜12の数字を入れていって、6個目のセルに5個のセルの合計を出しています。
その時に、「1〜12の数字で10以上になるものは切り捨てて合計」というのはできないでしょうか?
例として「5・5・1・12・11」と入ると合計は34ですが上限を10にしたいので「5・5・1・10・10」の結果にしたいです。
でもセルに入る数字は10までではなく12まで入らないといけないので困ってます。
8482:2009/04/09(木) 16:30:39
解決しました^^
ただ、SUMで合計した欄に「円」をつけるのが
わからないです・・・。
85名無しさん@そうだ選挙にいこう:2009/04/09(木) 16:37:50
>>84
消費税を四捨五入するか切捨てるかは
Excelで計算させたらこうなったとかいう問題じゃなくて
事業者の方針で決める事だけど、その辺分かってるのかな。

あと、表示上は32となってても内部的に31.5だとすると
合計したときに誤差が累積して結果が間違うから
ROUNDやROUNDDOWN関数で四捨五入や切捨ての処理を行ったほうがいいよ。
86名無しさん@そうだ選挙にいこう:2009/04/09(木) 16:51:18
表示形式をユーザー定義 #,##0"円"
87名無しさん@そうだ選挙にいこう:2009/04/09(木) 16:51:59
>>83
頭悪いならやりたいことは1つ1つクリアしていく癖を付けろ

×
「1〜12の数字で10以上になるものは切り捨てて合計」


「数字が10超なら10、それ以下なら数字をそのまま返す」
「返された値を合計する」


分けて考えれば1つ1つはなんら難しいことではない
5個並んだセルがA1:E1なら、

A2=IF(A1>10,10,A1)
をE2までフィルコピーして
F2=SUM(A2:E2)

たったこれだけ
これが出来れば、作業セル無しの式にまとめるのも簡単だ
88名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:09:12
>>87
自分の日本語がおかしくてすいませんでした。
そして回答ありがとうございます。

その数式なら自分もわかるんですが、下のA2に書くしかないですか?
下にも数字が入っていくので、出来れば下に書きたくなかったんです。
「表示しない」で消せば良いのであまり問題はないんですけど、他に方法あるのかと
思って質問しました。でもこれしかないならこれでやろうと思います。
ありがとうございました。
89名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:13:57
「これが出来れば、作業セル無しの式にまとめるのも簡単だ」

簡単ではないらしい

90名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:22:40
>>88

>>87じゃないけど、「関数のネスト」ってわかる?
SUM関数で指定するのはなにもセル番地じゃなくてもいい。
if関数そのものを指定してしまえば、作業セル無しで出来るよ。
・・・正直ブサイクな式だとは思うけど。

=SUM(IF(A1>10,10,A1),IF(B1>10,10,B1),IF(C1>10,10,C1),IF(D1>10,10,D1),IF(E1>10,10,E1))
91名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:27:58
>>90
わかります。
後出しで申し訳ないんですが、横に並ぶセルが5個の場合〜30個までの場合があって、
そのやり方だと5個の場合ならいいんですけど30個だと「SUM(IF(A1>10,10,A1)〜・・・」が
30個続いてしまうので、合計の数式でなんとかできないかと思ったんです。
92名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:30:01
>>47
ちゃんと教えてくれてありがとう御座います。
また検索して調べながらやってみます。
93名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:32:19
>>88
> 自分の日本語がおかしくてすいませんでした。
日本語がおかしいんじゃなくて、必要な情報を出してないだけだろ。
所謂「情報後出し厨氏ね」ってやつですな。

そして更に>>91で後出し。

配列数式で解決するが、度重なる後出しで式を書いてやる気は失せたので自分で調べろ。
94名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:34:12
×書いてやる気は失せた
○書けない
95名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:40:07
=SUMPRODUCT((A1:E1<10)*(A1:E1)+(A1:E1>=10)*10)
とか
96名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:41:03
残念、ハズレ

書けなかったら、配列数式で解決するか否かすら解らないぜ。
97名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:45:25
先生うぜえな
98名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:47:18

(´-`).。oO( この子、いきなんりどうしたんだろう? )
9990:2009/04/09(木) 17:48:31
>>93
まぁまぁ落ち着けw

>>91
最初に>>83で「5個横に並んだ」って言ったなら、回答する人はそれを基準に
考えると思うので、次からは気をつけたほうがいいと思います。
この程度の質問なら手間もかからないだろうけど、VBAでいちいち構文書いた
あとに後出し情報出されたら、おこる人の気持ちもわかるし。

てか、俺が>>90で書いたとおりの式で、30個であろうが出来ると思うけど。
ブサイクだけどねw
配列がわからない人にやり方教えても理解できないだろうと思ったのであの
方法書いたけど、とりあえず答えだしとくんで、あとで「配列」は勉強したほうが
いいですよ。

=SUM(IF(A1:E1>10,10,A1:E1)

この式をF1に入力したあと、「CTRL」「SHIFT」をおしたまま「ENTER」をおして確定。

すると式が
{=SUM(IF(A1:E1>10,10,A1:E1))}
となり、期待通りの答えが出ると思う。
100名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:49:57
つーか、配列数式の存在知っていて、これほど率直に書くだけで解決する
配列数式が書けないとか有り得ねーだろw
94はどういう頭してるんだ?
10190:2009/04/09(木) 17:52:46
書き忘れ。

ttp://pc.nikkeibp.co.jp/pc21/special/hr/

こことか見たら配列はわかりやすいです。
102名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:54:04
煽ってみれば書いて貰えるとでも思ったんじゃないの?
結果的には煽りのは載ってくれなかったけど、別の先生が答えてくれたから結果オーライでしょ。
103名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:56:49
馬鹿しか答えたがらないんだろ
104名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:57:00
後出し後出し言うけど
あらかじめ全ての条件を完璧に出せる程度の頭を持ってる健常者は
2chなんかで質問しないでググって5分で解決してるよ。

お前らボケてる爺さんに向かって「さっきも同じこと聞いたけど」と冷たくあしらうような事やめてやれよ。
可哀想な人には優しく接してやるのが普通の人間てもんだ。
105名無しさん@そうだ選挙にいこう:2009/04/09(木) 17:57:38
大人の対応に涙
10683:2009/04/09(木) 17:58:24
自分が最後にレスしたのは>>91だけで後は書いてないです。
ID出ないので、嘘だと思われてもしょうがいないですが…。

>>93>>99
本当にありがとうございました。
もっと勉強してみます。
107名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:01:32
>>104
ボケてる爺さん(努力ではどうしようもない)ではなく
怠惰なガキ(努力してないだけ)だから
冷たくあしらわれるんだろ
108名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:02:32
お前らひどい事平気で言ってるなw
さすが2chだぜw
109名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:03:41
クソの役にもたたない先生様は
チラシの裏に「ボクは偉いです」って好きなだけ書いてろ
110名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:06:03
>>109
とりあえず落ち着け

カッカしてるとageとsageの使い分け間違うぞ
111名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:06:11
掲示板を情報源として利用している第三者からすると
余計な啓蒙や煽りは当人の自己満足のゴミカスでしか無いんだけどな。
知ってるなら答え書けばいいし、知らないなら何もレスしなくていいよ目ざわりなだけだから。
112名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:08:52
無用な情報(雑談や罵倒など)があったり、必要な情報がまとまってなかったりするから
「情報源」であるのに無料で利用できるんだろ。
君は2chを情報源として利用するには些か早すぎるようだ。
必要な情報だけが都合良く纏まってるものが欲しいなら解説書でも買え。
113名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:09:58
無料かどうかは別に関係ないだろw
114名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:10:32
喧嘩は〜やめ〜て〜⊂(´・ω・`)⊃
115名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:13:29
>>113
無料で利用できる情報は、都合良く纏まってるとは限らないという話だよ
11684:2009/04/09(木) 18:16:13
>>86
できたっ!
ありがとうございます(´∀`*)ポッ
117名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:17:14
>>115
都合良く纏まってるとは限らないからといって
それに対して文句を言っちゃいけない事は無いだろ。
ひろゆきが「都合よく纏めるな」とでも利用規約を決めてるならそれに従うしかないが。
118名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:20:13
何言ってんだこいつ
119名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:22:43
>>117
なんか言ってる事の意味が理解できないwww

>>115は「無料だから纏まってなくても仕方ない」といってるだけで、
別に「纏まってない事に文句言うな」なんていってないと思うがw
で、文句を言う事でさらに纏まらなくなっていくというwww
120名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:25:26
2chはこういうもんだから気に入らなければ来なけりゃいい
は正論だけどつまんないよな。
121名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:28:58
>>117
誰も文句を言うこと自体をどうこうは言ってないじゃん。

それにまとまってないことに対して文句を言う自由が有るなら
まとまってないことに文句言ってる奴に文句言う自由もあるわけだな。
そして更にそれに対して・・・と永久ループ。

ぶっちゃけ>>117自身もが、まとまりの無さに一役買ってるわけだ。
122名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:34:29
Excelに関する情報が含まれてればどんな雑多な内容でもまとまってなくても構わないが
「知ってるけど書かない」みたいな女の腐ったようなExcelオタクの下らない自己漫レスはイラネ
という事です。
123名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:37:55
>>122のような書き込みこそイラネ
124名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:42:20
>>122
ただまあ、気持ちはわからないことはないよ、俺は。
「自分が時間と金と労力をかけて身に付けた知識を、
ただ数行の書込だけで手に入れようとするのか」って
思いがあるんじゃね?

俺の場合は「自分が解答する事で、自分の勉強にもなるし、
逆に自分が中途半端な知識しかない事も思い知らされる」
ことが多いから、自分自身のために解答するようにしてるけど。

ま、質問がなければ解答者も必要ないんだから、五分五分なはずだけどなw
125名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:43:05
>>122
> 知ってるけど書かない
それだけなら確かに要らないが、>>93みたいに
「この機能で解決するが、具体的な使い方は自分で調べろ」的なのはちゃんと情報になってるよ

得にくだ質とかじゃなければ、質問者にもある程度考えさせるのは重要なことだから
後出しが無かったとしても、配列数式で解決することと配列数式の解説サイト紹介くらいが丁度良い
126名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:46:31
それにしても「配列数式で出来るから自分で調べろ」ぐらいにしとけば
こんなに荒れなかっただろうになあ・・・
127名無しさん@そうだ選挙にいこう:2009/04/09(木) 18:55:20
そうでもないか
128名無しさん@そうだ選挙にいこう:2009/04/09(木) 23:10:10
2007でキーボードのみの操作で改ページプレビューを出すにはどうしたらいいでしょうか…。
改ページプレビューすらまだ居場所が分かっていませんが
(-_-;)。
129名無しさん@そうだ選挙にいこう:2009/04/09(木) 23:15:59
>>128
Alt W I
130名無しさん@そうだ選挙にいこう:2009/04/10(金) 09:16:43
スレ違いになるかもしれん
会社でoffice2000使っていて、俺はoffice2003を使っていたが
このたび エクセル6万行以上使えるって事でoffice2007購入してしまった

エクセル2003とエクセル2007の併用ってできますか?
131名無しさん@そうだ選挙にいこう:2009/04/10(金) 09:22:11
>>130
できるよ。2003→2007の順でインストールすればおk
13277:2009/04/10(金) 09:45:38
まただ
回答を見てから質問の意味に気づく
同じパソコンでの併用ってことだったのね
こんな自分が悲しい
133名無しさん@そうだ選挙にいこう:2009/04/10(金) 11:14:40
ここはお前の日記帳じゃない
134ゆゆゆゆ:2009/04/10(金) 11:34:46
Wordのコメントが削除できない

(Word バージョン2000)
他の人(バージョンは2000でないかもしれません)が入力したコメントを削除したいのですが、
右クリックの「コメントを削除」をクリックしても削除することができません。黄色くハイライトされたままになってしまいます。
また、できれば一つの文書でたくさんのコメントを一度に削除したいのですが。
バージョンが低いためにできないのでしょうか?
ご存知の方、教えていただきますようお願いします。

135名無しさん@そうだ選挙にいこう:2009/04/10(金) 11:36:51
ここExcelですお(;゚д゚)ァ
136名無しさん@そうだ選挙にいこう:2009/04/10(金) 13:04:45
Excel2007なんだけど
バルーンヘルプが表示されない
表示させるようにするにはどうすれば?
137名無しさん@そうだ選挙にいこう:2009/04/10(金) 13:32:40
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 変換 EXCE 単位

5万円という値を万円を数値にできますか?
つまり5万円→50000

元データをWEBクエリで取り込んでいるので、入力してあるセルの書式を変更してもなかなかうまくいきません。。。
宜しくお願いします。
138名無しさん@そうだ選挙にいこう:2009/04/10(金) 13:42:04
>>136
オプションの基本設定でポップヒントのスタイル変更できるからそれ変えればいいんじゃね?
139137:2009/04/10(金) 13:49:32
=VALUE(SUBSTITUTE(SUBSTITUTE(A1,"万",""),"円",""))

でできました。お騒がせしました。
140名無しさん@そうだ選挙にいこう:2009/04/10(金) 15:38:54
>>131
ありがとう
早速インストールします

>>132
5W1Hが欠けていた私の質問の仕方が悪かった思います。
141名無しさん@そうだ選挙にいこう:2009/04/10(金) 17:09:35
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 一塊,段落,区切り,並び替え

並び替えの機能を活用したいのですが,上手く行かないのでアドバイスをください。
例えば,A1に「名前」・B1に「番号」と入力して,そのすぐ下のA2/B2からA5/B5まで名前や数値を入力していきます。
その後,A1やB1をクリックして並び替えをすると,入力した名前や数値はソートされます。
ところが,さらにその下(A6/B6)にも「名前」や「番号」と入力し,
A7/B7以降に名前や数値を入れても,A1をソートするとグシャグシャなってしまいます。
私は,A1をソートするとA2〜A5が,A6を押すとA7〜A12と,それぞれ別にソートしたいのです。
A1:A6とA7:A12を独立させればいいのでしょうが,どうすればできるのかわかりません。
ご教示お願いします。
142141:2009/04/10(金) 17:14:04
すいません,一行開けたら別々にソートできましました
勝手に脳みそが熱暴走してたみたい。
書き込んで,冷静になったら気づきました。
すんませんでした
143名無しさん@そうだ選挙にいこう:2009/04/10(金) 17:51:05
>>142
俺は超初心者でやってることがよく分からなかった
どんなことが出来るようになったかUPしてくれたら嬉しい

http://www.axfc.net/uploader/ UPローダ 頼みます
144名無しさん@そうだ選挙にいこう:2009/04/10(金) 18:20:21
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 数式 EXCE 消えた VLOOKUP

保存しておいたはずの数式が消えてなくなり値だけが残ります。
以下が
設定した数式です。

セルA1=IF(TOP!$C$11="","",VLOOKUP(TOP!$C$11,別シート!$A$4:別シート!$BL$200,3,0))
セルA2=IF(TOP!$C$11="","",VLOOKUP(TOP!$C$11,別シート!$A$4:別シート!$BL$200,4,0))
セルA3=IF(TOP!$C$11="","",VLOOKUP(TOP!$C$11,別シート!$A$4:別シート!$BL$200,5,0))
セルA4=IF(TOP!$C$11="","",VLOOKUP(TOP!$C$11,別シート!$A$4:別シート!$BL$200,6,0))
セルA5=IF(TOP!$C$11="","",VLOOKUP(TOP!$C$11,別シート!$A$4:別シート!$BL$200,7,0))
セルA6=IF(TOP!$C$11="","",VLOOKUP(TOP!$C$11,別シート!$A$4:別シート!$BL$200,8,0))
セルA7=IF(TOP!$C$11="","",VLOOKUP(TOP!$C$11,別シート!$A$4:別シート!$BL$200,9,0))
セルA8=IF(TOP!$C$11="","",VLOOKUP(TOP!$C$11,別シート!$A$4:別シート!$BL$200,10,0))

例えばセルC11が""になったときにA1は数式でなく0(非表示)になってしまうんです。
ただ、A1からA8までのすべてのセルではなく特定のセルだけは数式が残ったままです。
考えられる原因はありますでしょうか?

145名無しさん@そうだ選挙にいこう:2009/04/10(金) 18:24:44
つ 変なマクロが動いてる
146名無しさん@そうだ選挙にいこう:2009/04/10(金) 18:30:20
>>145
やってみましたが、マクロを無効にしてセルC11を""にしても結果は同じです。
147144:2009/04/10(金) 18:31:07
146=144です。すいません。
148名無しさん@そうだ選挙にいこう:2009/04/10(金) 18:37:45
ブックうp
149141:2009/04/10(金) 18:52:21
>>143
http://www1.axfc.net/uploader/File/so/21133.zip
前半と後半にある単位数や科目群を並べ替えたかった
でも最初は隙間を空けず羅列していたから上手く行かず
C列の単位数を押すと前半後半関係なくソートされていた
そこで小計と共に空白の行を挟んだら,空白以上以下を区別してソートしてくれるようになった。
なんか凄く単純なことでした。スレ汚しすいませんでした。
150名無しさん@そうだ選挙にいこう:2009/04/10(金) 18:53:10
>>144
そのブックに特有の現象?
それとも新規にブック作成して同様の式を入れて同じ現象が起こる?
151144:2009/04/10(金) 19:25:15

>>148>>150
ありがとうございます。

やってみたらこのブック特有の現象みたいでした。
他のブックにコピーしたらなんともありません。
まあコピーすればよいので、おかげさまで解決はするっぽいですが原因はいったい何なんでしょうか・・・
他のブックにコピーして少し様子を見てみます。
152名無しさん@そうだ選挙にいこう:2009/04/10(金) 19:54:47
>>149
いい物見た。すごい
153名無しさん@そうだ選挙にいこう:2009/04/10(金) 22:08:13
【1 OSの種類       】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか  】 いいえ
【4 VBAでの回答の可否】 否

   A列  B列  C列
   条件1 条件2 数値
行1  1   4   100
行2 空白   6   200
行3  3   6   300
行4 空白   2   400
行5  8   6   500

以上のような表の状態で、

1.条件1に1以上の数値が入力されている(空白は空白セルです)
2.条件2に6の数字が入力されている
3.2つの条件が一致したC列の数値の合計を求める

この場合の該当するセルは
1.A1 A3 A5
2.B2 B3 B5
3.C3 C5

求める合計としてはC3+C5で800です

以上の2つの条件に一致した数値の合計を求めたいのですが、
どのような関数を使用したらよろしいでしょうか?

条件1や2だけでしたらSUMIF関数で問題ないのですが、2つの条件が
重なった場合の関数の組み合わせがわからなかったので、どうか
皆さんの知恵を貸していただきたいのですが、よろしくお願いいたします。
154名無しさん@そうだ選挙にいこう:2009/04/10(金) 22:15:35
作業列ってしってる?
155名無しさん@そうだ選挙にいこう:2009/04/10(金) 22:15:53
>>153
2003じゃ配列数式かなあ
=SUM((A1:A5>0)*(B1:B5=6)*(C1:C5))で[ctrl]+[shift]+[enter]
156名無しさん@そうだ選挙にいこう:2009/04/10(金) 22:18:29
お、かぶったか
そだね。作業列使った方がわかりやすいかな
157名無しさん@そうだ選挙にいこう:2009/04/10(金) 22:23:10
そんじゃ作業列使って、1つずつ条件をクリアしていく方法

・1.
D1==ISNUMBER(A1)

・2.
E1=B1=6

・3.
F1=AND(D1,E1)

・合計
=SUMIF(F1:F5,TRUE,C1:C5)
158名無しさん@そうだ選挙にいこう:2009/04/10(金) 22:30:03
横から作業列ってどうやって作るの?
159名無しさん@そうだ選挙にいこう:2009/04/10(金) 23:21:04
縦からなら作れるの?
160名無しさん@そうだ選挙にいこう:2009/04/10(金) 23:33:18
>>157
d列が0や-1じゃダメだろ
161名無しさん@そうだ選挙にいこう:2009/04/11(土) 00:58:21
作業列って言ったら普通D列使うんじゃないの?
D1 =if(and(A1>=1,B1=6),C1,"")
程度の。で、D列合計。
162名無しさん@そうだ選挙にいこう:2009/04/11(土) 01:17:58
解ってる奴(ここに質問に来ない奴)ならそれで良い
解ってない奴には、ネストせず1つ1つの処理が返した値を確認させた方が良い
163名無しさん@そうだ選挙にいこう:2009/04/11(土) 02:29:41
>>162
('A`)y-マンドクセー
164名無しさん@そうだ選挙にいこう:2009/04/11(土) 03:09:01
そりゃー解ってる奴から見れば面倒なのは当然だな
165名無しさん@そうだ選挙にいこう:2009/04/11(土) 06:27:10
="あ">1
なぜこれがTRUEになるのでしょうか?
166名無しさん@そうだ選挙にいこう:2009/04/11(土) 07:17:31
比較演算では両辺共に数値として解釈できない場合は文字コードで比較する
そして「あ」の文字コードの方が「1」の文字コードより大きいから
167名無しさん@そうだ選挙にいこう:2009/04/11(土) 08:37:46
ありがとうございました
168名無しさん@そうだ選挙にいこう:2009/04/11(土) 11:18:51

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 相関、回帰直線、傾き、slope、切片0

2種の値の相関を取るとき、散布図のグラフを作成して、回帰直線を表示し、
式を表示して、切片を0とすると、y=mxという式が表示されますが、
このときのmの値を関数で得ることはできますか?

切片を指定しない場合は、slope関数によってmの値を得られますが、
指定する場合はどうすればいいのかわかりません。
xとyの値の配列に、それぞれ0を付け加えてみましたがやはりダメでした。

今は、グラフを作成して回帰直線と式を表示して、そこに表示される値をコピペして使ってます。
他に方法がないなら、次はこの値を自動でコピペする方法とか(VBA?)を考えますが
まずは関数で解決できるならそうしたいです。
よろしくお願いします。
169名無しさん@そうだ選挙にいこう:2009/04/11(土) 11:41:26
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

オートシェイプの基本図形(b)の大かっこのコレクション名を教えてください。

現在マクロでLINEで描かれたシェイプはActiveSheet.Lines.Deleteで削除しています。
シートには他に作ったボタンやシェイプで描いた四角などがあり、大かっこのみを
削除するためです。
170名無しさん@そうだ選挙にいこう:2009/04/11(土) 11:49:30
あげてみる
171169:2009/04/11(土) 11:54:31
ごめんなさい

大かっこのコレクション名 →オブジェクト名

でした。よろしくお願いします。
172名無しさん@そうだ選挙にいこう:2009/04/11(土) 12:01:51
Excel2000ですが、シートを挿入すると、
シート3の手前にシート4が入ってしまいます。
これを数字通り並べ替えるのはどうするのでしょうか?
173名無しさん@そうだ選挙にいこう:2009/04/11(土) 12:10:49
>>172
シートの見出しのところをクリックしてドラッグして右側に持ってくる
174名無しさん@そうだ選挙にいこう:2009/04/11(土) 12:19:35
>>169
ActiveSheet.Shapes.AddShape(msoShapeDoubleBracket, 114#, 159.75, 118.5, _
76.5).Select
マクロの記録しなよ
175名無しさん@そうだ選挙にいこう:2009/04/11(土) 12:28:23
>>173
ありがとうございました。
一度それ試したけどできなかったので諦めちゃったんだけど、
今やったらできました。面倒ですね・・・orz
176名無しさん@そうだ選挙にいこう:2009/04/11(土) 13:02:16
サーバーの共有フォルダ内にExcelの顧客管理台帳を置いています。
その中で郵便番号による住所入力支援を使用していますが、
市町村合併による住所の名称変更を常に最新の状態で反映させるには、手動でデータをダウンロードしなければならないでしょうか。
また、このダウンロードはサーバーのみに行えばよいのでしょうか?
よろしくお願いします。
177名無しさん@そうだ選挙にいこう:2009/04/11(土) 14:03:36
    A       B       C       D       E
1   節     チーム     得点     失点     対戦相手
2    1      鹿島       2       0       浦和
3    1      大宮       0       0       清水
4    1      F東京      1       4       新潟
5    1      名古屋     3       2       大分
6    2      浦和       3       1       F東京
7    2      清水       0       1       名古屋
8    2      新潟       2       1       鹿島
9    2      大分       1       0       大宮
10  . 3      鹿島       1       0       大宮
11  . 3      F東京      0       2       清水
12  . 3      新潟       1       1       大分
13  . 3      名古屋     3       1       浦和

上の表で、B列の特定チーム(たとえば鹿島)の「得点」の合計を欲しいのですが、
どうすればいいのでしょうか?
178名無しさん@そうだ選挙にいこう:2009/04/11(土) 14:08:11
SUMIF
179名無しさん@そうだ選挙にいこう:2009/04/11(土) 14:55:56
>>177
=SUMIF($B$1:$B$13,"鹿島",$C$1:$C$13)
180名無しさん@そうだ選挙にいこう:2009/04/11(土) 15:05:04
>>178
どもです。
=SUMIF(B1:B100,"鹿島",C1:C100)
としたらできました。
181名無しさん@そうだ選挙にいこう:2009/04/11(土) 15:08:20
>>179
ありがとうございます。絶対指定のほうがいいですかね?

この形の表をベースにして、
最新節時点での各チーム勝敗数とか総得点総失点とか色々派生させたいのですが
EXCELは難しいですね。\(^o^)/アキラメマス
182名無しさん@そうだ選挙にいこう:2009/04/11(土) 15:40:52
>>181
どっちでもいいけど、下や横にフィルハンドルでコピペすると範囲がずれるからさ。
1個しか入れないなら>>180のでいいよ。

>>181に書いてるのも多分そんな難しいことしなくてできるような事だと思うけど、
いかんせん、サッカーの知識に乏しいので何がしたいのか具体的によく分からないw
諦めることはないと思うよ。やりたい事があるほうが上達も早いよ。
183名無しさん@そうだ選挙にいこう:2009/04/11(土) 15:55:45
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル オブジェ

エクセルのシートの中にオブジェが大量にちりばめられている状態で
これを全て削除するにはどうしたらよいのですか?
400くらいのオブジェがあって一個一個デリートすると結構な時間がかかってしまいます。
184名無しさん@そうだ選挙にいこう:2009/04/11(土) 16:21:34
>>183
編集→ジャンプ→セルの選択→オブジェクトにチェック→OK→デリート
185名無しさん@そうだ選挙にいこう:2009/04/11(土) 16:24:20
仕事に役立つソフトがいろいろあります
http://www.hhyyhh22.co.nr
186名無しさん@そうだ選挙にいこう:2009/04/11(土) 16:32:35
【1 OSの種類         .】 WindowsXP Pro
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル グラフをまとめる

複数の表を一つのグラフで表現するには
どのようにすればよいでしょうか?

例)
N社製品
・条件A : CPU 消費 aaa - 性能 ooo
・条件B : CPU 消費 bbb - 性能 ppp

F社製品
・条件A : CPU 消費 ccc - 性能 qqq
・条件B : CPU 消費 ddd - 性能 rrr

「製品」毎の結果を二軸グラフにして、
それを一つのグラフの中に並べたい、
という意図になります。
187名無しさん@そうだ選挙にいこう:2009/04/11(土) 18:29:09
>>185
ゴミばっかだな
188名無しさん@そうだ選挙にいこう:2009/04/11(土) 18:45:53
>>186
複数の表を選択した状態でグラフ
189名無しさん@そうだ選挙にいこう:2009/04/11(土) 20:19:54
>>181
得失点で勝ち負け引き分けを出した作業列とピボットテーブル。
もしかしたら作業列なしでも出来るかも知らんが俺は知らない。
190名無しさん@そうだ選挙にいこう:2009/04/11(土) 21:01:44
>181
オートフィルタかけてSUBTOTAL使えばいいんじゃない
191名無しさん@そうだ選挙にいこう:2009/04/11(土) 21:52:29
>>168
俺が得意な数学キター
とりあえずbookをUPして
192153:2009/04/11(土) 23:38:08
レスしてくれた方々、ありがとうございました。
大変参考になりました。
他にもSUMPRODUCT関数を使う方法もあるらしいので
いろいろ試してみます。
193名無しさん@そうだ選挙にいこう:2009/04/11(土) 23:55:20
>>168
LINEST 関数
194名無しさん@そうだ選挙にいこう:2009/04/12(日) 00:04:27
>>193
切片0なら一発
切片がたとえば2固定なら、与える(x,y)の数字からyの部分を
すべて2引いた組み合わせ使えばオケ
195168:2009/04/12(日) 00:10:45
>>191
うpしてみました(データは適当なのであまり例として良くないですが)
http://www1.axfc.net/uploader/File/so/21211.xls

>>193
Linest関数は、調べると色々出てくるのですが、いまひとつ使い方がわかりません。
今回の場合どうすればよいか、具体的に教えていただけると助かります。

>>194
切片0なら一発、とはどういうことでしょうか?
切片が2なら2を引くということは、切片0なら0を引く…ということになりますが意味が無いですよね?
理解力に乏しくて申し訳ありません…
196168:2009/04/12(日) 00:12:13
>>194
ああ、すみません、アンカーを見間違えてました。
>>193の説明が>>194ということですよね?
ちょっと試しにやってみますが、理解できなくてまた質問するかもしれません。
197168:2009/04/12(日) 00:40:16
>>193-194
ありがとうございます!
=LINEST(yの範囲,xの範囲,0,0) でできました。

しかし、この関数のヘルプを見ると、配列で入力するようにとあり、戻り値も配列となっていますが、
この式の入ったセルには、傾きmしか表示されていませんが、
もう一つの戻り値も表示するにはどうすればよいのでしょうか?

また、この式を別の式にネストしたい場合、例えばA1に別のxの値が入っていてそのxからyの値を求めたい場合、
=A1*LINEST(〜) というような式を作ってよいのでしょうか?
この場合は切片が0ですからいいですが、切片が0でないときはどうなるんでしょうか?

質問に質問を重ねてしまい申し訳ありませんが、よろしければご教授ください。
198名無しさん@そうだ選挙にいこう:2009/04/12(日) 00:41:10
先日エクセル2003が入っているPCに2007もインストールしました。
>>195でファイルをDLしたけど、
エクセル2007で見るとグラフとか形が崩れるね。

しかもエクセル2007が標準で起動するようになってる。
緩やかに移行しようと思ったのに、

質問です
【1 OSの種類         .】 vista
【2 Excelのバージョン   】 Excel2003、2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】


現在 ファイルをダブルクリックすると2007がデフォルトで起動します。
2003をデフォルトにする方法を教えてください
199名無しさん@そうだ選挙にいこう:2009/04/12(日) 00:48:20
>>198
それはエクセルじゃなくてWindowsの問題なんでは…
拡張子の関連付けを2007から2003に変更すればいいだけでしょ。
200名無しさん@そうだ選挙にいこう:2009/04/12(日) 01:07:12
>>198
xlsファイルを右クリック→プログラムから開く→プログラムの選択→Excel2003を選ぶ→
いつもこのプログラムを使う、にチェックしてOK
201名無しさん@そうだ選挙にいこう:2009/04/12(日) 01:39:10
>>188
ありがとうです。さっそく試したのですが、
意図するものができませんでした…。

意図を正しく伝えられている自信がないのですが、
片方のグラフに対してもう一方を系列として追加するというより、
同じx/y軸&複数の共通の系列を持ついくつかのグラフを
一つのグラフの中で横に並んでいるように見せたい
(y軸は共通、x軸の要素は元のグラフの数だけ繰り返し)、
複数のグラフを絵的に一つのグラフの中に嵌め込みたい、
ということを実現したいです。
202名無しさん@そうだ選挙にいこう:2009/04/12(日) 01:57:07
>>201
それなら、複数のグラフを作って、横に並べて、
二つ目以降はy軸の数値を非表示にすればいいだけのことでは?
203名無しさん@そうだ選挙にいこう:2009/04/12(日) 02:27:00
204名無しさん@そうだ選挙にいこう:2009/04/12(日) 09:13:59
>>201
ありがとうございます。
205名無しさん@そうだ選挙にいこう:2009/04/12(日) 12:25:03
>>202
背景を透明にすれば割と違和感なく実現できました。
グラフ間の調整で少し手間取りそうですが、
手段としてぜひストックさせていただきます。┏○ペコリ

>>203
まさにそれがしたいです。
確認のためにうpまでありがとうです。
206名無しさん@そうだ選挙にいこう:2009/04/12(日) 15:22:16
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excel で以下の表示をしたいのですが、やり方がわかりませんでした。
ご教授願えないでしょうか?

整数部には桁区切り"," を入れる。
少数は少数点以下も表示し最後のゼロは表示しない。

例)
1,234
1,234.56
0.12345
1,234,567.89

標準にすれば桁区切り"," が入りませんし、数値として
桁区切りと小数点の桁数を指定すると、少数点で指定した桁
まで0が追加されます。

よろしくお願いします。
207名無しさん@そうだ選挙にいこう:2009/04/12(日) 15:42:32
>>206
ユーザー定義で
#,###.###############################################################
だと惜しいところまで行くんだがなぁ
TEXTとアンパサンドで無理やり作ってみるか

マイナスのときはどうすればいい?
208名無しさん@そうだ選挙にいこう:2009/04/12(日) 15:51:14
>207
ありがとうございます。
マイナスのケースはないので考えていませんでした。

#,###.###############################################################

に近いことことはやっていたのですが、整数なのに "." がついたり、0未満の
数の最初のゼロがなかったりでうまくいかずに頓挫していました。

1,234.
.12345
209名無しさん@そうだ選挙にいこう:2009/04/12(日) 16:07:19
#,##0.###############

なら最初のゼロはつく。でも整数でも小数点がつく。
210名無しさん@そうだ選挙にいこう:2009/04/12(日) 16:13:38
>>208
=1*
IF(A1=0,0,
IF((INT(A1)=A1),TEXT(A1,"#,###"),
IF((1>A1),TEXT(A1,"0.####################"),
TEXT(INT(A1),"#,###")&"."&RIGHT(A1,LEN(A1)-FIND(".",A1)))))

作業列でこれを入力。ユーザー定義じゃ無理かな
2007ならできるかもしれないけどよく知らないや
211名無しさん@そうだ選挙にいこう:2009/04/12(日) 16:15:48
>209

それは試していませんでした。
大分近づいて来ました。
212名無しさん@そうだ選挙にいこう:2009/04/12(日) 16:16:19
関数ならこんな感じかな。
=TEXT(A1,IF(MOD(A1,1)=0,"#,##0 ","#,##0.###############"))
213名無しさん@そうだ選挙にいこう:2009/04/12(日) 16:23:14
>212
ありがとうございます。
希望どおりの結果になりました。
214名無しさん@そうだ選挙にいこう:2009/04/12(日) 16:48:02
2007が一番簡単だね。
表示形式を#.##0###############としておいて、条件付き書式で「新しいルール」から
「数式を使用して、書式設定するセルを決定」で「次の数式を満たす場合に書式設定」で=A1=INT(A1)とし
書式で表示形式を#,##0とするだけだ。
215名無しさん@そうだ選挙にいこう:2009/04/12(日) 17:27:54
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ユーザーフォーム シート書き込み シート記入

ユーザーフォームでテキストボックス2ことコンボボックス2こ設置してこの値をシート1のA1からD1に書き込みたいのですが、書き込むごとに上書きしていくようにするにはどのように記述したらよいでしょうか?
初心者です。スイマセン。
216名無しさん@そうだ選挙にいこう:2009/04/12(日) 20:42:53
>>215
こういうこと?
Private Sub TextBox1_Change()
Range("A1").Value = TextBox1.Value
End Sub
Private Sub TextBox2_Change()
Range("B1").Value = TextBox2.Value
End Sub
Private Sub ComboBox1_Change()
Range("C1").Value = ComboBox1.Value
End Sub
Private Sub ComboBox2_Change()
Range("D1").Value = ComboBox2.Value
End Sub
217215:2009/04/12(日) 21:04:48
>>216
ありがとうございます!
おかげさまでうまくいきました。
218名無しさん@そうだ選挙にいこう:2009/04/12(日) 21:37:29
WindowsXP sp2  Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
シート1で入力、シート2以降は各店の情報にしたい思います。
シート1に
A   B      C     D     E
1 4/15   青山店  あいう  かきく  
シート2(青山店)に
   A     B C
1 4/11 たちつ  なにぬ  はひふ  
3 4/12  
4 4/13 まみむ やゆよ  らりる  
5 4/14  
6 4/15
7 4/16
シート1に上記のように入力して、シート2以降(この場合は青山店)に反映させるにはどうすればいいですか?
(シート2以降のA列には日付が入っている状態)
流れ的には、
シート1のA1に日付・B1に店舗・C1以降にその日のデータを入力,シート1のB1に該当するシートを選ぶ(この場合はシート2の青山店)
シート1のA1に該当する行を選ぶ(この場合は5),シート2の該当する行に、シート1のC1以降のデータを反映させる
(この場合は、シート1のC1・D1・E1をシート2のB5・C5・D5に)
上記を実際に入力し、それがシート2以降に反映された場合
シート2(青山店)
   A B C D  
1 4/11 たちつ  なにぬ  はひふ  
3 4/12  
4 4/13  まみむ  やゆよ   らりる  
5 4/14  
6 4/15  あいう   かきく  さしす
7 4/16
よろしくお願いします。
219名無しさん@そうだ選挙にいこう:2009/04/12(日) 21:48:10
よくわからんがVLookupでいいんじゃない?
220名無しさん@そうだ選挙にいこう:2009/04/12(日) 21:57:04
勘違いした。VBAじゃなきゃだめかも。
221218:2009/04/12(日) 22:01:11
>>220
VBAでも良いので是非お願いします。
222名無しさん@そうだ選挙にいこう:2009/04/12(日) 22:29:33
ファイルを1回保存する必要あるけどこれでいけないか?

=IF(RIGHT(CELL("filename",$A$1),LEN(CELL("filename",$A$1))-FIND("]",CELL("filename",$A$1)))=VLOOKUP($A1,シート1!$A:$B,2,0),VLOOKUP($A1,シート1!$A:$E,COLUMN()+1,0),"")

エラー回避は書式設定かISERROR関数をかませる。
223名無しさん@そうだ選挙にいこう:2009/04/12(日) 22:38:15
ISERROR使うならこうかな。
=IF(ISERROR(VLOOKUP($A1,シート1!$A:$B,2,0)),"",IF(RIGHT(CELL("filename",$A$1),LEN(CELL("filename",$A$1))-FIND("]",CELL("filename",$A$1)))=VLOOKUP($A1,シート1!$A:$B,2,0),VLOOKUP($A1,シート1!$A:$E,COLUMN()+1,0),""))
224名無しさん@そうだ選挙にいこう:2009/04/12(日) 23:05:37
あの、質問なんですがよろしくお願いします。
今散布図のグラフを作成しているんですが
そのグラフを斜め30度くらいに傾けたいんですが
そんな事できるんでしょうか?
出来るならどうしたらいいですか?
225名無しさん@そうだ選挙にいこう:2009/04/12(日) 23:09:22
興味ある
226名無しさん@そうだ選挙にいこう:2009/04/12(日) 23:36:10
>>197
まずは切片が0の場合を完成させろ。
できたら切片が3の時どうするか考える。
グラフを下に3平行移動すれば切片が0の時と同じだ。
作業列作ってデータのyの値を3引いたものを表示。
それを使えば切片が0の時の式で傾きが求められる。
ある値xに対するyの推定値は、
y = [傾き] × [xの値] + 3
で求められる。
227名無しさん@そうだ選挙にいこう:2009/04/12(日) 23:40:32
>>226
がいってる数学は高校の数学Tレベルのだよね。
数学が出来ない人は分からないだろうね。
228名無しさん@そうだ選挙にいこう:2009/04/12(日) 23:44:14
>>224
傾けるってグラフのx軸y軸も傾けるのか?
それとも軸は傾けずデータだけ傾けるのか?
前者ならグラフを画像にして画像を回転。
後者なら三角関数使ってデータを変換(回転)してからその値をグラフにする。
229名無しさん@そうだ選挙にいこう:2009/04/12(日) 23:46:12
>>227
中学レベルで分かるだろ
230名無しさん@そうだ選挙にいこう:2009/04/12(日) 23:50:01
>>229
中学でも分かるけど、中学でやるか(2次関数までやるしね)
231名無しさん@そうだ選挙にいこう:2009/04/12(日) 23:54:36
ちゃんとLINESTのヘルプを読んだら良いのにね
232197:2009/04/13(月) 00:25:44
>>226
ありがとうございました。わかりました。

>>227
大丈夫です。>>226さんの言いたいことは理解できてます。(これでも一応は大学の理学部卒です…)

>>231
すみません。LINESTのヘルプは読んだのですが、
戻り値が配列になっている関数の場合、どうすればよいのか分かりませんでした。
自分で調べて、必要ならINDEXで指定すればよいとわかりました。お騒がせしました。
233名無しさん@そうだ選挙にいこう:2009/04/13(月) 00:27:27
セル内の文字の並べ替え(ex.べらえかな→ならべかえ)ってどうやるのでしょうか?
234名無しさん@そうだ選挙にいこう:2009/04/13(月) 00:45:13
>>233
VBAでしこしこやるしかなんじゃない?
235名無しさん@そうだ選挙にいこう:2009/04/13(月) 00:56:43
>>233
全くの逆順なら

strReverse("ならびかえ")

でいけるんだけどどういう規則で並び替えるの?ランダム?
236名無しさん@そうだ選挙にいこう:2009/04/13(月) 01:01:39
>>235
ランダムです。
237名無しさん@そうだ選挙にいこう:2009/04/13(月) 01:04:53
>>236
文字数は何文字か決まってる?
238名無しさん@そうだ選挙にいこう:2009/04/13(月) 01:06:11
>>237
3文字〜9文字です。
239名無しさん@そうだ選挙にいこう:2009/04/13(月) 01:08:09
なんにしてもスレ違いじゃね?
表計算と何の関係があるの?
240215:2009/04/13(月) 01:13:53
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ユーザーフォーム 閉じる 連続処理

たびたびスイマセン。ユーザーフォームをつくっていてシートに書き込むまではできたんですが、書き込んだ後に続けてフォームを閉じたいんですが、どうしてもできません。

Private Sub Command1_Click()
Range("A1").Value = TextBox1.Value
Range("B1").Value = TextBox2.Value
Range("C1").Value = ComboBox1.Value
Range("D1").Value = ComboBox2.Value
Unload Userform1
End Sub

としてみたんですが。。。
すいませんご教授願えませんでしょうか?
241名無しさん@そうだ選挙にいこう:2009/04/13(月) 01:20:51
>>238
たぶんVBAが必要
242名無しさん@そうだ選挙にいこう:2009/04/13(月) 01:22:12
>>240
Private Sub CommandButton1_Click()
なんじゃないか?
243名無しさん@そうだ選挙にいこう:2009/04/13(月) 01:24:40
>>238
一発でやるのは無理だな。作業列が文字数+1列必要。
244215:2009/04/13(月) 01:25:52
>>242
ありがとうございます!!
そのとおりでした。泣
感謝です。
245名無しさん@そうだ選挙にいこう:2009/04/13(月) 01:52:08
かなり不恰好だけど
A2から最終データ行まで文字列を入力
B1に =RANK(B2,$B$2:$J$2) を入力してJ1までオートフィル
B2からJ列の最終データ行まで =RAND() をコピペ
K2に =MID(A2,$B$1,1)&MID(A2,$C$1,1)&MID(A2,$D$1,1)&MID(A2,$E$1,1)&MID(A2,$F$1,1)&MID(A2,$G$1,1)&MID(A2,$H$1,1)&MID(A2,$I$1,1)&MID(A2,$J$1,1)
を入力して最終データ行までオートフィル
246名無しさん@そうだ選挙にいこう:2009/04/13(月) 03:52:40
>>238
VBAで関数を作ってみた

Function StringRand(s As String) As String
  Worksheets.Add
  L = Len(s)
  Range("A1:A" & L) = "=RAND()"
  For i = 1 To L
    t = t + Mid(s, Application.WorksheetFunction.Rank(Cells(i, 1), Range("A1:A" & L)), 1)
  Next
  StringRand = t
  Application.DisplayAlerts = False
  ActiveSheet.Delete
End Function
247名無しさん@そうだ選挙にいこう:2009/04/13(月) 04:11:19
ワークシート関数として使えなかったのでやり直し

Function StringRand(s As String) As String
  L = Len(s)
  Dim c()
  ReDim c(L)
  For i = 1 To L
    c(i - 1) = Mid(s, i, 1)
  Next
  For i = 1 To L
    a = Int(Rnd() * L)
    b = Int(Rnd() * (L - 1))
    If b >= a Then b = b + 1
    x = c(a): c(a) = c(b): c(b) = x
  Next
  For i = 0 To L - 1
    t = t + c(i)
  Next
  StringRand = t
End Function
248名無しさん@そうだ選挙にいこう:2009/04/13(月) 10:38:47
みんなこねくりまわしすぎだよ。
ユーザー定義関数なら普通に下のフィッシャー&イェーツ法で充分じゃね?

Function StringRand(s As String) As String
  Dim temp As String
  Dim i As Long
  Dim r As Long
  Application.Volatile
  For i = Len(s) To 2 Step -1
    r = Int((i * Rnd) + 1)
    temp = Mid(s, i, 1)
    Mid(s, i, 1) = Mid(s, r, 1)
    Mid(s, r, 1) = temp
  Next
  StringRand = s
End Function
変数もう一つ使ったりByte配列を使ったりすればもう少しパフォーマンスはよくなると思うけどな。
249248:2009/04/13(月) 10:49:58
(i * Rnd)の括弧は要らなかったな。
250名無しさん@そうだ選挙にいこう:2009/04/13(月) 11:14:12
文法規則上は要らないかも知れないが
コード的には要らないとも言い切れない
括弧が有った方が、明示性、読解性が上がるからね

今回みたいに算術演算のみならまだいいが
算術演算、比較演算、論理演算と織り交ぜて使う場合などは
文法規則上は不要であっても括弧付けした方が直感的に分かりやすいことが多い

それとパフォーマンス気にするなら、Midは関数もステートメントも$付けた方がいいよ
251名無しさん@そうだ選挙にいこう:2009/04/13(月) 11:38:10
質問です。

エクセルのセルに文字を入力した時、自動で文字の大きさ変わったり、
セルの幅を変えても文字の大きさが自動で変わる設定方法を教えてください。

現在は、文字数が多いと#####になってしまいます。
252名無しさん@そうだ選挙にいこう:2009/04/13(月) 11:49:33
>>250
ステートメントは$は要らないんじゃね?
VB6のスレだったか忘れたが、逆コンパイルだかなんだかしてみたらString型の変数を直に叩いてるだけだから変わらないはずだとかいう書き込みが昔あったよ。
もちろん関数は付けた方がいいのは常識で知ってる。
253名無しさん@そうだ選挙にいこう:2009/04/13(月) 12:15:40
>>251
文字列なら####にはならないと思うけど、セルの書式設定の配置に「縮小して全体を表示する」ってのがある。
254名無しさん@そうだ選挙にいこう:2009/04/13(月) 13:01:37
>>250
>>252
dim s as string
dim i as long
dim t1 as single,t2 as single
s = "abcde"
t1 = timer
For i = 1 To 10000000
Mid(s, 1, 1) = Mid(s, 2, 1)
Next
t2 = Timer
Range("a10000").end(xlup).offset(1).value = t2 - t1

こんなんで左辺(ステートメント)や右辺(関数)に$をつけたりつけなかったりの4パターンを15回ほど計測してみがが
たしかに右辺は付けた方が速くなるが左辺は有意差が見られないな。
>>252の言うとおりかも知らん。
255名無しさん@そうだ選挙にいこう:2009/04/13(月) 13:15:36
>>253

251です。
できました。
ありがとうございます。
256名無しさん@そうだ選挙にいこう:2009/04/13(月) 14:04:20
>>247
君のはランダムじゃないよ。
元の文字列で残る確率が少し高い。
A2:A10001に"ABCD"として
B2以下に=STRINGRAND(A2)としてピボットテーブルで個数を数えてみりゃ"ABCD"がいつも少し多い。
257名無しさん@そうだ選挙にいこう:2009/04/13(月) 14:14:47
確率云々もだが出てこないパターンもあるようだね。
4文字なら4*3*2*1の24パターンあるはずだが、>>247のじゃ12パターンしか出てこない。
258名無しさん@そうだ選挙にいこう:2009/04/13(月) 18:49:22
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 リスト 複数列 EXCEL

リストボックスを作ってそこに複数列の表示をしたいと思ってますが、うまくいきません。

コントロールの書式設定で
入力範囲 $B$1:$E$100
リンクするセル C1
ドロップダウンリストの行数10

として現在リストにはB列しか表示されていないんですが、B列〜E列まで表示するにはどうしたらよいでしょうか?
259名無しさん@そうだ選挙にいこう:2009/04/13(月) 19:30:57
>>258
プロパティからColumnCountを5に汁
どの列の値をとるかはBoundColumnをいじればいい。
260名無しさん@そうだ選挙にいこう:2009/04/13(月) 19:35:53
>>258
F1=INDEX($B$1:$E$100,MOD(ROW()-1,100)+1,INT((ROW()-1)/100)+1)
をF400まで引っ張って、入力範囲をF1:F400にする

因みにフォームツールのリストボックスでは

B1  C1  D1  E1
B2  C2  D2  E2

という表示は出来ず

B99
B100
C1
C2

となり、数式を使うことで「複数列分のデータ」を表示させることは出来るけど、
「複数列に分けて」表示させることは出来ないので覚えておいてね

コントロールツールの方なら複数列表示自体は出来るが、リストボックスだけで任意の項目選択することは出来ない
261名無しさん@そうだ選挙にいこう:2009/04/13(月) 19:50:38
フォームのリストボックスだったのか。
道理でコントロールの書式設定に>>258みたいなのがないと思ったよ。
コントロールツールボックス(Active X)のを使うんだな。
ただし>>260が書いてるように選択してるリストからの任意の項目を取り出すことは出来ない。
取り出せるのはBoundColumnで設定した項目だけだ。
262名無しさん@そうだ選挙にいこう:2009/04/13(月) 20:42:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 PRN 出力

データをPRN形式(というかスペース区切りテキストファイルであれば.prnである必要はないのですが)
で出力したいのですが、
Excel2003の仕様で、横に長すぎると勝手に改行が入ってしまいます。
改行が入らないようにするには、マクロ等で出力するしかないと思うのですが、マクロが分からないため困っています。
http://support.microsoft.com/kb/249885/ja
↑この情報にあるマクロだと、""が入ったりスペースが合ってなかったりで…

動作としては、Excelの通常のスペース区切りテキストと同じで、
列の幅に応じて空白が挿入されている必要があります。

よろしくお願いいたします。
263258:2009/04/13(月) 21:18:11
>>259>>260>>261
ありがとうございます。
フォームのを使ってたんですね。
ご指導いただいたようにコントロールツールボックスのリストを使ってみてます。
なんか四苦八苦してますので少ししてまた報告します。
264名無しさん@そうだ選挙にいこう:2009/04/13(月) 21:39:14
>>262
そのリンク先のマクロ、最初に出る質問はちゃんと読んだ?
訳すと「ダブルクォートを付けて出力するか Yes/No 」なんだけど。
あと、できあがったファイルをワードとかメモ帳で開いてない?
テキストエディタで見ればちゃんと揃ってるよ。
265258:2009/04/13(月) 22:15:51
遅くなりました。
つまりリストを選択してLinkedSellに番号を出力したい場合リストボックスの表示にも必然的に番号が入ってしまうということですね・・・
表示しないで行番号を出力できればいいんですが・・・
それと項目ごとの表示の幅とかは調整できないですよね?
いずれにせよありがとうございました。
266名無しさん@そうだ選挙にいこう:2009/04/13(月) 22:19:04
VBA使えばどうにでもなるけどな
もともとコントロールツールの方はVBAで使うことを想定されてるものだし
267262:2009/04/13(月) 22:50:35
>>264
すみません…最初のダイアログは見落としでした。
ただ、出力結果は、確かに揃ってはいるんですが、例えばExcelで列幅を10にしたとき、prnではデータ含めて半角10字分になるようにスペースが入ってくれるのですが、このマクロの出力結果では11字分になってしまいます。
また、数値のようにセル内で右揃えになってる場合、prnでは数字の前にスペースが入りますが、このマクロでは左揃えになってしまって、行の頭の数値の前にスペースが入ってくれません。

このマクロを多少修正すれば上手くいくのでしたら、ご教授いただければと思います。
268名無しさん@そうだ選挙にいこう:2009/04/13(月) 22:58:32
そういう細かい拘りがあるなら自分で作るしかないよ
頑張って勉強してね
269262:2009/04/13(月) 23:07:29
>>268
そうですか…このマクロをどうにかすればできるのか、
それとも一から作らなければならないのか、
それだけでも教えていただけませんか?
270名無しさん@そうだ選挙にいこう:2009/04/14(火) 00:04:06
そのマクロをどうにかして出来ないこともないが俺だったら一から書くな
271名無しさん@そうだ選挙にいこう:2009/04/14(火) 00:43:31
>>269
PRNって使ったことないのでよくわからないが
このあたりいじればなんとかならないかな。

Select Case .HorizontalAlignment
Case xlRight
CellText = Space(Abs(ColWidth - Len(.Text))) & .Text
Case xlCenter
CellText = Space(Abs(ColWidth - Len(.Text))/2) & .Text & _
Space(Abs(ColWidth - Len(.Text))/2)
Case Else
CellText = .Text & Space(Abs(ColWidth - Len(.Text)))
End Select
272名無しさん@そうだ選挙にいこう:2009/04/14(火) 00:53:44
そういえば、Excelで横方向文字揃え(HorizontalAlignment)が自動になってる場合
値が右揃えになってるか左揃えになってるかを取得できるプロパティとかってある?

セルの値が数値の場合は基本的に右揃えになるが、表示形式が文字列になっていれば
セルの値が数値(数字)でも左揃えになるわけで、その辺を総合して判断するしかないのかね?
273名無しさん@そうだ選挙にいこう:2009/04/14(火) 03:20:26
右寄せ、左寄せ、センタリング、見た目にこだわるとな〜りめんどくさいね。
素人さんには簡単そうに見えるかもしれないけど、実は非常に大変。

俺なら直接出力にこだわらず、まずは名前を付けて保存でHTML形式にするな。
これならいい感じのテキストっぽいファイルができるから、それを整形すれば
一から自分で作るよりかなり簡単になる。
274名無しさん@そうだ選挙にいこう:2009/04/14(火) 03:25:13
つまり、HTML形式で保存→そのファイルを開いてtdタグのalignをチェックすれば、
右寄せ左寄せセンタリングは一発でわかる。
条件付き書式なんかが設定されていた場合の実際の表示状態もわかるし、
これが一番簡単ではないかと
275名無しさん@そうだ選挙にいこう:2009/04/14(火) 15:55:27
セル内入れた文字数を変更するときセル内をダブルクリックして修正してましたが
Fキーでできると聞いたのですが、何番になるのでしょうか?
276名無しさん@そうだ選挙にいこう:2009/04/14(火) 15:58:29
F2
ってか押せよw
277名無しさん@そうだ選挙にいこう:2009/04/14(火) 18:04:25
>>276
ありがとう
言い訳になるけど
ひとつづつ押したけど
正解がでなかった・・・
278名無しさん@そうだ選挙にいこう:2009/04/14(火) 18:10:19
最初にF1押したらヘルプ起動してフォーカスがそっちに移り
以後はヘルプビューアにキーが送られるから仕方ないか・・・・・

って、ヘルプ起動してるのにそれ気付かないなんてことあるのか?
しかし他には正解が出ない(F2押しても編集状態にならない)ような状況なんて思いつかないし
279名無しさん@そうだ選挙にいこう:2009/04/14(火) 18:35:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 名前の定義 データの入力規則

aのexcelを元データとして、bのexcelを複数作成します。
aのexcelで名前の定義をし、bのexcelでデータの入力規則を使用してリストボックス
をつくりました。aとbのファイルを同フォルダに入れておくと問題がないのですが、
aの入っているフォルダ内にフォルダを作成し、その中にbのファイルをいれると出来なくなってしまいます。
理由はわかっているのですが、どうやれば出来るのかがわからなくて困ってます。
何か方法があれば教えて下さい。お願いします。
280名無しさん@そうだ選挙にいこう:2009/04/14(火) 19:37:04
;;;;
281名無しさん@そうだ選挙にいこう:2009/04/14(火) 19:39:33
>>279
解決しました。
ありがとうございました。
282名無しさん@そうだ選挙にいこう:2009/04/14(火) 19:50:01
>>281
あんた何番?
283名無しさん@そうだ選挙にいこう:2009/04/14(火) 20:53:31
    A      B      C
1         X軸     Y軸      
2  座標1    5       8   
3  座標2    1      15 
4  座標3   11      19  

このような三つの座標を頂点とする三角形の面積はどうやって求めたらいいですか?    
284名無しさん@そうだ選挙にいこう:2009/04/14(火) 21:00:08
それはExcelじゃなく算数の質問だろ
285名無しさん@そうだ選挙にいこう:2009/04/14(火) 21:26:19
いや、数学だな一応w
286名無しさん@そうだ選挙にいこう:2009/04/14(火) 21:29:05
>>283
http://www5d.biglobe.ne.jp/~tomoya03/shtml/algorithm/SurfaceArea.htm
sOAB = Abs(x2*y1 - x1*y2) / 2
↑が正しいなら↓の式でいけると思う
=ABS((D$2-B$2+B3)*(E$2-C$2+C4)-(E$2-C$2+C3)*(D$2-B$2+B4))/2
間違ってたらスマン。
>>284-285
雑談もいいけど答えてからにしなよ
287名無しさん@そうだ選挙にいこう:2009/04/14(火) 21:43:34
答えるのもいいけどD2とかE2ってなによ
288名無しさん@そうだ選挙にいこう:2009/04/14(火) 21:49:07
ごめんねお父さん作業列使ってそのままだったごめんね
=ABS((-B$2+B3)*(-C$2+C4)-(-C$2+C3)*(-B$2+B4))/2
289名無しさん@そうだ選挙にいこう:2009/04/14(火) 22:02:50
宿題は自分でさせないとダメだよ
290名無しさん@そうだ選挙にいこう:2009/04/14(火) 22:24:42
スレ違いに答えて得意満面とかってどんだけゆとりなんだよw
スレ違いだろうと答え貰えりゃ質問者は喜ぶから良いコトしたと勘違いしてるのかも知れないが
場のルールを無視した親切なんて、社会に出たら認めて貰えないぜ
291名無しさん@そうだ選挙にいこう:2009/04/14(火) 23:09:19
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2000、2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

A列を重複チェックしようとしています。
セルのデータ型は文字列型ですが、数字が入っています。

=IF(COUNTIF(A:A,A1)>1,"重複","")
のように重複チェックしようとすると、「001」と「1」を同じデータと数えてしまいます。
完全一致のものだけ重複とするには、どんな方法があるでしょうか。
292名無しさん@そうだ選挙にいこう:2009/04/14(火) 23:10:39
>>286も自分だけで考えたわけじゃなさそうだけど、他の奴らは考える力はからっきしないらしいw
293名無しさん@そうだ選挙にいこう:2009/04/14(火) 23:50:59
そうでもないか
294名無しさん@そうだ選挙にいこう:2009/04/15(水) 00:03:26
295名無しさん@そうだ選挙にいこう:2009/04/15(水) 00:09:12
>>291
B1に="!"&A1とか入れて下までフィルしてB列の重複チェックをする。
296名無しさん@そうだ選挙にいこう:2009/04/15(水) 00:20:14
=SUMPRODUCT(($A$1:$A$15=A1)*1)
297名無しさん@そうだ選挙にいこう:2009/04/15(水) 00:29:11
>>283 ヒントだけ
A 座標1と座標2の距離を求める(ピタゴラスの定理)
B 座標1と座標2の直線の式を作る
C B.の直線と座標3の距離を計算(点と直線の公式がある 絶対値を取ってね)

あとは A*C/2 だな  スレ汚してスマン
298名無しさん@そうだ選挙にいこう:2009/04/15(水) 00:46:15
>>297だか
内積か外積の和で面積もとめられたな
非効率だったゴメン
299291:2009/04/15(水) 00:56:31
>>294->>296
レスありがとうございます。
>>295さんの方法がてっとりばやかったので、それで解決いたしました。

何かの機会にSUMPRODUCTも使ってみようと思います。
300名無しさん@そうだ選挙にいこう:2009/04/15(水) 02:58:41
Excel2007で図のリンク貼り付けで表とかを別シートにリンクさせると図形が鮮明なときとぼやけてる時があるんですけど、何が原因でぼやけたり鮮明になったりするのでしょうか?
301名無しさん@そうだ選挙にいこう:2009/04/15(水) 08:37:48
環境:windows vista ultimate
office 2007

エクセルのファイル>右クリック>プロパティ>詳細

詳細の項目に「元の場所」というのがあります

複数のエクセルファイルがありますが、「元の場所」の
作成者・前回保存者・会社をいっぺんに変更する方法があれば教えてください。
302名無しさん@そうだ選挙にいこう:2009/04/15(水) 09:27:03
>>300
誰も答えてないから答えてみる。間違ってるかもしれないけど
例えば丸の図形
図形で書くとベクタデータっつって曲線の集合のデータになり、縮小・拡大をしても角が目立たない
ペイントで一度書き、jpgなんかで読み込むとラスタデータっつってドットの集合になり、角が目立つようになる

ベクタデータのままコピーすれば角が目立たなくなるが、解決方法はその時毎に色々あるから
確実なのはエクセルの上で図形等を書くことだな
303名無しさん@そうだ選挙にいこう:2009/04/15(水) 13:39:27
>300
100%でなく99%とかにするとましになることがある。
根本的な対策ではなくすまないが。
304名無しさん@そうだ選挙にいこう:2009/04/15(水) 21:31:29
>>302
ありがとうございました。直接描いてみます
>>303
ましになるって…そんなの解決方法じゃないですよ?
305名無しさん@そうだ選挙にいこう:2009/04/15(水) 21:56:01
あのさぁ、親切にアドバイスしてくれた人に、その態度はないんじゃない?
306名無しさん@そうだ選挙にいこう:2009/04/15(水) 22:07:42
>>301
それ系のソフトを使うか、
まとめて選択した状態で、右クリックしてプロパティ開く。
(複数の値)てなるけど変更できるはず。
307名無しさん@そうだ選挙にいこう:2009/04/15(水) 22:08:49
質問です。エクセル2000のワークシートの切り替えって、
下の小さなタグをクリックするしか方法無いのでしょうか?
ショートカットキーとか、ファンクションキーに割り当てる
ということはできませんか?
308名無しさん@そうだ選挙にいこう:2009/04/15(水) 22:15:03
Ctrl+PageUp
Ctrl+PageDown
309名無しさん@そうだ選挙にいこう:2009/04/15(水) 22:23:36
ありがとう!
310名無しさん@そうだ選挙にいこう:2009/04/15(水) 22:28:36
>>308
横からありがとう
311名無しさん@そうだ選挙にいこう:2009/04/15(水) 22:30:50
なぜ300を質問した俺じゃない人が教えてくれたレスにレスしてるんだ・・・?
312名無しさん@そうだ選挙にいこう:2009/04/16(木) 00:25:47
なぜ300を質問した俺じゃない人が教えてくれたレスにレスしてるんだ・・・?
313名無しさん@そうだ選挙にいこう:2009/04/16(木) 02:05:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 わかりません

きれいな水平線を書きたいのですが、挿入>直線を選んでマウスでかいていますが、どうしても水平に引けません。数ドットずれてしまいます。
うまくひく方法はありませんでしょうか?
314名無しさん@そうだ選挙にいこう:2009/04/16(木) 02:09:53
>>313
Alt押しながら引く。2007でできるかは知らん。
315名無しさん@そうだ選挙にいこう:2009/04/16(木) 02:12:36
>>314
ありがとうございます。
すげーたすかりました。かたじけない・・・・・・
316名無しさん@そうだ選挙にいこう:2009/04/16(木) 02:18:22
>>313
間違えた。Shift押しながら。だ。
Altだとセルの大きさに合わせた図形になる。
Shift押しながらだと正円や正方形もできる。
317名無しさん@そうだ選挙にいこう:2009/04/16(木) 02:19:07
あ、一足遅かった。けどなんとかなったならいいか。
318名無しさん@そうだ選挙にいこう:2009/04/16(木) 02:29:35
いやまだいます。
この恩は他社への質問で返すつもりですので。
319名無しさん@そうだ選挙にいこう:2009/04/16(木) 02:34:39
他社への質問ではなく
他者への回答で返そうな
320名無しさん@そうだ選挙にいこう:2009/04/16(木) 04:39:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA 一番下の行にコピー

ユーザーフォームでボタンをクリックするとSheet1の1の行からSheet2の一番下の行にコピーするというようにするにはどのようにしたらよろしいでしょうか?
教えていただけませんでしょうか?
321名無しさん@そうだ選挙にいこう:2009/04/16(木) 08:41:35
Private Sub CommandButton1_Click()
Sheet1.Rows(1).Copy Destination:=Sheet2.Rows(65536)
End Sub
322320:2009/04/16(木) 14:34:18
すいません。Sheet1の1の行からSheet2の一番下の行にコピーと書きましたが、Sheet1のB1からE1をSheet2の一番下の行のB1からE1までということでお願いします。
323320:2009/04/16(木) 14:38:46
>>321すいません。見てませんでした。有難うございます!!
あとは自分で何とかします。322はなかったことでお願いします。
324名無しさん@そうだ選挙にいこう:2009/04/16(木) 14:39:28
Private Sub CommandButton1_Click()
Sheet1.Rows(1).range("B1:E1").Copy Destination:=Sheet2.Rows(65536).range("B1:E1")
End Sub
325320:2009/04/16(木) 15:45:32
>>324
ありがとうございます!!
何とかしようと苦しんでました。助かります。
324さんにいいことがありますように。
326名無しさん@そうだ選挙にいこう:2009/04/16(木) 21:39:51
会社で定型業務をVBAで楽に出来るようにしてるんですが、
他の営業所にもその書式を水平展開する事になり、メールで
添付して送りました。
ただ、他の営業所はセキュリティが「高」にされているようで、
自分が送ったファイルでマクロがうまく働かないようです。
うまく動かすには、やっぱりセキュリティを下げてもらうしか
方法はないですかね?
デジタル署名はまだ試してないんですが、あれって別のPCでも
効果はあるんですか?
327名無しさん@そうだ選挙にいこう:2009/04/16(木) 21:59:24
>326
デジタル署名して、他のPCでそれを許可すればいけるよ。
でも、セキュリティ「高」でいけるかどうかは忘れた。
あくまで、「このファイルはマクロを含んでいます〜」みたいな
ファイル開いたときに出てくるのがなくなるだけな気がする。
328名無しさん@そうだ選挙にいこう:2009/04/16(木) 22:17:45
>>327
ありがとうございます!
自分のいる営業所じゃないんで、出来ればセキュリティはいじらずにすむ方法
がないか考えてたんですが、あらためて明日移行に試してみます。
329名無しさん@そうだ選挙にいこう:2009/04/16(木) 22:49:29
なぜ327を質問した俺じゃない人が教えてくれたレスにレスしてるんだ・・・?
330名無しさん@そうだ選挙にいこう:2009/04/16(木) 23:27:51
もう一人の君が、君の居眠りしているうちにレスをしたのに違いない。
331名無しさん@そうだ選挙にいこう:2009/04/17(金) 08:57:44
ggg
332名無しさん@そうだ選挙にいこう:2009/04/17(金) 09:17:52
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 t検定 数値以外のデータ

excelでt検定をしたいのですが、数値以外のデータがありますと表示され分析することができません。

5

6
7
8
のように数字と数字の間に空白があるのが原因とも考えられましたが、そうでもないようです。

=IF(I15 = 0, "", I15)のように計算式で計算した数値を、形式選択して貼り付けで、値を貼り付けすると、

数値として計算で出された部分はいいのですが、計算して空白""が書かれた部分を、形式を選択して値を貼り付けにすると、
見た目上は普通の空白になっているのに、Excel上ではただの空白として認識されないようです。どうしたらいいのでしょうか?

詳しい方教えていただけませんか?

333名無しさん@そうだ選挙にいこう:2009/04/17(金) 09:45:44
>>332
""は文字列として扱われる
=IF(I15 = 0, 0, I15)
にする
0で不都合があるなら、
・deleteで消す
・オートフィルタで空白以外にしたあと、コピー(すると非表示の部分は飛ばしてコピーされる)
VBAが使えるなら
式を=IF(I15 = 0, "あああ", I15)
にして↓を実行するとか
Sub Macro1()
Dim aaa
For Each aaa In Range("j:j")
If aaa = "あああ" Then
aaa.ClearContents
End If
Next
End Sub

ただt分析というものをやったことがないのでうまくいくかどうかわからない
上手く行かなかったらまた教えてね
334名無しさん@そうだ選挙にいこう:2009/04/17(金) 09:52:25
>>332
計算する時に空白のセルを飛ばすかどうかは関数によって違う。
分析ツールのt検定は空白は普通に飛ばしてくれるみたいなんで、
何か別のところでひっかかってる可能性がある。

まずはデータを減らして試してみ。
335名無しさん@そうだ選挙にいこう:2009/04/17(金) 11:05:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 時刻 計算

勤務表を作っているのですが、
今までは、例えば9:00から18:30まで勤務した場合は、

出勤 9.0  ←記入
退勤 18.5  ←記入
定時勤務時間 7.0 ←自動で出る
残業 1.5 ←自動で出る

というように欄を分けて、出勤時刻と退勤時刻を記入すれば時間が出るようなExcelを作っていたのですが、
出勤時刻と退勤時刻を、きちんと時刻を入れるように、と指示がありました。
つまり、

出勤 09:05  ←記入
退勤 18:40  ←記入
定時勤務時間 7.0 ←自動で出る
残業 1.5 ←自動で出る

というようにしたいのです。
また、この例のように、5分遅刻しても遅刻にはならず、40分まで働いても0.5時間となります。
規定では、45分〜14分までを0とみなし、15分〜44分までは0.5とします。

ややこしくて申し訳ありませんが、どなたかヒントだけでもよろしくお願いいたします。

9:05=9.0
18:40=18.5
と変換できれば、これまで使っていたシートを活用できるかとは思うのですが…
336名無しさん@そうだ選挙にいこう:2009/04/17(金) 11:25:27
遅刻した場合は30分単位?
337名無しさん@そうだ選挙にいこう:2009/04/17(金) 11:25:58
>>335
30分単位で切り捨てて、2で割ればいいんじゃね?
=INT(時間の入ったセル/"00:30")/2
みたいなかんじ
338名無しさん@そうだ選挙にいこう:2009/04/17(金) 12:12:17
>>335
1から作るから教えてくれ
>45分〜14分までを0とみなし、15分〜44分までは0.5
というのは終了?開始?
あと単位時間は何分?
339335:2009/04/17(金) 12:34:28
説明が下手ですみません。

終了、開始にかかわらず、
例えば8:45〜9:14まで9.0となり、
9:15〜9:44までは9.5となり、
9:45〜10:14までは10.0となり
以下同様に続きます。
時刻はタイムカードに記載される数字で、1分刻みです。

出勤欄、退勤欄のみが時刻表示で、
その他の欄は0.5刻みの数値で表示される必要があります。
全部作り変えるなら、見た目だけがそうなっているというのでもいいのですが、
できれば数値に変換できているとありがたいです。
他のものと連動している部分がありますので…。

>>337
ちょっと試してみます。
340名無しさん@そうだ選挙にいこう:2009/04/17(金) 12:55:41
>>339
暇だから作った
ttp://www1.axfc.net/uploader/He/so/217746.zip
好きなように編集するといい
341335:2009/04/17(金) 13:18:23
>>337
=INT((B4+"00:15")/"00:30")/2
とすると希望の変換になった…気がします。
これを既存の式に組み込めば何とかなりそうです。
ありがとうございました。

>>340
よいものをありがとうございます。
今あるものにそのまま組み入れるわけにはいかなさそうですが、
色々と参考にさせていただきます。ありがとうございました。
342335:2009/04/17(金) 13:21:28
>>341の式、B4ってところに時刻を入れてますw
Excelで試してそのままコピペしてしまいました。
分かるとは思いますが一応…。
343名無しさん@そうだ選挙にいこう:2009/04/17(金) 13:34:41
B1に出勤時間 B2に退出時間 B3に定時勤務時間 B4に残業時間とすると
作業列を使ってしまいますが
B3に =IF(B1="","",7.0)
C3に =TIME(B3+1,0,0)  休み時間を考えなくてよかったら+1は消す

C4に =TIME(HOUR(IF(MINUTE(B2)>=45,HOUR(B2)+1&":00",HOUR(B2)&":00"))
,MINUTE(IF(MINUTE(B2)>=45,"0:00",IF(MINUTE(B2)>=30,"0:30","0:00"))),0)
-TIME(HOUR(IF(MINUTE(B1)>=30,HOUR(B1)+1&":00",HOUR(B1)&":00"))
,MINUTE(IF(MINUTE($B$1)>=30,"0:30","0:00")),0)-C3

B4に =HOUR(C4)&IF(MINUTE(C4)=30,".5",".0")
344名無しさん@そうだ選挙にいこう:2009/04/17(金) 13:34:59
時刻の場合小数誤差が起こる可能性があるから表から拾うようにしたほうがいいと思うぜ
345名無しさん@そうだ選挙にいこう:2009/04/17(金) 14:08:52
>333
解決しました、ありがとうございました!!
346名無しさん@そうだ選挙にいこう:2009/04/17(金) 16:07:01
>>343
その式使うんだったらC4に

=TIME(HOUR(IF(MINUTE(B2)>=45,HOUR(B2)+1&":00",HOUR(B2)&":00"))
,MINUTE(IF(MINUTE(B2)>=45,"0:00",IF(MINUTE(B2)>=15,"0:30","0:00"))),0)
-TIME(HOUR(IF(MINUTE(B1)>=45,HOUR(B1)+1&":00",HOUR(B1)&":00"))
,MINUTE(IF(MINUTE(B1)>=45,"0:00",IF(MINUTE(B1)>=15,"0:30","0:00"))),0)-C3

だろ
347名無しさん@そうだ選挙にいこう:2009/04/17(金) 17:21:54
【1 OSの種類         .】 Windows XP PRO SP2
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 数値
例えば1つのセルに計算式で求められた5桁までの数字が入っていて
今回は4桁の数字を別々のセルに表示するということは可能でしょうか?

例)
セルA1にsumの回答で「1,234」と表示されていたら
A2は ブランク
A3は 1
A4は 2
A5は 3
A6は 4
という数字を表したのですが可能でしょうか?
348名無しさん@そうだ選挙にいこう:2009/04/17(金) 18:11:12
>>347
rounddown関数を使えばできそうだよ
349名無しさん@そうだ選挙にいこう:2009/04/17(金) 18:21:26
5桁なのか4桁なのかよく分からん質問だな
今までは5桁だからできたけど今回4桁になったからどうしようって話なのか
350347:2009/04/17(金) 18:40:49
>>348
切り捨ての関数ですよね?あてはめて見ても、うまくいかなそうですが…
>>349
sumの合計値が4〜7桁位でマチマチになります。
今まで出来ていた訳ではありません。
351名無しさん@そうだ選挙にいこう:2009/04/17(金) 18:52:23
普通に切り出せば良いだけの話じゃん
352348:2009/04/17(金) 19:03:01
>>350
疑問
A2は桁数にかかわらず万の位でいいの?
あとA1は4〜7桁なのか5桁までなのかちゃんと書かなきゃ困るよ

A2に万の位の数字を表示させるんだったら
if(A1<10000,"",rounddown(A1-rounddown(A1,-5),-4)/10000)
A3以下も同じ感じでやってみて
353名無しさん@そうだ選挙にいこう:2009/04/17(金) 19:03:04
>>347
文字列操作関数かINTとMODの組み合わせか どっちでもお好きに
354347:2009/04/17(金) 19:15:25
>>352
A1セルは何桁になるかわからないのですが、A2は必ず万の位になります。
書き込んで頂いた式で試してみます。ありがとうございました。
355348:2009/04/17(金) 19:22:32
>>353
mod関数ってはじめて知りました
if(A1<10000,"",(mod(A1,100000)-mod(A1,10000))/10000)

勉強になりました

>>354
上の式でもいけるよ
356名無しさん@そうだ選挙にいこう:2009/04/17(金) 19:29:00
MID関数のが簡単。表示形式で入れた桁区切りのコンマは無視される。
たとえばA1が1,234だったとして、MID(A1,2,1)は2になる。
357名無しさん@そうだ選挙にいこう:2009/04/17(金) 19:52:19
頭合わせならMIDの方が簡単だが、ケツ合わせならMODの方が簡単
ケツ合わせの場合、総桁数に因って切り出す位置が変わるからな
6桁なら A4=MID(A1,4,1)
5桁なら A4=MID(A1,3,1)
4桁なら A4=MID(A1,2,1)
その可変部をLENから算出するくらいならMODの方が簡単だ

しかもMIDの場合は必ず桁数を条件にIF関数組まないとブランクの桁でエラーになるが
MODなら表示形式を「0;;;」とすることでIF関数無しの
=INT(MOD(A1,10^5)/10^4)
でいける

フィルコピーで入れられるようにすると、最大7桁(A8が1の位)の場合で
A2=INT(MOD($A$1,10^(9-ROW()))/10^(8-ROW()))
かな
358335:2009/04/17(金) 20:02:44
>>344
ありがとうございます。
その可能性はありますが、今回の場合は必ずセルに9:05のように直接入力しますので、
一応0時から23時まで14分、15分、44分、45分で正しく判断されるか確認したところ、
手入力の場合はきちんと判断されたので、大丈夫かと思います。

ただしセルA1に0:00と入れて、A2に0:01と入れてフィルした場合や、
A2にA1+1/1440と入れてフィルした場合は狂いましたので、
そういう場合は使えないということは覚えておきたいと思います。
359名無しさん@そうだ選挙にいこう:2009/04/17(金) 20:03:44
エクセルでのグラフの作り方についてなんですが、
1つの表から
ttp://up2.viploader.net/pic/src/viploader983321.jpg
このように単位が違うグラフを作るにはどうしたらよいのでしょうか?

赤[kg]は普通に出ますけど、青[g]の出し方が分かりません
360名無しさん@そうだ選挙にいこう:2009/04/17(金) 20:20:20
>>359
1 普通に折れ線グラフを作る
2 gのほうのグラフの線を右クリックしてデータ系列の書式設定を選ぶ
3 「軸」タブを選択して、第2軸にチェック

Excel2007だったらシラネ
361名無しさん@そうだ選挙にいこう:2009/04/17(金) 20:34:25
>>357
ケタ数あわせなら頭に0をいくつかつけてから切り出せばいいんだけどね
MID(LEFT("0000"&A1,5),1,2,1)とか
362名無しさん@そうだ選挙にいこう:2009/04/17(金) 20:48:34
位置調整処理がが桁数揃え処理になるだけじゃんw
363名無しさん@そうだ選挙にいこう:2009/04/17(金) 20:54:36
あきらかに>>361のほうが簡単だけどね
364名無しさん@そうだ選挙にいこう:2009/04/17(金) 20:56:38
>>361
引数が1つ余計だぞ
あとLEFTではなくRIGHTな
ついでに"0"はどうやって消すつもり?
365名無しさん@そうだ選挙にいこう:2009/04/17(金) 21:05:19
そうだRIGHTだな間違えた
0がじゃまなら" "にすればいいやん
366名無しさん@そうだ選挙にいこう:2009/04/17(金) 21:10:04
ブランク
=""
=0

文字列
="0"
=" "

今回はどうか知らないが、普通ブランクと言ったら0か0長文字で
スペースとか文字列の"0"とか入れちゃあかんがな
367名無しさん@そうだ選挙にいこう:2009/04/17(金) 21:38:46
そういえばEmpty値返せる関数って標準では無いんだよね。
0と""は確かに空セルと等価演算してTRUEになるけどISBLANKではFALSEなんだよな。
もっともEmpty値返せる関数が無い以上、数式では0か""を返すしかないんだが。
368名無しさん@そうだ選挙にいこう:2009/04/17(金) 21:54:50
>>366
0の事は普通ブランクって言わない
369名無しさん@そうだ選挙にいこう:2009/04/17(金) 22:18:48
>>360
2007なのですが・・・
370名無しさん@そうだ選挙にいこう:2009/04/17(金) 22:38:26
>>368
厳密に言えばね
しかし厳密に見ちゃうと367も書いてる通り、数式結果でブランクなセルは作れない
だから普通はブランクセルと同値として扱われる0や""が数式結果上では暫定的にブランク扱い

とりあえず論より証拠

=ISBLANK(A65536)
=A65536=0
=A65536=""
=A65536="0"
=A65536=" "

因みに0や""はブランクじゃないというのは間違ってないが、""はブランクで0はブランクじゃ無いというのは完全に間違いだからね

まあ完全なブランクじゃないから、状況によっては不都合もあるけどね
算術演算の場合は0じゃないと不味い(""ではエラーになる)し、
MIN関数の場合は""なら無視されるが0だと他が正の値なら結果が必ず0になってしまうとかね
371名無しさん@そうだ選挙にいこう:2009/04/17(金) 22:49:38
キモ
372283:2009/04/17(金) 23:11:59
勝矢くんキモ
373名無しさん@そうだ選挙にいこう:2009/04/17(金) 23:12:15
>>369
そもそも最初にバージョン書かないのが悪いんだろ
てか第2軸を使うって分かったらヘルプなり何なり調べたらどうよ
そんな用語まで綺麗さっぱり変わったのか?2007って。
374名無しさん@そうだ選挙にいこう:2009/04/17(金) 23:41:59
>>370
厳密とかじゃなくて、普通。
普通、0の事はブランクって言わない。
375名無しさん@そうだ選挙にいこう:2009/04/17(金) 23:48:48
>>374
マイクロソフトが普通じゃないってオチ
あんまり噛み付かない方がいい
お前は間違ってない
376名無しさん@そうだ選挙にいこう:2009/04/17(金) 23:50:13
己の常識(普通)、世界の非常識
377名無しさん@そうだ選挙にいこう:2009/04/17(金) 23:50:47
>>370
ブランクが0または""として扱われるのであって
0や""がブランクとして扱われる訳じゃない
378名無しさん@そうだ選挙にいこう:2009/04/17(金) 23:56:48
そうでもないか
379名無しさん@そうだ選挙にいこう:2009/04/17(金) 23:58:26
ほい
=ISBLANK(0)
=ISBLANK("")
380名無しさん@そうだ選挙にいこう:2009/04/17(金) 23:59:55
>>379
その位置は既に通り過ぎてる
お前も早く登ってこい
381名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:02:58
お山には興味ないな
382名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:03:20
潜ろうぜ
383名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:04:33
>>379
おまえ恥ずかしい奴だな。
384名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:07:33
まあ間違いを認めないだろうとは思っていたよ
385名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:13:33
そもそもまともに間違いを指摘できてない

""も0も(厳密には)ブランクじゃないという論拠ならあるが、それは最初から認めてるし
""はブランクで0はブランクじゃないという論拠は、「主観での"普通"」しか挙がってない

主観を論拠に間違いだと主張されても┐(´ー`)┌なのは当たり前
386名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:16:47
> ブランクセルと同値として扱われる0や""が数式結果上では暫定的にブランク扱い
ここが間違い。

> ""はブランクで0はブランクじゃない
言ってない。
387名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:18:56
っていうか厳密じゃないにしても0をブランクと言う人を初めて見た。
388名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:27:42
言う言わないはともかく、ブランク代わりに0を利用してる人は結構居るけどね
389名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:28:12
>>386
> > ブランクセルと同値として扱われる0や""が数式結果上では暫定的にブランク扱い
> ここが間違い。
何を根拠にどう間違いで、数式が返す正しいブランク値とは何なのかを解説出来ないと主観の域を出ませんよ

> > ""はブランクで0はブランクじゃない
> 言ってない。
たしかにそうハッキリとはいってませんね
でもそれなら、""も0も厳密にはブランクじゃないというのは最初から認めてるんだから噛みつかれる謂われは無いような気が…


ついでにこっちにも
>>377
その通り
俺の主張も君と同じだよ

しかし数式ではブランクとして扱われる値は返せないから、代替としてブランクセルと等価と評価される値を返すって話をしてるだけ
390名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:38:42
>>377を認めるならもういいよ。
お前の日本語が(遠回しに言って)ユニークだってだけの話だ。
391名無しさん@そうだ選挙にいこう:2009/04/18(土) 00:48:44
>>370
> 0や""はブランクじゃないというのは間違ってない

>>377
> 0や""がブランクとして扱われる訳じゃない

認める認めない以前に、0や""がブランクそのものじゃないってことは377よりこっちが先に言ってるんだがな
392名無しさん@そうだ選挙にいこう:2009/04/18(土) 01:39:46
勝矢くん元気?w
393名無しさん@そうだ選挙にいこう:2009/04/18(土) 01:42:22
どうしたの?
394名無しさん@そうだ選挙にいこう:2009/04/18(土) 01:46:01
あのーA1のセルが空白かどうかを調べるにはVBAならどうかくのでしょうか?
395名無しさん@そうだ選挙にいこう:2009/04/18(土) 02:33:06
>>394
MsgBox IIf(IsEmpty(Range("A1").Value), "空白だよ", "空白じゃないよ")

IsEmpty(Range("A1").Value)
 の代わりに
VarType(Range("A1").Value) = vbEmpty
 とか
TypeName(Range("A1").Value) = "Empty"
 でもいけるが
Range("A1").Value = Empty
 だと0も""もブランク扱いになる
396名無しさん@そうだ選挙にいこう:2009/04/18(土) 02:39:28
MODとINTだと上位が0で埋まる。ゼロサプレスしようとすると式が長くなる。
文字列関数の方が式が簡単にならない?
397名無しさん@そうだ選挙にいこう:2009/04/18(土) 02:51:00
状況による
上位の空セルが単に見えなければ良いだけならブランクにせずスペース返しても構わないわけで、それならMIDとLIGHTの方法が向く
結果に対して演算が行われるなら、""やスペースではなく0を返さなければならないからMODとINTの方法が向く
結果を関数で使う場合は、関数によって0が良い場合と""が良い場合がある

ゼロサプレスは表示上だけなら表示形式設定だけで事足りるので式は長くならない
逆に0やスペースではなく""にするならMIDとLIGHTの場合も同じように式が長くなるのでどちらが向くとも言えない
398名無しさん@そうだ選挙にいこう:2009/04/18(土) 11:52:36
0でも""でもよければ計算の軽さとか自然さならINTとMODだろうがお手軽さなら文字列操作関数かなぁ。
計算の軽さといっても今のCPUなら無視出来るけど。
399283:2009/04/18(土) 12:07:23
>>387
俺は一人だけ知ってる。
>>388
多分君だけだと思う。その一人かな?
400名無しさん@そうだ選挙にいこう:2009/04/18(土) 13:19:14
LIGHT
401名無しさん@そうだ選挙にいこう:2009/04/18(土) 13:58:13
ほっといてやりなよ
402名無しさん@そうだ選挙にいこう:2009/04/18(土) 14:20:39
なんでそんなに必死なの?
403名無しさん@そうだ選挙にいこう:2009/04/18(土) 14:49:41
ほかにすることがないんだろ
404名無しさん@そうだ選挙にいこう:2009/04/18(土) 15:54:26
office2007のソフトが安く購入したいけど
安い通販ないですか?
405名無しさん@そうだ選挙にいこう:2009/04/18(土) 16:01:01
>>404
まあ あれだ













ス レ チ
406名無しさん@そうだ選挙にいこう:2009/04/18(土) 16:01:53
なんでそんなに改行するん
407名無しさん@そうだ選挙にいこう:2009/04/18(土) 16:02:30
ここで売ってたよ
手頃な値段で
http://www.hhyyhh22.co.nr
408名無しさん@そうだ選挙にいこう:2009/04/18(土) 16:43:02
>>398
暇なので10000の位を取り出す場合の式を作ってみた。
もっとお手軽な式があったら指摘宜しく。

▼ 表示さえ消えればよい場合

=INT(MOD(A1,10^5)/10^4)

=LEFT(RIGHT(REPT(" ",4)&A1,5),1)

▼ 0を返す場合

=INT(MOD(A1,10^5)/10^4)

=VALUE(LEFT(RIGHT(REPT("0",4)&A1,5),1))

▼ ""を返す場合

=IF(LEN(A1)>=5,INT(MOD(A1,10^5)/10^4),"")

=IF(LEN(A1)>=5,LEFT(RIGHT(REPT(" ",4)&A1,3),1),"")

▼ 存在しない桁では""を返し、存在する桁では数値を返す場合

=IF(LEN(A1)>=5,INT(MOD(A1,10^5)/10^4),"")

=IF(LEN(A1)>=5,VALUE(LEFT(RIGHT(REPT(" ",4)&A1,5),1)),"")


・ MIDよりLEFTの方が引数1つ減らせるし取り出す桁によって書き換える部分も少なくお手軽なのでLEFTを使った。
・ 1000000,100000や"000000","      "などは避け、汎用性のある演算や関数を使った。
・ 表示形式設定の要否は別として、式のお手軽さや短さを比べてみた。
409名無しさん@そうだ選挙にいこう:2009/04/18(土) 16:58:48
>>404
>>407は一見値段は手頃に見えるけど、不正コピーソフトなので
本質的には無価値なものに値段が付いてる激高品だよ
410名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:18:45
エクセル2007で
挿入、画像を選択、画像の貼り付け、一つ下のセルに移動
をマクロで組めないでしょうか?画像の名前は001.pngから100.pngでB1からB100に順に貼り付けたいです。
411名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:20:04
>>408
=RIGHT(INT(A1,10^4),1)
412名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:21:41
>>410
マクロの記録で1枚だけ貼り付けるとどうなるか見て
それを100回繰り返す
413名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:24:41
>>412
記録してやろうとしたけど↓見たいにしかならなかったんです。


Sub Macro2()
'
' Macro2 Macro
'
Range("E2").Select
End Sub
414名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:35:05
>>413
新しいマクロの記録→OK→B1セルをクリック→画像を挿入→記録停止

やってみ
415名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:40:18
2007では図形の操作は記録できなくなった。(2007で改悪された点の一つ)
古いバージョンのExcelで試すかネットで検索するか参考書を見るしかない。
416名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:44:34
そうだったのか。すまんかった。

>>410
Range("B1").Select
ActiveSheet.Pictures.Insert("001.png")
417名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:44:52
>>411
文字列関数と算術関数織り交ぜですか。
でも
×=RIGHT(INT(A1,10^4),1)
○=RIGHT(INT(A1/10^4),1)
では?

しかしながら""を返す場合だけは一番短くなるけど
他はINT,MODよりは長く、LEFT,RIGHTよりは短いって状態だね。

表示を消す場合はIFで""返すかVALUEで"0"を0にして表示形式で消さなきゃだし、
0や数値を返す場合も、やはり数字(文字列)をVALUEで数値に変換しなきゃだし。
418名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:46:29
数値にするときは"0"+0とか"0"*1でおk
419名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:49:32
>>417
A1が1万未満の時INT関数は0を返すから""にはならんと思うが
420名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:52:07
>>416
ありがとうございます。それと画像を順に参照するときは

For n=1 to 100
ActiveSheet.Pictures.Insert ("D:\pict\" & n & ".png")
next

であっていますか?PictureクラスのInsertメソッドが失敗しましたとでてしまって・・・
421名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:52:48
じゃあこうか
=IF(A1>=10^4,RIGHT(INT(A1/10^4),1)+0,"")
422名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:55:39
あ、nだと00*とかにならないからエラーがでるのか。
事故解決しました。
423名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:55:47
>>420
それだと1.pngになるからファイルが見つからずエラーになる。
001.pngにするにはFormat(n, "000")
424名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:56:23
>>418
その場合でも長さの結果は変わらないけどね。

>>419
その通りだよ。でも式にすると一番短くなる。

=IF(LEN(A1)>=5,RIGHT(INT(A1/10^4),1),"")

=IF(LEN(A1)>=5,INT(MOD(A1,10^5)/10^4),"")

=IF(LEN(A1)>=5,LEFT(RIGHT(REPT(" ",4)&A1,3),1),"")
425名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:57:44
↑最後のやつ間違ってる。エラーでるよ
426名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:58:18
>>423
ありがとうございます!
427名無しさん@そうだ選挙にいこう:2009/04/18(土) 17:59:21
MODとINTを逆にするだけで演算子が一つ減る
=INT(MOD(A1,10^5)/10^4)
=MOD(INT(A1/10^4),10)
428名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:02:59
画像についてなんですけど、画像が張り付けられる位置がすべてa1からb2にまたがった中途半端な位置に重なって張り付けられるのですが選んだセルに貼り付けるにはどうすればいいのでしょうか?
429名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:04:16
いちいち数値に変換しなくても右寄せでいいじゃん
430名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:06:16
>>428
>>410の人?>>416は2行で1セットだよ。
1枚貼るごとにセルをSelect。
431名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:10:16
>>425
引数間違ったけどエラーは出ないはず。というかうちでは出てないよ。
×=IF(LEN(A1)>=5,LEFT(RIGHT(REPT(" ",4)&A1,3),1),"")
○=IF(LEN(A1)>=5,LEFT(RIGHT(REPT(" ",5)&A1,4),1),"")

>>427
>>411の解法を算術関数だけでやったわけか。
これが最高点かも。

>>429
計算に使わない場合はね。
だから>>408の表示さえ消えればよい場合の下とかも文字列のままだよ。
でもいろんな条件でどうなるかって話だと、計算に使わない場合のみってわけにもいかないのさ。
表示形式で非表示にする場合も、数値になってないと消せないし。
432名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:11:31
>>430
410です。
↓のようにやってるんですけど>>428のようにります。

For n = 1 To 100
Range("b" & n).Select
ActiveSheet.Pictures.Insert ("D:\pict\" & Format(n, "000") & ".png")
Next
433名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:16:56

Excelのセル上で何か文字キーを押すと入力状態になりますが
これを最初から編集状態になるようにするにはどうすればよいですか?
入力状態からF2押すか、最初からF2でセルに入れば編集状態になるのは知ってますが
普通に文字キーを打っただけで編集状態にしたいです

WinXP、Excel2003、VBAは多少使えるしVBAでの回答も可です
434名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:52:16
>>432
2003だと問題ないのに、またしても2007の呪縛か…
2007は画像を読み込むとき、いちいちTopとLeftで位置を示してやらないといけないらしい。

For n = 1 To 100
  Set P = ActiveSheet.Pictures.Insert ("D:\pict\" & Format(n, "000") & ".png")
  P.Top = Range("b" & n).Top
  P.Left = Range("b" & n).Left
Next
435名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:55:54
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】
【4 VBAでの回答の可否】 可
【5 検索キーワード     】該当する値を抽出

A B C D E
1 a あ a
2 a い あ
3 b う い
4 a え え
5 b お か
6 a か

上のような表で、A列が「a」の全てのB列の値を抽出するには
どうすればいいですか?
(抽出結果はE列のようにしたいです)
436名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:57:16
>>433
Private Sub Workbook_Open()
  SendKeys "{F2}"
End Sub

とか。でもこれになんの意味が?
437名無しさん@そうだ選挙にいこう:2009/04/18(土) 18:58:44
質問がわからん
438名無しさん@そうだ選挙にいこう:2009/04/18(土) 19:01:26
 A B C D E
1 a あ   a
2 a い  . あ
3 b う   い
4 a え .  え
5 b お   か
6 a か
439433:2009/04/18(土) 19:02:22
>>436
ブックを開いたときに編集状態にしたいのではなく
キーを打ったときに最初から編集状態になるようにしたいのです
標準ではキーを打ったときは最初入力状態で、F2押さないと編集状態にはなりません
440名無しさん@そうだ選挙にいこう:2009/04/18(土) 19:04:06
>>439
入力中に矢印キーが使えないってこと?
それは無理だったはず。
441名無しさん@そうだ選挙にいこう:2009/04/18(土) 19:04:35
俺がenter押したら改行しないで欲しいのと似ている
442435:2009/04/18(土) 19:08:53
表がずれました
>>438
エスパーありがとう^^
443名無しさん@そうだ選挙にいこう:2009/04/18(土) 19:52:17
>>435
Sub x()
Dim i, x
x = 1 'E1からの時はここをコメントアウト
For i = 1 To 65536
If Cells(i, 1) = "a" Then
x = x + 1
Cells(x, 5) = Cells(i, 2)
End If
Next
End Sub
444名無しさん@そうだ選挙にいこう:2009/04/18(土) 20:22:01
>>443
ありがとう。試してみます。
445433:2009/04/18(土) 20:37:18
>>440
オプション設定が無いなら
VBAでの実現でもいいんですけど
446433:2009/04/18(土) 21:01:20
この程度の事も出来ないとかカスの集まりですね^^
もう一生来ません^^
447名無しさん@そうだ選挙にいこう:2009/04/18(土) 21:06:28
急に顔文字とか使うと偽物なのバレるよ。
448名無しさん@そうだ選挙にいこう:2009/04/18(土) 21:15:09
>>445
thisworkbookのSheetSelectionChangeのイベントで
Application.SendKeys ("{F2}")でどうでしょう
449名無しさん@そうだ選挙にいこう:2009/04/18(土) 21:29:38
>>448
それだと編集するつもりが無くてもカーソル移動だけで編集状態になっちゃう。
つまり左右の移動がマウスでしかできなくなる。
450名無しさん@そうだ選挙にいこう:2009/04/18(土) 21:35:10
そういうもんでしょ。編集状態って。
キーボードしか使わない人はTABとEnterとShifで移動しながら入力するんじゃない?
451名無しさん@そうだ選挙にいこう:2009/04/18(土) 21:35:31
>>433みたいなことしようとするのがそもそもタコなんだよ
それでだれがどう便利になるのかまったくわからん
452名無しさん@そうだ選挙にいこう:2009/04/18(土) 21:38:34
自分の想像力の無さを自慢してどうするんだよw
453名無しさん@そうだ選挙にいこう:2009/04/18(土) 21:43:03
それでは想像力のある方から
どういう状況で>>433が必要になるかの発表がありますので
皆さん心して拝聴するように
454名無しさん@そうだ選挙にいこう:2009/04/18(土) 21:59:05
文字ヮ編集するときに左右キーを使うクセのある人だと思う
俺も昔そうだった、というかエクセル以外は今でもそうだ
逆にdeleteとバックスペース中心で文字列編集する人とどっちが多いんだろう
455名無しさん@そうだ選挙にいこう:2009/04/18(土) 22:11:38
キーボードユーティリティで「F2]をカーソルキーの近くのキーに割り当てれば
済む話でもないのか?よくわからんが
456名無しさん@そうだ選挙にいこう:2009/04/18(土) 22:21:07
想像力も無けりゃ文章読む力まで無いのか
457名無しさん@そうだ選挙にいこう:2009/04/18(土) 22:24:29
説明する力のない人にいわれたくないなあ
458名無しさん@そうだ選挙にいこう:2009/04/18(土) 22:51:54
>>433
>>448>>450でOKなんじゃないかな
459名無しさん@そうだ選挙にいこう:2009/04/18(土) 23:38:29
毎年一回ぐらいこの編集の質問があるよ。
大概が使い方に問題がある。
マウス使わないならショートカットを当然自分で設定できる。
マウス使うならダブルクリックでセルの直接編集が出来るし、数式バーで編集すればいいだけだし。
で無理矢理やって見て初めて、使い勝手が悪いことに気付いてやめてしまうという落ちw
460名無しさん@そうだ選挙にいこう:2009/04/18(土) 23:48:23
>>449
カーソルの移動に矢印キーを使う(編集)か
セルの選択の移動に矢印キーを使う(入力)かの二択で
どちらも矢印キーにと言うのは矛盾してる
461名無しさん@そうだ選挙にいこう:2009/04/19(日) 00:00:10
キャレットが有るときはキャレット移動に使って
キャレットが無いときはセル移動に使うって事だから矛盾はしてない
462名無しさん@そうだ選挙にいこう:2009/04/19(日) 00:06:55
カーソルが123が入力されているセルにあるとき、4を押すと1234になればいいのか。
4123にしたいときは1234の4を削除してカーソルを移動して再度4を入力することになる。
そんなことするくらいならはじめからF2を押せばいいとは思わないのかな。
463名無しさん@そうだ選挙にいこう:2009/04/19(日) 00:10:31
>>462
理解力を鍛えてからまたおいで。
君はこの話題に参加するにはまだ早すぎるようだ。
464名無しさん@そうだ選挙にいこう:2009/04/19(日) 00:11:02
エクセルを方眼紙にして文書作るような層に
「いちいちダブルクリックしたりF2押すの面倒だからどうにかしてよ」
って頼まれてるんだろうなというのが俺の精一杯の想像力です。
465名無しさん@そうだ選挙にいこう:2009/04/19(日) 00:20:12
ハイアンドローみたいだね 答えを出すたびに「もっと上」「もっと下」とかいわれてる気分
466名無しさん@そうだ選挙にいこう:2009/04/19(日) 00:34:23
wordでやれ、ってことか
467名無しさん@そうだ選挙にいこう:2009/04/19(日) 12:21:59
ランダムに上の行から日付を入力したのですが、
その日付順に上から並べるのはどうすればいいのでしょうか?

初歩的な事だとおもいますがお願いします・・
468名無しさん@そうだ選挙にいこう:2009/04/19(日) 12:24:46
469名無しさん@そうだ選挙にいこう:2009/04/19(日) 12:44:11
ありがとうございます。

もう一つ聞きたいのですが、 リターンを押すと下のセルに移ってしまうのですが、
隣のセルに移るようにはどうすれば良いでしょうか?

日付を入れたあと、AMかPMを入れる予定なので、リターン押したら
一度横のセルにカーソルが動いたあと、次のリターンで下のセルに移ることはできますか?
470名無しさん@そうだ選挙にいこう:2009/04/19(日) 13:02:29
>>469
ttp://www.nyumon.net/column/kn/index.html
なんか初心者向けの本買えば?
471名無しさん@そうだ選挙にいこう:2009/04/19(日) 14:07:00
>>469
エンターキーで右に移動するようにも設定できるけど
>一度横のセルにカーソルが動いたあと、次のリターンで下のセルに移ることはできますか?
て事であれば横移動にはTABキー使うのがいいよ
472名無しさん@そうだ選挙にいこう:2009/04/19(日) 21:46:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000〜2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】複数回払い

まず図を用意しました。
http://2sen.dip.jp/cgi-bin/upgun/up1/source/up26214.gif

上図のように、製品を複数回払いで購入したことを想定し、
発生月日時と総額、支払い回数を入力することで、
発生月から終了月までのセルへ、均等額が表示されるようにしたいと考えています。

この場合、どのような式を組むといいでしょうか。
アドバイスをください。
473名無しさん@そうだ選挙にいこう:2009/04/19(日) 21:46:47
SendKeyでF2
馬鹿じゃないのかっぴぴぴぴp
474名無しさん@そうだ選挙にいこう:2009/04/19(日) 22:03:34
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/zaimu.htm#pmt
>>472
E1=2009/4/1
F1=2009/5/1
E1F1選択して右にオートフィル
E1の書式設定に「mm"月"」
E2=($A2<=E$1)*(DATE(YEAR($A2),MONTH($A2)+$D2,0)>=E$1)*ROUNDDOWN($C2/$D2,0)
下と右にオートフィル
もし年度ごとに分けたい、とかの場合はC列から支払った金額・回数を最初に引いておくと良い
475名無しさん@そうだ選挙にいこう:2009/04/19(日) 22:04:34
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/zaimu.htm#pmt
は財務関数って奴で本当は恐らくこっちを使うんだろうけど、俺は使い方を知らない。スマン
知ってる人いたらこれで出す方法も教えて欲しい
476名無しさん@そうだ選挙にいこう:2009/04/19(日) 22:40:54
金利もない支払いで財務関数なんて関係ないだろ
477名無しさん@そうだ選挙にいこう:2009/04/19(日) 22:42:17
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 セルの結合 データ保持

http://2sen.dip.jp/cgi-bin/upgun/up1/source/up26216.gif

図のように、複数のセルのデータを一つにまとめるうまい方法はないものでしょうか・・・


似たような事例で、任意のセルに「=A1&A2&A3…」と入力すれば
選択されたセルのデータが結合されて一行で表示されるのは理解できました。

元データのセルの違いが改行として反映される方法がありましたらご教授願いたいと思います。
478名無しさん@そうだ選挙にいこう:2009/04/19(日) 22:52:33
>>477

なぜワープロ代わりにエクセルを使うの?
http://pc5.2ch.net/test/read.cgi/bsoft/961383630/

ワープロ代わりにExcel使うなハゲ!
http://pc5.2ch.net/test/read.cgi/bsoft/1025524380/

何でもかんでもExcelで資料作る奴
http://pc11.2ch.net/test/read.cgi/bsoft/1208509894/
479名無しさん@そうだ選挙にいこう:2009/04/19(日) 22:56:07
>>477
打った後でそのままワードにコピペすればいいよw
480名無しさん@そうだ選挙にいこう:2009/04/19(日) 23:17:28
>478 479

早速ありがとうございます。

すでに文章はテキスト化してあります。

問題をジャンル分けする際に、問題のセルの横にタグのような感じで数字を入力して
並べ替えを行うとあら不思議、問題がジャンル分けされて並んじゃいました!!
あとはコピーしてそのままWordにでも貼り付けてしまえば…問題集完成!!

などと考えていたのですが、難しいでしょうか。
481名無しさん@そうだ選挙にいこう:2009/04/19(日) 23:36:54
>>480

・改行したい位置に「CHAR(10)」を入れる
・「セルの書式設定」で、「折り返して全体を表示する」をチェック。

(例)sheet1のA1,A2,A3,A4,A5にデータが入っていて、A1が問題、A2-A5が答えとする。
それらをsheet2のA1に表示したい場合。

=Sheet1!A1& CHAR(10)&Sheet1!A2& CHAR(10)&Sheet1!A3& CHAR(10)&Sheet1!A4& CHAR(10)&Sheet1!A5
482481:2009/04/19(日) 23:39:12
書き忘れ。
CHAR(10)ってのはいわゆる「改行コード」の事。
数式入れるだけでは思うようには表示されないので、「折り返して全体を表示」を忘れずに。
で、今試したが、問題が長い場合など、列幅調整、高さ調整をしてからでないと表示が綺麗にならない可能性もあるかも。
483名無しさん@そうだ選挙にいこう:2009/04/19(日) 23:59:19
>>481
詳しくありがとうございます。
表示に関しては当方で気になるものはありませんでした。

仕事の効率あがりました。感謝いたします。
484名無しさん@そうだ選挙にいこう:2009/04/20(月) 00:51:29
本当に効率上がったのか????
485名無しさん@そうだ選挙にいこう:2009/04/20(月) 02:15:27
もともと効率が悪いんだろ
486名無しさん@そうだ選挙にいこう:2009/04/20(月) 07:52:38
>>478
社内文書みたいに定型化されたものは、ワープロで作成するよりエクセルの方が作りやすい。
487名無しさん@そうだ選挙にいこう:2009/04/20(月) 08:31:48
「ワードを使いこなせない人には」が抜けてるよ
488名無しさん@そうだ選挙にいこう:2009/04/20(月) 12:43:27
たしかに。実際ワードなんて使うことなくなったね。
489名無しさん@そうだ選挙にいこう:2009/04/20(月) 12:50:41
底辺企業ではそうなのか?
490名無しさん@そうだ選挙にいこう:2009/04/20(月) 13:22:45
今や上場企業も零細企業も紙一重
491名無しさん@そうだ選挙にいこう:2009/04/20(月) 14:36:32
そうでもないか
492名無しさん@そうだ選挙にいこう:2009/04/20(月) 14:59:15

教えてください。
ExcelのVBAを勉強しています。

プログラムを記述する際に、
VBAのエディター画面での、タブ(TAB)をTABのままにすることはできないでしょうか?

もう少し具体的に言いますと、
入力するときにTABキーを押すと、4スペース分が送られます。これはOKです。
ところが、修正する際に、さきほど入力したTABが、TABのままではなくて、スペース4個になってしまっています。
これをTABのままにすることはできないでしょうか?
通常のテキストエディターでは、TABはTAB、スペース4個はスペース4個のままで扱いやすいのですが。
493名無しさん@そうだ選挙にいこう:2009/04/20(月) 16:17:09
出来ません
494名無しさん@そうだ選挙にいこう:2009/04/20(月) 17:05:10
>>493
さっそくのご回答ありがとうございます。できないですか。残念です。
便利になると思ったのですが、残念でした。
ありがとうございました。

ところて、なぜできないようになっているのでしょうか?
Windows標準のメモ帳でさえ、TABをTABとして扱っているのに、
VBAのエディターでできない理由が、何かあるのでしょうか。

495名無しさん@そうだ選挙にいこう:2009/04/20(月) 17:20:32
俺はTABの扱いってどっちの方式が優れてるとも思わないけどなあ
なんつーかなあ、うまく説明出来ないんだが
496名無しさん@そうだ選挙にいこう:2009/04/20(月) 17:27:31
何でだろうね。そうなってるからとしか言いようがない
ttp://okwave.jp/qa1029548.html
shift+tabなんて操作もあるようです
497名無しさん@そうだ選挙にいこう:2009/04/20(月) 17:55:06
VBEがインデントを半角スペースに自動変換してくれるおかげで、
2chにコード貼るときに全角スペースでインデント出来る
498名無しさん@そうだ選挙にいこう:2009/04/20(月) 20:54:09
みなさん、ありがとうございました。
「そういう仕様」という感じですね。
どうもありがとうございました。
499名無しさん@そうだ選挙にいこう:2009/04/21(火) 05:13:32
VBAで↓見たいに変数定義してFor で
Dim A1 as Range
Dim A2 as Range

For n=1 to 2
500名無しさん@そうだ選挙にいこう:2009/04/21(火) 05:15:06
みすった
VBAで↓見たいに変数定義してForで繰り返して使うことできますか?
Dim A1 as Range
Dim A2 as Range

For n=1 to 2
 select case An
  An="〜"・・・
 End select
next
501名無しさん@そうだ選挙にいこう:2009/04/21(火) 05:21:59
forのなかでrangeに代入しなおしました。事故解決しました。
502名無しさん@そうだ選挙にいこう:2009/04/21(火) 16:02:01
配列…
503名無しさん@そうだ選挙にいこう:2009/04/21(火) 20:15:51
オブジェクト、プロパティ一覧の乗っているサイトを探しているのですが。
もしそんなサイトがあったら教えてください。
お願いします
504名無しさん@そうだ選挙にいこう:2009/04/21(火) 20:17:04
ヘルプに乗ってるのみた方が早いんじゃねーかそれは
505名無しさん@そうだ選挙にいこう:2009/04/21(火) 20:34:09
>>504
ヘルプだと
当を得ない説明が載ってるばかりで
どのオブジェクトにどのプロパティがあるのか
一覧にしてあるのを見たことがありません。
506名無しさん@そうだ選挙にいこう:2009/04/21(火) 20:36:51
きっと、探し方が悪いのでしょうね。
生活のために仕方なくやりたくもない仕事しているという方は、たいていそう言います。
507名無しさん@そうだ選挙にいこう:2009/04/21(火) 20:43:09
さすが 無職はいうことがちがう
508名無しさん@そうだ選挙にいこう:2009/04/21(火) 20:59:25
ヘルプってOffice97とかの頃の方が使いやすかったな・・・
509名無しさん@そうだ選挙にいこう:2009/04/21(火) 21:41:12
>>505
「オブジェクト、プロパティ」ってことはVBAだよね?

VBAのオブジェクト構造なら付属のオブジェクトブラウザで見れる
説明に関しては、あまり親切とは言えないかもしれないが
あれで理解できる奴も居る以上、理解力の問題とも言える

俺はExcelのVBA以外に関しては本も買ったしググったりもするが
VBAに関しては本にもWebにもほとんど頼らずに、付属ヘルプの情報だけで
社内でVBA含むExcelに指導役やるくれいのレベルにはなれたよ

そもそも>>2・Bがあるので、そういう質問はスレ違いだしな
510名無しさん@そうだ選挙にいこう:2009/04/21(火) 21:46:57
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード     】 エクセル シート名 コピー

在庫管理表を作成中ですがシート間のコピーのやり方がイマイチ?です。
    A     B   C
         入庫 出庫   (4/1)   ※シート1
3 TH-L17F1
4 TH-L32G1                  ←の様なシートが1ヵ月分あります
5 TH-L32V1

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  A   B   C   D    E   F   G     H   I    G
     TH-L17F1 繰残   TH-L32G1 繰残   TH-L32V1  繰残
     入庫 出庫 在庫  入庫 出庫 在庫   入庫 出庫 在庫   ※シート2
4 4/1
5 4/2                                           ←1ヵ月分をまとめた入出在庫推移表です
6 4/3                                             

シート2のB4に=H21年4月1日!B3 シート2のF4に=H21年4月1日!C4
シート2のB5に=H21年4月2日!B3 シート2のF5に=H21年4月2日!C4
シート2のB6に=H21年4月3日!B3 シート2のF6に=H21年4月3日!C4

シート2のB列を確定させてC、D、E、F・・・・にコピーしたいのですが、セル値(入庫:B 出庫:Cの繰り返し)が上手くいきません
良い方法がありませんか?



511名無しさん@そうだ選挙にいこう:2009/04/21(火) 23:28:45
>>510
一つのブック「入出庫在庫推移表.xls」(仮称)があって、その中に
「H21年4月1日」〜「H21年4月30日」まで、計30枚(月によって28〜31枚)
のシートが存在し、それに加えて「一ヶ月合計の推移表」シート(仮)がある
ということ?

シート1、シート2と便宜上呼んでいながら、「シート2のB4に『=H21年4月1日! 』」
と、いきなり「H21年4月1日」というシート名を出されても話がややこしくなると
思いますよ。
512名無しさん@そうだ選挙にいこう:2009/04/21(火) 23:59:40
あ〜、3D参照で推移表に合計を出したいのかと誤解してたw
要は、「一個一個を数式入力するのが面倒だから、コピペで済ませたいけど、
ずれてしまうから困ってる」って事ですねw

F4使って絶対参照や複合参照にするなど工夫して、少しでも手を抜く事は
可能かもしれませんが、基本的には「参照元と参照先の表の配置がバラバラ」
なわけで、それを規則的に一発でコピペで済ませるのは難しいような。

他の方にお任せしますorz
513名無しさん@そうだ選挙にいこう:2009/04/22(水) 01:00:38
>>503
クラスの一覧はここにある
ttp://msdn.microsoft.com/ja-jp/library/microsoft.office.tools.excel(VS.80).aspx
514名無しさん@そうだ選挙にいこう:2009/04/22(水) 01:27:54
>>510
頭にシングルコーテーションをつけて
'=H21年4月1日
をオートフィルすれば?
で、B3なりC4は&(アンパサンド)でくっつけたあとデータ→区切り位置で式に戻す。
515名無しさん@そうだ選挙にいこう:2009/04/22(水) 02:46:08
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 エクセル チェックシート セル、同じ内容 順番



Excel2007の質問です

一枚のシートにExcelで1〜500行までバラバラに入力したため見にくいみたいです

見やすいようにセル内の内容が同じものを順番に、まとめたいです
日付けが同じ物、住所が同じ物同士で固めて表示したいです

例えば1と4と7の行が似ている内容で順番を変え1、2、3や8、9、10のように続けて載せるのは出来ますか?

1、ねこ うさぎ うま
2、イルカ
3、羊
4、ねこ うさぎ うま
5、羊
7、ねこ うさぎ うま

1、ねこ うさぎ うま
2、ねこ うさぎ うま
3、ねこ うさぎ うま
4、羊
5、羊
どのようにすればいいか詳しく教えてください
お願いします
516名無しさん@そうだ選挙にいこう:2009/04/22(水) 02:47:36
>>515
並べ替え(ソート)
517名無しさん@そうだ選挙にいこう:2009/04/22(水) 02:51:53
範囲指定して並べ替え選べばいいのでは
518名無しさん@そうだ選挙にいこう:2009/04/22(水) 07:30:16
ネタでないなら
後学のために、
エクセル 並べ替え 等のやりたいことをキーワードとして
google で 検索することを覚えると有意義かもしれません。
519名無しさん@そうだ選挙にいこう:2009/04/22(水) 07:37:22
初心者は何でもいいから本一冊最初から最後まで読んだ方がいいかもね
ダイソーのエクセル初級本マジでオススメ。100円。
>>510
B4=INDIRECT("H21年4月"&ROW()-3&"日!B3")
下にオートフィル
520名無しさん@そうだ選挙にいこう:2009/04/22(水) 09:18:08
けっこう前から探してるんだけど、
ダイソーの100円参考書、うちの地区じゃ売ってないんだよ。
521名無しさん@そうだ選挙にいこう:2009/04/22(水) 09:52:34
ttp://page7.auctions.yahoo.co.jp/jp/auction/g68176470
ヤフオクだと4冊セットで100円だった
522名無しさん@そうだ選挙にいこう:2009/04/22(水) 13:06:32
100円本は大した事書いてないから
探す暇あるならExcelいじって試行錯誤して分からない事はググった方が手っ取り早いよ
523名無しさん@そうだ選挙にいこう:2009/04/22(水) 13:13:29
大した事ない事でも初心者にとっては大事だったりするわけです
524名無しさん@そうだ選挙にいこう:2009/04/22(水) 13:39:49
すぐに覚える機能でもその機能の概念自体がない場合もあるからな
顕著な例が>>515だろう
そういうのはエクセル初心者というよりPC初心者ってほうが正しい気もするが
525名無しさん@そうだ選挙にいこう:2009/04/22(水) 20:58:25
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 エクセル URL 分離


文字にURLデータ属性が含まれてるものを、文字とURLに分離させたいのですが
どうやったらいいんでしょう?


526名無しさん@そうだ選挙にいこう:2009/04/22(水) 21:08:43
FINDかSUBSTITUTEか
527名無しさん@そうだ選挙にいこう:2009/04/22(水) 21:26:50
>>525
どんな風に含まれてるのかで違う
528名無しさん@そうだ選挙にいこう:2009/04/22(水) 21:31:10
【1 OSの種類         】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 上書き コピー

Sheet1のA2には管理用の数字が入っているとします。で、Sheet1のB2からE2には文字列が入っているとします。
Sheet2にはA列には管理用の数字が入っているとします。で、Sheet1のB列からE列には文字列が入っているとします。
SheetA2に入っている数字とSheet2のA列の同じ数字を検索してその数字の行のB列からE列の値をSheet1のB列からE列の値で上書きしたいのです。
ただし、Sheet2のA列の数字は上書きせずにそのままにしておきたいのです。
ユーザーフォームのボタンをクリックすると以上の上書き作業をおこなうようにするにはどのようにしたらよろしいでしょうか?


【Sheet1】
    A       B       C       D       E
1   管理番号   メーカー    年式     ミッション    色
2    3      ホンダ     13年     オートマ     シルバー


【Sheet2】
    A       B       C       D       E
1   管理番号   メーカー    年式     ミッション    色
2   
3    1      トヨタ     15年     オートマ     赤
4    2      日産      13年     オートマ     青
5    3      ホンダ     12年     オートマ     黄色
6    4      三菱      11年     5速       緑
7    5      マツダ     10年     オートマ     白
 
529528:2009/04/22(水) 21:34:11
Sheet1のB列からE列の値で上書きしたいのです

Sheet1のB2からE2の値で上書きしたいのです

に変更します。すいません。
530名無しさん@そうだ選挙にいこう:2009/04/22(水) 21:41:22
> 【3 VBAが使えるか    】 いいえ
な人にユーザーフォームの使い方教えるのは面倒なんだよな

つーか、【Sheet1】をそのままユーザーに移植したいってならまだしも
シート対シートでやるなら、ボタンはユーザーフォーム上ではなくシート上で良いのでは?
531528:2009/04/22(水) 21:51:55
>>530

そうですね・・・
ではユーザーフォームの話はなしにしてシート上のボタンということでも結構です。

なぜユーザーフォームなのかについてはSheet1の2行目の値はユーザーフォームによって入力されるからです。
で、できればユーザーフォーム上で完結したいと思った次第です。。。
532名無しさん@そうだ選挙にいこう:2009/04/22(水) 21:53:18
>>525
できるよ。
以上。
↓次どうぞ
533名無しさん@そうだ選挙にいこう:2009/04/22(水) 22:03:00
> なぜユーザーフォームなのかについてはSheet1の2行目の値はユーザーフォームによって入力されるからです。
なんでそういう情報後出しするの?

だったらSheet1全く要らないじゃん

それに
> 【3 VBAが使えるか    】 いいえ
な人が、なんでユーザーフォーム使ってるの?
534名無しさん@そうだ選挙にいこう:2009/04/22(水) 22:11:22
>>525
ハイパーリンクってことか?
VBAじゃなきゃ無理
535名無しさん@そうだ選挙にいこう:2009/04/22(水) 22:14:48
>>528
SheetA2
とは新しいシート?それとも打ち間違い?
536名無しさん@そうだ選挙にいこう:2009/04/22(水) 22:15:37
>>528
あと数字が無い場合の処理は
537528:2009/04/22(水) 22:32:14
>>533
VBAが使えるかどうかは程度の問題でほとんど使えないに等しいです。
ここで使えるとか書くと余計にはまります。
試行錯誤の上でユーザーフォームで入力した値をシート上に打ち出せるようになりました。
後出しになるかといえばそうなのかもしれませんが、ユーザーフォーム云々はこの話とはまったく関係ない話だと思いましたもので。
たまたまユーザーフォームと書いてしまいましたが、必要な情報はユーザーフォームがどうのこうのではなくボタンをクリックしたら上書き作業が行われるというVBAの文章をどうしたらよいのかということです。
すべてをお話しするとなるといろんな事情がからみあいますのでとてつもない量を書き込まないといけません。
文章がへたで意味が通じないかもしれませんがすいません。
ぜひともよろしくお願いします。


>>535
Sheet1のA2でした。すいません。。。

>>536
数字が見つからなかった場合には「数字が見つかりません」というエラー表示を出したいです。
538名無しさん@そうだ選挙にいこう:2009/04/22(水) 22:47:51
>>537
Sheet2でFind
Findの戻りがNothingだったら「数字が見つかりません」
Findの戻りがRangeだったらそこからOffset(, n)に値を書き込み
nが1ならB列、2ならC列になる

これで解らなかったらブックうp

ブックうp出来ないならさようなら
539名無しさん@そうだ選挙にいこう:2009/04/22(水) 23:14:31
>>528
Sub Macro1()
g = Sheets("Sheet2").Range("A65536").End(xlUp).Row
a = Sheets("Sheet1").Range("a2").Value
Sheets("Sheet2").Select

For i = 1 To g
If Cells(i, 1).Value = a Then
Range("b" & i).Value = Sheets("Sheet1").Range("b2").Value
Range("c" & i).Value = Sheets("Sheet1").Range("c2").Value
Range("d" & i).Value = Sheets("Sheet1").Range("d2").Value
Range("e" & i).Value = Sheets("Sheet1").Range("e2").Value
End
End If
Next
MsgBox "管理番号なし"
End Sub

だんだんめんどくさくなってきた・・・けど動くだろう
変数iをcellsの引数に入れるんだ。これを覚えればたいていのことはできるようになる
540名無しさん@そうだ選挙にいこう:2009/04/22(水) 23:25:56
ネタ?ボケ?騙し?
541528:2009/04/22(水) 23:29:03
>>539

ありがとうございます。
面倒なことをさせてしまったようで申し訳ないです。

変数iをcellsの引数に入れる・・・なんかすごく難しいんですが、理解できるように勉強します!
動作を確認してみます。
542名無しさん@そうだ選挙にいこう:2009/04/22(水) 23:30:58
ボタンだっけ
フォームにボタン配置してボタンダブルクリックして
command〜
とか出るからSub Macro1() と最後のEnd Sub を消して中にコピーペースト
寝る。また明日
543528:2009/04/22(水) 23:41:56
>>538
まったくわかりません・・・
が、いろいろと情報をあつめてちょっと理解を試みてみます。
ありがとうございました。
544528:2009/04/23(木) 00:56:35
>>539
ちゃんと思い通りに動きました!
素晴らしいです。
大変お疲れのところ本当にありがとうございました!
545名無しさん@そうだ選挙にいこう:2009/04/23(木) 01:41:45
【1 OSの種類         】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 条件

60以上の数値を入力した場合、そのセルに60が表示されるようにしたいのですがどうすればよいのでしょうか?
よろしくお願いします。
546名無しさん@そうだ選挙にいこう:2009/04/23(木) 01:44:25
60以上を入力出来なくするなら入力規則
60以上を入力したら、入力セルの値を自動的に60に書き換えるならVBA必須
入力セルと表示セルが別で、入力セルに60以上が入力されても表示セルは60とするならIF関数かMIN関数

以上
547名無しさん@そうだ選挙にいこう:2009/04/23(木) 01:56:23
>>546
VBAが必須なんですね。VBAを勉強してみます
どうもありがとうございました
548名無しさん@そうだ選挙にいこう:2009/04/23(木) 06:31:43
>>547
60をデフォで入力しておき
入力規則で60以下に制限。
ま、ポップアップが面倒で、キャンセルも面倒ですがね。
間違いはなくなるでしょう。
549名無しさん@そうだ選挙にいこう:2009/04/23(木) 07:33:04
>>545
普通は隣のセルに=if(a1>=60,60,a1)
って感じで入力する
550名無しさん@そうだ選挙にいこう:2009/04/23(木) 07:40:00
>>545
計算にはそのままでは使えないが、表示するだけなら簡単だね。
表示形式を[>=60]"60";G/標準などとすればいい。
551545:2009/04/23(木) 08:41:42
>>550でうまくいきました。ほんとにありがとうございました!
552名無しさん@そうだ選挙にいこう:2009/04/23(木) 08:56:42
おい、大丈夫か?
553名無しさん@そうだ選挙にいこう:2009/04/23(木) 09:09:15
>>551
A1に100と入れて60と表示されても、A1-50では50になるぞ
気をつけなよ
554名無しさん@そうだ選挙にいこう:2009/04/23(木) 09:33:07
値は伴わなくても良いって話だったのか?
555名無しさん@そうだ選挙にいこう:2009/04/23(木) 16:53:01
ある人からもらった資料でlookupの前に+が付いていたんですがこのプラスはどういう意味ですか?
556名無しさん@そうだ選挙にいこう:2009/04/23(木) 16:59:51
=の代わり
557名無しさん@そうだ選挙にいこう:2009/04/23(木) 17:02:44
3+lookup(・・・
だとlookupで検索した値と3を足す
558名無しさん@そうだ選挙にいこう:2009/04/23(木) 17:31:44
古いソフトの名残だな。年輩の人は+を使うイメージ。
559名無しさん@そうだ選挙にいこう:2009/04/23(木) 17:57:16
確かに+の前に数値を入れたらその分だけプラスになりました。
初めて知りましたがこのやり方は常識なんですか?
ネットで調べても出て来なかったんですけど?
560名無しさん@そうだ選挙にいこう:2009/04/23(木) 18:13:58
>>559
"Excel 四則演算"とか"Excel 加減乗除"とかでぐぐると色々出てくるよ。
算数や数学で書くような書き順で数式を入力すれば
その通りの計算をしてくれるというだけで特に難しい話じゃないよ。
561名無しさん@そうだ選挙にいこう:2009/04/23(木) 18:47:51
なるほどね。。。
どうも有難うございました。
562名無しさん@そうだ選挙にいこう:2009/04/23(木) 19:39:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 リンク貼り付け、空白

シートのあちこちにあるデータを使って、折れ線グラフを作りたいのです。
そのままデータ選択をしていくと、複雑すぎてダメと言われます。
リンク貼り付けでデータを1列に並べてグラフを作ると、ほぼ出来上がるのですが、
元データが空白の所が、グラフでは0になってしまいます。
折れ線グラフが途切れてほしいのですが、0でつながってしまいます。
何とかならないでしょうか?
563名無しさん@そうだ選挙にいこう:2009/04/23(木) 19:41:38
=na()
=n()
どっちか入れるとまっすぐになったと思う
564名無しさん@そうだ選挙にいこう:2009/04/23(木) 20:22:56
A列に日付型で
2001/01/01
2005/12/11
2002/07/27

とあるとして
その列ので最初の4文字が2001だけのデータの合計を出したい場合どうすればいいのでしょうか?
おそらく
=COUNTIF(A1:A65535,2001)
=LEFT(A1,4)
これらの組み合わせだと思うのですが
どうしてもうまくいかないので教えてください

また、ちなみにLEFT(A1,4)にすると3713みたいに
標準形式での数値が出力されますので2001とは呼んでくれないようです
565名無しさん@そうだ選挙にいこう:2009/04/23(木) 20:30:52
>>564
B1=IF(YEAR(A1)=2001,A1,"")
C1=sum(B:B)

b1=year(a1)
c1=COUNTIF(b:b,2001)
など
A1の内部データは36892、見かけ上2001/1/1になってるだけ
566名無しさん@そうだ選挙にいこう:2009/04/23(木) 20:31:23
C列に合計する数値があるとして、B列に年だけだしておく =YEAR(A1)
=SUMIF(B1:B100,2004,C1:C100)
567565:2009/04/23(木) 20:36:13
6行目はミスですごめんなさい
カウントしてんじゃねーよな
568名無しさん@そうだ選挙にいこう:2009/04/23(木) 20:38:58
作業列を作っていいなら、>>564-565の方法で良いでしょうね。

途中までなので役に立たないですが、「2001を出力」だけで良いなら
回りくどいですがB1に

=LEFT(TEXT(A1,"yyyy/mm/dd"),4)

とかもあります。
(TEXT関数で2001年1月1日を文字列にし、yyyy/mm/ddの表示形式で表示した上で、
LEFT関数で最初の4文字を取り出し)

ただ、ここからCOUNTIFにネストする方法はわかりません、スマソorz
569名無しさん@そうだ選挙にいこう:2009/04/23(木) 20:40:53
どうもです
570名無しさん@そうだ選挙にいこう:2009/04/23(木) 21:26:41
西暦を取り出すだけなら
=YEAR(A1)
571名無しさん@そうだ選挙にいこう:2009/04/23(木) 21:41:46
A1の値がB1〜B100の間にある値に一つでも一致する値があればC1に○、
一致するものがなければ×
これってわかるでしょうか?
572名無しさん@そうだ選挙にいこう:2009/04/23(木) 21:55:42
>>571
=IF(ISERROR(VLOOKUP(A1,B1:B100,1,0)),"×","○")
とか
573名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:03:40
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

オートフィルについてです

シート1で入力、シート2以降にシート1のデータを反映させたものを表示するとします

シート2のB2に=COUNTIF('Sheet1'!A2:E22,"リンゴ")
シート2のB3に=COUNTIF('Sheet1'!A23:E43,"リンゴ")
シート2のB4に=COUNTIF('Sheet1'!A44:E64,"リンゴ")
(列は変わらず、行数は+21)

このようにオートフィルでするにはどうすれば良いのでしょうか?
(オートフィルさせても
シート2のB2=COUNTIF('Sheet1'!A2:E22,"リンゴ")
シート2のB3=COUNTIF('Sheet1'!A3:E23,"リンゴ")
シート2のB4=COUNTIF('Sheet1'!A4:E24,"リンゴ")
に、なってしまいます)

よろしくお願いします

574名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:09:37
>>573
そういうのはオートフィルでは無理。
作業列を使うか数式を工夫するか。
575名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:10:00
Aセル、Bセルにそれぞれ
1926/12/25、1989/01/07
とあった場合、死亡時の年齢を出したい
1926/12/25、なし
とあった場合、今現在の年齢を出したい
1873/05/04、1917/12/22
とあった場合、1900年以前の場合でも計算して死亡時の年齢を出したい

お願いします
576名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:12:07
577562:2009/04/23(木) 22:15:32
>>563
もう少し詳しくお願いします
578名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:19:34
>>572
ありがとう
基本的にそれでいいと思うんだけど
でもセルをコピーしたら
=IF(ISERROR(VLOOKUP(A12,B2:B101,1,0)),"×","○")
と動いてしまうんだよなぁ
1,2だったらいいけど100行とかあれば苦しいし
579名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:22:37
>>578
「$b$2:$b$100」

「絶対参照」でググッてみましょう
580名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:26:02
>>577
563じゃないけど

リンク貼り付けするとき、リンク貼り付けじゃなくて、
=if(A1="",NA(),A1)
みたいにすると、空欄のところにエラー値が出る。
このエラーは、グラフでは無視されるので、0じゃなくて途切れると思う。
581573:2009/04/23(木) 22:29:31
>>574
>作業列を使うか数式を工夫するか。

作業列を使う場合、具体的にはどうすれば良いのでしょう?
オートフィルを使わなくとも、作業が簡易化さえしてくれれば・・・、
と、思います。

582579:2009/04/23(木) 22:30:09
$B$1:$B$100
だった、スマソorz
583名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:35:05
>>573
とりあえずのやり方だけど、C列〜E列が仮にあいてるとして、
↓ 「=」でなく「A=」として式を分解する。

C1 A=COUNTIF(Sheet1!A2
C2 A=COUNTIF(Sheet1!A23

D1 :E22,"リンゴ")
D2 :E43,"リンゴ")
↑これで、必要な列までオートフィル。

E1 =C1&D1  で、
E1 は A=COUNTIF(Sheet1!A2:E22,"リンゴ") と表示される。
E列をコピーして、B列に形式を選択して貼り付け で 値 で貼り付け。
B列の 「A=」を「=」 に置換。
584名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:42:26
>>583
ありがとう
明日、職場で試してみます
585562:2009/04/23(木) 22:46:37
>>580
ありがとうございます。
やってみました。エラー値になりますが、
グラフはリンク貼り付けと同じ結果になりました。
586名無しさん@そうだ選挙にいこう:2009/04/23(木) 22:52:22
フィルタで抽出した行(100行ほど)なんですが
これをすべて削除しようとしたら20秒ぐらいかかってしまいます
これって仕方ないんでしょうか?
587名無しさん@そうだ選挙にいこう:2009/04/23(木) 23:36:57
>>586
複雑な式が入ってると時間がかかるようになる
再計算を手動にする
588名無しさん@そうだ選挙にいこう:2009/04/24(金) 00:01:06
>>585
同じになる?無視されず0が入るってこと?
589名無しさん@そうだ選挙にいこう:2009/04/24(金) 00:14:39
>>588
0にはならないけど、空白にもならず繋がっちゃうんじゃないかな。
>>562の希望は、途切れさせたいんだろ。

途切れさせたいなら本当に「空白セル」じゃないと無理じゃないのかな…
エラーの出てるセルを、ジャンプとかで選択して一気消しとか、
あるいはマクロを使うしかないと思う。
ただし2007で設定が増えてたら知らないけど。自分は2003しか持ってないから。
590562:2009/04/24(金) 00:27:50
みなさん、ありがとうございます。
>>588
はい。#N/Aになりますが、グラフでは0の扱いらしく、折れ線グラフがつながってしまいます。
家では2003なので、明日職場の2007で試してみます。
>>589
マクロですか。頑張ってみます。
591名無しさん@そうだ選挙にいこう:2009/04/24(金) 01:45:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル シフト表 夜間

すみません夜間のシフト表を作りたいと思うのですがセルを選択して
条件付き書式から「次の数式を満たす場合に値を書式設定」で
セルD2に =AND($B2<=D$1,$C2>=E$1)
と入力してセルD2を書式のみ他のセルにコピーして
開始時間「B2」終了時間「D2」に値を入れることにより
行の塗りつぶしのグラフを作成したいと思っています。が、日中帯は表示されますが
24時を過ぎると表示されません…どうしたらいいでしょうか…
22:00〜3:00、20:00〜4:00など0時を過ぎる時間帯を横にグラフで表したいと思っています。
よろしくおねがいします。
592名無しさん@そうだ選挙にいこう:2009/04/24(金) 02:16:48
>>591
D1は0:00?1:00?
593名無しさん@そうだ選挙にいこう:2009/04/24(金) 02:42:42
とりあえず、条件付き書式じゃなくて数式で。
=IF(HOUR($B2)<HOUR($C2),IF((HOUR($B2)<=HOUR(D$1))*(HOUR(D$1)<HOUR($C2)),"■",""),IF((HOUR(D$1)<HOUR($C2))+(HOUR($B2)<=HOUR(D$1)),"■",""))
これでいいの?
ttp://windyakin.if.land.to/src/up38_1179.png
594名無しさん@そうだ選挙にいこう:2009/04/24(金) 02:47:23
ちなみに22時を「22:00」じゃなくて「22」とだけ入れるようにすれば
もっと式が短くなるけどね
595名無しさん@そうだ選挙にいこう:2009/04/24(金) 03:33:24
起動したら特定のシートを表示させるのはできますか?
今は起動→新規シート→邪魔なので消す→履歴から選択して表示してます
面倒くさい
596名無しさん@そうだ選挙にいこう:2009/04/24(金) 04:13:51
>>595
つ 最近使ったファイル
597名無しさん@そうだ選挙にいこう:2009/04/24(金) 06:28:53
>>558
俺は、テンキー一発だから、+派かな
598名無しさん@そうだ選挙にいこう:2009/04/24(金) 07:28:28

>>592
D1は例えば18:00の値が入ります。

>>593
ありがとうございます。やってみます。
599名無しさん@そうだ選挙にいこう:2009/04/24(金) 07:50:49
>>573
=COUNTIF(INDIRECT("Sheet1!A"&2+(ROW()-2)*21&":E"&22+(ROW()-2)*21),"リンゴ")
下にオートフィル
>>574
勝手に決め付けるんじゃないよ
600名無しさん@そうだ選挙にいこう:2009/04/24(金) 08:00:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 月数計算 表示 形式

セルA1 H21.4.24
セルA2 H21.8
という違った形式の日にちが入力されている場合
セルA3に3(ヶ月)と表示したいのですが、どのようにしたらよろしいでしょうか?
601名無しさん@そうだ選挙にいこう:2009/04/24(金) 08:13:07
>>600
おそらくA2のほうが、日付と認識されてないと思うので厳しいな。
必ずA2がその形式なんだったらいいけど、どうせばらばらに色々なんだろうし。

もし、A2が表示形式でそうなってるだけで、中身はちゃんと日付と認識されてるようなら

A3に
=month(A2)-month(A1)

年をまたがるようだったら、
=(YEAR(A2)-YEAR(A1))*12+MONTH(A2)-MONTH(A1)

でいけると思うんだが…。
602名無しさん@そうだ選挙にいこう:2009/04/24(金) 08:42:51
EXCEL2007,Vistaです。

タイトルのついていないグラフにタイトルをつけたいのですが、
どうすれば、タイトル設定画面を表示できるのでしょうか

よろしくお願いします

603名無しさん@そうだ選挙にいこう:2009/04/24(金) 08:49:45
>>600
A2の日付を1日として見ていいのかな
=DATEDIF(A1,DATE(MID(A2,2,2)+1988,RIGHT(A2,LEN(A2)-FIND(".",A2)),1),"m")
>>601テキトーに回答しない
604600:2009/04/24(金) 08:59:29
>>601
ありがとうございます。
やってみましたが、やはり#VARUE! エラーが出ます。
A2の形式はH21.8となっていて日にちまでは入力していませんが、必ずH21.8の形式にはなってます。

これを無理やりH21.8.31とかにすることはできればよいのでしょうけど・・・
あとは日にちの入力ですよね。。。
605600:2009/04/24(金) 09:05:43
>>603

見事にできました!!!
ありがとうございます!
これでゆっくり寝れます
回答していただいていて気づきませんでした。

ありがとうございました!!
606名無しさん@そうだ選挙にいこう:2009/04/24(金) 09:34:01
>>575
=DATEDIF(
IF(NOT(ISERROR(FIND("/",A1))),DATE(LEFT(A1,4)+2000,MID(A1,FIND("/",A1)+1,FIND("/",A1,6)-FIND("/",A1)-1),1),A1),
IF(b1="なし",NOW(),
IF(NOT(ISERROR(FIND("/",b1))),DATE(LEFT(b1,4)+2000,MID(b1,FIND("/",b1)+1,FIND("/",b1,6)-FIND("/",b1)-1),1),
IF(NOT(ISERROR(FIND("/",A1))),DATE(YEAR(b1)+2000,MONTH(b1),DAY(b1)),b1))),"y")

VBAだと一行なんだけどね・・
607名無しさん@そうだ選挙にいこう:2009/04/24(金) 12:09:50
>>602
タイトルを付けたいグラフをクリックするとメニューバーの右端に
デザイン レイアウト 書式
ってのが出てくるから右から2番目のレイアウトを選んでグラフタイトル
ttp://tomiya.bne.jp/cgi-bin/upup/src/myg_l1062.jpg
608名無しさん@そうだ選挙にいこう:2009/04/24(金) 14:36:00
Vbaの記述で質問です
三行
a+bが2か3の時かつ、a(i, j) = 1の時に真としたいのですが、
以下の文だとa+bが3の時にしか真になりません
どういう風に記述したらいいでしょう?
a+b = (2 Or 3) And (a(i, j) = 1) Then
609名無しさん@そうだ選挙にいこう:2009/04/24(金) 15:32:35
c=a+b
(c = 2 or c= 3) And (a(i, j) = 1) Then
610名無しさん@そうだ選挙にいこう:2009/04/24(金) 15:53:03
>>609ありがとー!
611名無しさん@そうだ選挙にいこう:2009/04/24(金) 16:54:27
【1 OSの種類         .】 Windows Vista Business
【2 Excelのバージョン   】 Excel 97 SR-1
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

今回ノートパソコンを購入。Excel 97をインストール。
新しいエクセルのファイルを作成、新規マクロを作ろうとすると、
「記録できません。」と表示されて、新マクロ名を登録できない。
前のパソコンで作ったマクロ入りのEXCELでは、新マクロを登録できる。
解決方法を教えてください。よろしく。

612名無しさん@そうだ選挙にいこう:2009/04/24(金) 17:07:29
4649-!
613602:2009/04/24(金) 17:34:13
>>607
レスありがとうございます。
コンテキストメニューには出てこないんですね。
614名無しさん@そうだ選挙にいこう:2009/04/24(金) 17:54:08
ISREF関数ってどうゆう場面で使うんですか?
615名無しさん@そうだ選挙にいこう:2009/04/24(金) 18:11:40
オートフィルしてはみ出す場合とか、かねぇ
616名無しさん@そうだ選挙にいこう:2009/04/24(金) 18:56:19
>>609-610
ちょっとマテ
変数aの型はなんだ
617名無しさん@そうだ選挙にいこう:2009/04/24(金) 18:58:47
質問させてください。

  A列 B列 C列
1行 あ  A  10
2行 い  B  15
3行 う  A  10
4行 あ  B  20
5行 あ  B  15

A合計 20
B合計 50
全合計 70

こんなデータがあり、A列をオートフィルタで「あ」だけを抽出した後
全合計はSUBTOTALで「あ」だけの合計を求められるのですが、
SUMPRODUCT((B1:B5="A")*(C1:C5))で抽出しているA合計がフィルタを掛けた後
変化してくれません、可視状態の物だけ集計するにはどうしたらいいでしょうか?
618名無しさん@そうだ選挙にいこう:2009/04/24(金) 19:17:05
SUBTOTALでいいやん 引数がちがうんだったかな
619名無しさん@そうだ選挙にいこう:2009/04/24(金) 19:45:35
>>616
すいません、aは配列で、a+bはもともと違う式でした(d+eみたいな)
お騒がせしました
620名無しさん@そうだ選挙にいこう:2009/04/24(金) 20:00:58
>>617
=SUMPRODUCT((A1:A5="あ")*(B1:B5="A")*(C1:C5))
オートフィルタで可視状態か否か、が分かれるのはSUBTOTALだけだったと思う
D1=IF(B1="A",C1,"")
で下にオートフィル、
E1=SUBTOTAL(9,D1:D5)
とかが現実的かなぁ
621名無しさん@そうだ選挙にいこう:2009/04/24(金) 20:40:36
Excelのデータで
A列の同じ値のデータをすべて削除という処理なんですが
現状VBAで
A列で並び替える
if文でA列の上下を比較して同じだったらC列に○をつける
フィルタをかけてC列が○の行だけを表示
すべて選択して削除
元に戻す

こういうやり方をやっているのですが
どうしても時間がかかってしまいます(だいたい20秒ほど)
これ以外にうまいやり方ってないものなんでしょうか?
622名無しさん@そうだ選挙にいこう:2009/04/24(金) 20:58:06
>>621
オートフィルタのフィルタオプションで重複するレコードは無視するにチェック
コピー、貼り付けが早いかな

最終行を調べて
A1の値をA2、A3・・A最終行と調べて同じならClearContents(deleteキーの操作)
A2の値をA3、A4・・A最終行
で、並べ替えとか

配列が一番早いだろうけどさすがにこんなところで使うのもな
勉強がてら覚えるのもいいかもしれないけど

ともかく折角のVBAだし、作業列使うのはなるべく避けよう
623名無しさん@そうだ選挙にいこう:2009/04/24(金) 21:27:45
2007に重複データの削除ってのがあるが、これってひどいバグがあるんじゃね?

A1
A2
A3
.
.
.
A200000

みたいなユニークなデータを作って重複データの削除を実行すると重複データがなくてもかなりのデータが削除される。
ひでーなこりゃ。

A000001
A000002
A000003
.
.
.
A200000
みたいなデータだと正常みたいだが。
624名無しさん@そうだ選挙にいこう:2009/04/24(金) 21:41:10
「重複データの削除 バグ 2007」でググってみたら既知のバグらしいね。
今まで知らなかった。
625名無しさん@そうだ選挙にいこう:2009/04/24(金) 21:55:42
何が削除されるのか調べてみた。
A1
A2
A3
.
.
A1999
A2000

みたいな2000行のユニークなデータだとA1930〜A1939の10個のデータがごっそり削除されるたw
626名無しさん@そうだ選挙にいこう:2009/04/24(金) 22:15:04
えー!ヒドス。2007は糞だな。
627名無しさん@そうだ選挙にいこう:2009/04/24(金) 22:24:00
>>625のデータの右側に=RAND()としてこの作業列をキーにランダムに並べ替えてから実行すると、"A193"の1個だけ削除された。
"193"って文字列が鍵を握ってるのか?
でもランダムに並べ替えない>>625のデータのままでは"A193"は削除されなかったな。
628名無しさん@そうだ選挙にいこう:2009/04/24(金) 23:29:18
A列に誕生日
B列に死亡日
があった場合年齢を計算する時に
Datedefを使うと思うのですが

A列の値が1900年以前だった場合
どうすればいいのでしょうか?
200年プラスして計算って事ですが、いまいちやり方がよくわからないので
教えて下さい

またそれを他の計算用のセルを使わずに関数内だけで組み合わせて
年齢を求めることって可能なんでしょうか?
多少複雑になってもかまいませんが
629名無しさん@そうだ選挙にいこう:2009/04/24(金) 23:33:59
>>628
ガイシュツ

>>575>>606
630名無しさん@そうだ選挙にいこう:2009/04/24(金) 23:44:15
ちなみにそれ2000年プラス
631573:2009/04/25(土) 00:18:13
>>599
思い通りにいきました
ありがとう
632名無しさん@そうだ選挙にいこう:2009/04/25(土) 03:16:12
ガイシュツってすげー久しぶりに見たな
633名無しさん@そうだ選挙にいこう:2009/04/25(土) 15:22:45
【XP/Excel2007/VBA×】

数千件のデータがあり、それぞれに名前データを含んでいます。
各行について「=COUNTIF(名前の列,その行の名前)」のセルを設けて、その名前が何件あるかを数えて、おおむねうまく機能しているのですが、
実際の名前データは下のような感じでアスタリスクが使われている場合があり、ワイルドカードとして認識されて正常な個数が表示されません。
何か対処方法はありますでしょうか?

あいう
かきくけこ
***
abc
あいう
*きく*
***

期待する結果(現状の結果)
2(2)
1(1)
2(7)
1(1)
2(2)
1(2)
2(7)
634名無しさん@そうだ選挙にいこう:2009/04/25(土) 16:08:52
>>633
データがあまり多くなければ=SUM(($A$1:$A$7=A1)*1)の配列数式でいける。
COUNTIFも重いけど配列数式やSUMPRODUCTはそれに以上に重い。
635634:2009/04/25(土) 16:19:34
数千件のデータとあるから上は多分駄目だな。
かなり速いマシンじゃないとストレスがたまるだろう。
COUNTIFでもどうかと思うけど。
636名無しさん@そうだ選挙にいこう:2009/04/25(土) 16:37:49
>>633
「~」を使う
=COUNTIF($A$1:$A$7,SUBSTITUTE(B1,"*","~*"))
637名無しさん@そうだ選挙にいこう:2009/04/25(土) 16:39:45
>>633
=SUBSTITUTE(A1,"*","数千件")
みたいに*を使ってない文字列(検索すれば確実だと思う)に置換した後、countif等してみては
更新・追加が無ければctrl+Hで実際に置換してもいいかもしれない
638名無しさん@そうだ選挙にいこう:2009/04/25(土) 16:46:51
>>634-635 ありがとうございます
=SUM((A:A=A1)*1)の配列数式で一応いけたのですが、やはり思いですね

現状でも結構重めのシートなんですけど、さらに2,3倍かかるのでやっぱりちょっときついですかね;
でも配列数式とか使ったことがなかったので今後の参考にします。
639名無しさん@そうだ選挙にいこう:2009/04/25(土) 17:04:59
>>636-637
現状と変わらない重さで実現できました。ありがとうございます/

すみませんもうひとつだけ 上で書いていなかったのですが、
名前が空欄のデータが数個あって、このときの数値が 60394 みたいなかなり大きな数字になってしまいます。
大した問題ではないのでこれを防ぐために式が長くなるようならあきらめますが、何か簡単な対策はありますか?
640名無しさん@そうだ選挙にいこう:2009/04/25(土) 17:07:31
出来れば空欄は空欄のままにしておきたいです。
641名無しさん@そうだ選挙にいこう:2009/04/25(土) 17:11:01
>>639
=IF(OR(A1="",A1=" ",A1=" "),"",COUNTIF(A:A,A1))
642639:2009/04/25(土) 17:43:36
最終的に
=COUNTIF(A:A,IF(ISBLANK(A2)," ",SUBSTITUTE(A2,"*","~*")))としました。
>>641 どうもです
643名無しさん@そうだ選挙にいこう:2009/04/25(土) 17:49:53
>>620
有難うございました。
一つの式で出来ないかと悩んでいたのですが、そんな方法もあるのですねぇ
大変助かりました、どもです。
644名無しさん@そうだ選挙にいこう:2009/04/25(土) 20:00:36
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 関数 文字列 小数点
<やりたいこと>
 エクセル関数をつかって、文字列セルの値(hhmm)を、別のセルで小数点(時間)表示したい。
例)
$A$1・・・"1" (h)
$B$1・・・"00" (mm)
→$C$1・・・1.00

例)
$A$1・・・"4" (h)
$B$1・・・"15" (mm)
→$C$1・・・4.25

例)
$A$1・・・"6" (h)
$B$1・・・"30" (mm)
→$C$1・・・6.5

例)
$A$1・・・"8" (h)
$B$1・・・"45" (mm)
→$C$1・・・8.75

おねがいします。
Cセルに、式をいれたいですが、公式がわかりません。
645名無しさん@そうだ選挙にいこう:2009/04/25(土) 20:03:51
>>644
=A1+B1*60/100
646644:2009/04/25(土) 20:10:12
>>645

例)
$A$1・・・"4" (h)
$B$1・・・"15" (mm)
→$C$1・・・4.25

の場合、=A1+B1*60/100 をしたら、

答えが、13になりました。(´・ω・`)
647名無しさん@そうだ選挙にいこう:2009/04/25(土) 20:11:39
>>646
=A1+B1/60
ごめん間違ってた方書いちゃった
648644:2009/04/25(土) 20:13:16
>>647
ありがとうございました^^
649名無しさん@そうだ選挙にいこう:2009/04/26(日) 02:44:25
シート1
    A      B   C   D   E   F
1 選手/回    1   2    3    4   5  
2  鈴木
3   田中             ★
4   山田
5  佐藤

上の表で★のところに、
=SUM(シート2!B18:B25)
とやって、別のシートから田中氏の合計点を持ってきています。
範囲指定「B18:B25」を、行1の開催回(★のセルであればセルD1の3)から引き出したいのですが
どう書けばいいのでしょうか?

ちなみに、第3回の指定がB18:B25になっているのは、シート2で
タイトル行+(第1回の8セッション)+(第2回の8セッション)+(第3回の8セッション)
=1+8+8+8+・・・
という形で行を使っているからです。
第3回であればB18:B25、第4回であればB26:B33を得たい
(開催回が1増えるごとに、参照範囲が8行ずれるようにしたい)と思います
よろしくお願いします。
650名無しさん@そうだ選挙にいこう:2009/04/26(日) 03:26:31
>>649
行1の開催回行無視して>>599さんの応用の方が楽だな。

=SUM(INDIRECT("シート2!B"&COLUMN()+(COLUMN()-2)*7 & ":B" & COLUMN()+(COLUMN()-1)*7))
651名無しさん@そうだ選挙にいこう:2009/04/26(日) 03:41:07
行1の開催回を使うならこんな感じか。

=SUM(INDIRECT("シート2!B"&B$1+1+(B$1-1)*7&":B"&B$1+1+(B$1*7)))

田中氏のセルに入力するのは
=SUM(INDIRECT("シート2!B"&D$1+1+(D$1-1)*7&":B"&D$1+1+(D$1*7)))
652名無しさん@そうだ選挙にいこう:2009/04/26(日) 08:46:44
EXCEL2003です。

2つのブックを開くと、1つのEXCELウィンドウの中に2つ表示(並べて
表示or切り替えて表示)されますが、
これを2つのウィンドウに分けて表示することはできないのでしょうか?

よろしくお願いします。
653名無しさん@そうだ選挙にいこう:2009/04/26(日) 08:48:13
>>652
ファイルを開いた後、
EXCEL.exeを開いてファイル→開く
654名無しさん@そうだ選挙にいこう:2009/04/26(日) 11:01:44
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003, 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 Excel 条件付書式 数値

A1セルに入力した場合、A1セルの値が、数値で無い場合、セルの背景色を変更したい。
655名無しさん@そうだ選挙にいこう:2009/04/26(日) 11:35:33
数式が=NOT(ISNUMBER(A1))
656654:2009/04/26(日) 13:08:49
>>655
ありがとうございました
657652:2009/04/26(日) 13:13:31
>>653
レスありがとうございます
658639:2009/04/26(日) 15:07:46
【Windows XP】【Excel 2007】【VBA使用,回答 否,否】

各行のA列に数値、B列にテキスト、、のようなデータがあり、
A列全体に「条件付き書式」「2色スケール」でA列の最小値〜A列の最大値でグラデーションのように設定しているのですが、
このA列の数値を使ってB列にも同じようにグラデーションカラーの書式を設定することは可能でしょうか?

ちょっと試してみたところ、相対参照は出来ないとかでうまく設定できませんでした。
よろしくお願いします。
659649:2009/04/26(日) 18:10:07
>>650-651
できました!
エクセルが動いた!この大いなる感動!!
651の方を使ってみました
ありがとうございました。
660名無しさん@そうだ選挙にいこう:2009/04/26(日) 22:08:26
A1に名前/年齢/職業
こういったセルがある場合
B1に名前
C1に年齢
D1に職業
を関数を使って表示させたいのですが
どうしてもうまくいきません
教えてください
661名無しさん@そうだ選挙にいこう:2009/04/26(日) 22:44:28
>>660
少々変態チックなやりかたで
B1 =LEFT(A1,FIND("/",A1)-1)
C1 =SUBSTITUTE(MID(SUBSTITUTE(A1,"/",REPT("/",LEN(A1))),LEN(A1),LEN(A1)),"/","")
D1 =RIGHT(A1,LEN(A1)-LEN(B1&C1)-2)
662名無しさん@そうだ選挙にいこう:2009/04/26(日) 22:46:43
変態チックと言ってもそれしかなくね
663名無しさん@そうだ選挙にいこう:2009/04/26(日) 23:13:52
せっかく切りだしてるんだからもっと短くできるな

C1=SUBSTITUTE(SUBSTITUTE(A1,B1&"/",""),"/"&D1,"")
664名無しさん@そうだ選挙にいこう:2009/04/26(日) 23:36:31
          γ⌒) _,........,_
           |.| , ´,.-== ,ヽ    2年後は>>1乙してるかな?
           |.| i (ノノλノ)リ__¶___
           |.| .ルイ) ゚ ヮ゚ノ)ノ  ¶//|  /|
           U_⊆__⊆_ )_   / ̄|///
          /┌────┐|. /'`) //
       /( / ≡≡≡ .//(__///
       |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |/


          _,........,_
         , ´,.-== ,ヽ
        i (ノノλノ)リ
        .ルイ) ゚ ヮ゚ノ)ノ  いなかった
     ≡  ( っ∩っ∩
   ≡  (ニ二二二ニ)
665名無しさん@そうだ選挙にいこう:2009/04/26(日) 23:46:43
作業列設けていいのなら
E1=FIND("/",A1)
F1=FIND("/",A1,E1+1)
とでもしておいて

B1=LEFT(A1,E1-1)
C1=MID(A1,E1+1,F1-E1-1)
D1=RIGHT(A1,LEN(A1)-F1)
とするとシンプルで分かりやすいと思うんだが
666名無しさん@そうだ選挙にいこう:2009/04/27(月) 00:53:55
>>660
ちなみにデータ→区切り位置の機能は知ってるのかな?
知ってる上でその質問なら別にいいんだけど。
667名無しさん@そうだ選挙にいこう:2009/04/27(月) 02:12:21
>>666
区切りだと
A1自身がデータが変わるんじゃないの?
668名無しさん@そうだ選挙にいこう:2009/04/27(月) 08:07:13
データが変わるのが嫌ならB列にコピーしてからやればいいじゃん。
なんでも関数でやるやつはヴァカ。
669名無しさん@そうだ選挙にいこう:2009/04/27(月) 08:12:28
関数の回答をヴァカと言ってるわけじゃねーからな。
関数でやりたい質問者がヴァカと言ってるだけ。
670名無しさん@そうだ選挙にいこう:2009/04/27(月) 10:04:24
VBAを本格的に覚えようと思うのですが、どこかいいサイトはありますか?
マクロの記録を改良したり、if文やfornextぐらいなら何とかできるレベルです
671名無しさん@そうだ選挙にいこう:2009/04/27(月) 10:46:17
>>670
知ってるところだと「オフィス田中」「インストラクターのネタ帳」ってサイトぐらいかな
どちらもぐぐればすぐにでてくると思う
後はぐぐったりテキトーに古本屋で本買ったりして覚えたな
でもエクルセならfornext覚えておけば大概のことはできると思う
672名無しさん@そうだ選挙にいこう:2009/04/27(月) 10:56:01
エクルセ
673名無しさん@そうだ選挙にいこう:2009/04/27(月) 11:11:10
単なる打ち間違いだ
674名無しさん@そうだ選挙にいこう:2009/04/27(月) 11:18:37
ルとセが綺麗に入れ替わるってことはカナ打ちかな?
ローマ字打ちだと、4文字目を6文字目に、5を7に、6を4に、7を5にと
4文字も打ち間違わない限りエクルセにはならないし

まあそれはいいとして、どちらもいくつか間違いや不適切な方法とかも載ってるから注意な
多少詳しいとはいえ、書いてるのは人間なんだからそりゃ間違いだってあるわけで
おかしいと思ったら、絶対に合ってるはずなのにとか思い込まず、載ってる情報の間違いも疑うこと
もちろん、自分が手順やコードなどを間違えてないか疑うのが先だがな
675名無しさん@そうだ選挙にいこう:2009/04/27(月) 11:37:56
ある列のフォントを一括で変更したいのですが、
変わる文字と変わらない文字があるんです。何故でしょう?
列を選択して、ツールバーのフォント指定を変えてみたり、書式-セル−フォントでやってもできません。
ロックでもかかってるかのようです。そんな設定はあるのでしょうか?
676名無しさん@そうだ選挙にいこう:2009/04/27(月) 12:37:30
>>674
指摘は最もだが、それなら別のサイトのURLでも参考に書いてあげたらどうだい
後かな打ちは正しいがそんな長い推理しなくても皆分かってるよ
>>675
条件付書式の設定かフォントがその文字に対応してないかのどちらかだと思う
677名無しさん@そうだ選挙にいこう:2009/04/27(月) 12:41:46
カルシウムとれ
678名無しさん@そうだ選挙にいこう:2009/04/27(月) 13:23:23
>>676
条件付書式は何も設定してないのですが・・・それとも何も設定してないから?
試しにその正しくフォントが変更されない文字列をメモ帳にコピペすると、正しく表示されます。
679名無しさん@そうだ選挙にいこう:2009/04/27(月) 14:55:44
>>678
スマン、分からない
EXCELファイルをアップロードして下さい
680名無しさん@そうだ選挙にいこう:2009/04/27(月) 19:04:09
最近【PCソフト在庫処分】の事がよく載って、消されてるけど
ここで買っても大丈夫?
買ったことある人教えてください
681名無しさん@そうだ選挙にいこう:2009/04/27(月) 19:22:24
>>680
不正コピー品だからやめておいた方がいい
682名無しさん@そうだ選挙にいこう:2009/04/27(月) 20:20:23
>>678
フォントが対応してないのはメモ帳にコピーしても意味ないよ。
文字がおかしいわけじゃなくて、
たとえば英語圏用のフォントは漢字には対応してないようなもの。
(漢字の分まで想定されてないというか。)
フォントは何ていうやつなの?
683名無しさん@そうだ選挙にいこう:2009/04/27(月) 20:23:50
第三水準かユニコードがらみの悪寒
684名無しさん@そうだ選挙にいこう:2009/04/27(月) 21:59:22
>>683
ああ、多分それです。MSPゴシックで書かれた欧文をLucida Sans Unicodeにしたいのですが。
MSPゴシックに固定されてしまう文字があるのです。
ユニコードかJISかは関係ないみたい。混在してます。
同じ文字や記号なのに、変更されたりされなかったりもあります。
フォントはXPにデフォで入ってるフォントですよね?
文字はどちらにも存在します。ただゴシックの字体とバランスが気に入らないので・・・
エクセルの問題じゃなくて、入力するときのIMEの問題のような気もしてきました・・・
685名無しさん@そうだ選挙にいこう:2009/04/27(月) 22:19:49
>>684
どういう状況か、やっとわかった。
全角の英数字か記号を使ってる。たぶん間違いない。
それはIMEの問題じゃなくて入力した人の操作の問題。
686名無しさん@そうだ選挙にいこう:2009/04/27(月) 22:52:25
>>685
なるほど・・・固定されてるのは全角なのか。
これは1文字ずつ置換して修正するしかなさそうですね・・・
ありがとうございました。今日はも寝ます。
687名無しさん@そうだ選挙にいこう:2009/04/27(月) 23:28:04
>>686
半角と全角を区別して検索・置換できるから一発でできるでしょ
688名無しさん@そうだ選挙にいこう:2009/04/27(月) 23:33:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 両対数グラフ 書き方

突然すみません。

両対数を使ったグラフを書きたいのですが、それぞれの軸の値が
 x:1 2 | 4 | 6 | 8 | 10
 y:10 20 30 40 50 60 - 80 - 100
といったものをつくりたいです。(|や-は、数値のふられていない補助線の位置です。)
『対数』のチェックをオンにして自分なりにやってみたのですが、上のような目盛りのふられ方にできなかったので、質問しました。
情報が少なく難しいかと思いますが、レスお願いします。
689名無しさん@そうだ選挙にいこう:2009/04/28(火) 01:05:50
エクセルで日付を入れたいのですが、ツールバーのフォントみたいに選択式にするにはどうすればよいですか?お願いしますm(__)m
690名無しさん@そうだ選挙にいこう:2009/04/28(火) 01:09:01
>>689
プルダウンのリストから選択させるってことでいいのかな?

データ→入力規則→入力値の種類をリストにして
日付リストを範囲選択するか
2009/1/1,2009/1/2 のように
データをカンマで区切って指定する。
リストが別シートのときは範囲に名前をつけないとエラーになる。
691名無しさん@そうだ選挙にいこう:2009/04/28(火) 01:16:22
ありがとうございますm(__)m
おかげで上手くできました
692名無しさん@そうだ選挙にいこう:2009/04/28(火) 07:53:25
>>688
よくわかんないけど、両軸とも対数じゃないように思えるんだけど…
最小値が0じゃないってだけじゃないの?
693名無しさん@そうだ選挙にいこう:2009/04/28(火) 08:46:26
>>687
いや、そうなんですけど、どの文字が全角で打たれてるのか予測できないので、
全ての文字について1文字ずつ置換作業やらないといけないなと・・・
あるいは見つけ次第、手動変換か・・・orz
もう全角のままでもいいかなぁ・・・
694名無しさん@そうだ選挙にいこう:2009/04/28(火) 09:03:56
でも、ただメモ帳に貼り付けただけでLucida Sans Unicodeに統一できるのに、
エクセルはできないんだろ?全角文字はフォントの変更はしないなんてあるのかな?
それはないか。設定で切り替えられるとか?
695名無しさん@そうだ選挙にいこう:2009/04/28(火) 09:09:32
流れよめてないかもだが、ASC関数で一括して半角にすりゃいいんじゃね?
696名無しさん@そうだ選挙にいこう:2009/04/28(火) 09:32:21
一度アップロードしてくれれば解決できるかもしれないんだが・・無理かね
その文字だけでいいんだけど
697名無しさん@そうだ選挙にいこう:2009/04/28(火) 10:17:23
>>693
VBA使える?
698名無しさん@そうだ選挙にいこう:2009/04/28(火) 11:27:48
>>689
回答は>>690で終わってるとして、これは余談になるけど
Ctrl+;(セミコロン) や Ctrl+:(コロン) を覚えておくと便利だぞ。
699名無しさん@そうだ選挙にいこう:2009/04/28(火) 17:43:32
700名無しさん@そうだ選挙にいこう:2009/04/29(水) 07:57:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ (簡単なものなら)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 パスワード

フォルダ内にあるすべてのエクセルファイルに、一度に同じパスワードを設定する方法はありますか?
701名無しさん@そうだ選挙にいこう:2009/04/29(水) 08:35:23
>>700
@パスワード設定を「マクロの記録」でとる
A下のコードの2行目(Const〜)に目的のフォルダパスを設定する
B下のコードの7行目(〜 FolderPath & FileName)がフォルダ内の全てのエクセルファイルのパスになるので
  そこに@で録ったコードを挿入して、記録されたパスを「FolderPath & FileName」に書き換える

Sub Sample()
  Const FolderPath = "c:\text\" ' 末尾に \ を付けること
  Dim FileName As String
  FileName = Dir(FolderPath & "*.xls")
  Do ' While Len(FileName)
    If Len(FileName) = 0 Then Exit Do
    Debug.Print FolderPath & FileName
    FileName = Dir()
  Loop
End Sub

俺はWhileやUntil条件は好きじゃないんで、IfとExit Doにしたが
While条件の方が良ければDoの後のコメントアウト外して、「If Len(〜」の上を削除
702名無しさん@そうだ選挙にいこう:2009/04/29(水) 09:45:07
>>701
ありがとうございます。

早速試してみたところ、パスワードは設定されたものの、ファイルの内容が消えました。このやり方が間違ってますか?

@エクセルを開き、下記マクロを作成して C:\Users\**\Documents\に保存

Sub Macro1()
'
' Macro1 Macro
Const FolderPath = "C:\Users\**\Documents\" ' 末尾に \ を付けること
Dim FileName As String
FileName = Dir(FolderPath & "*.xls")
Do ' While Len(FileName)
If Len(FileName) = 0 Then Exit Do
Debug.Print FolderPath & FileName
ActiveWorkbook.SaveAs FileName:=FolderPath & FileName, _
FileFormat:=xlExcel8, Password:="***", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
FileName = Dir()
Loop
End Sub

A保存したファイルを開き、マクロを実行

ちなみにパスワードをかけたいファイルを C:\Users\**\Documents\に入れてやってみました。

B保存するかどうか聞いてきたので「はい」をクリック

以上です。よろしくお願いします。

703名無しさん@そうだ選挙にいこう:2009/04/29(水) 16:07:21
>>701ではないが
Debug.Print FolderPath & FileName
だからでは?

Sub Macro1()
Const FolderPath = "C:\Users\**\Documents\" 'ファイルのあるフォルダのパス
Const Mypass = "×××" 'パスワード設定しておく
Dim FileName As String
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
FileName = Dir(FolderPath & "*.xls")
Do
If Len(FileName) = 0 Then Exit Do
Workbooks.Open FolderPath & FileName
ActiveWorkbook.SaveAs FileName:=FolderPath & FileName, _
FileFormat:=xlNormal, Password:=Mypass, WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
FileName = Dir()
Loop
MsgBox ("処理終了")
End Sub
704700:2009/04/29(水) 19:44:08
>>703

このマクロを含んだファイルAと、パスワードをかけたいファイルBを同じパスにおいて、
ファイルAのマクロを実行すればよいのでしょうか。
だとすればパスワードがかかりませんがなぜでしょうか。


705名無しさん@そうだ選挙にいこう:2009/04/29(水) 22:14:32
>>704
このコードの場合同じフォルダに置くとエラーになると思うが
一つもパスワードかからないの?
706名無しさん@そうだ選挙にいこう:2009/04/29(水) 22:23:35
>>704
>>705
エラーになるというか
Dirで最初に自分自身を見つければあぽーん

同じフォルダに置きたければ自分自身はパスしてけれ
707名無しさん@そうだ選挙にいこう:2009/04/29(水) 22:31:54
>>704
同じフォルダに置きたい場合。

Sub Macro1()
Const FolderPath = "C:\Users\**\Documents\" 'ファイルのあるフォルダのパス
Const Mypass = "×××" 'パスワード設定しておく
Dim FileName As String
Dim MyFN As String
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
MyFN = ThisWorkbook.Name
FileName = Dir(FolderPath & "*.xls")
Do Until FileName = ""
If FileName <> MyFN Then
Workbooks.Open FolderPath & FileName
ActiveWorkbook.SaveAs FileName:=FolderPath & FileName, _
FileFormat:=xlNormal, Password:=Mypass, WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
End If
FileName = Dir()
Loop
MsgBox ("処理終了")
End Sub
708700:2009/04/29(水) 22:56:47
>>705
別フォルダにおいたらできました。
どうもありがとう。
709名無しさん@そうだ選挙にいこう:2009/04/30(木) 00:09:54
スレ違いかもしれませんが・・・

【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007

INDEX、DATEDIF、ISERROR、入力した値を消すマクロを使用して
入社日、退職日、本給を入力すると退職金の額が出るファイルを作成したのですが、
これをエクセルがインストールされていないPCや携帯で使える様には出来ないのでしょうか?
710名無しさん@そうだ選挙にいこう:2009/04/30(木) 05:02:43
>>695
それでいいと思うんだが、Excelで置換すると色などの属性が抜けるんだよね。
俺のやり方がまずいのかもしれないが。
711名無しさん@そうだ選挙にいこう:2009/04/30(木) 05:42:47
>>709
出来ない。

Excel(アプリケーション)が無くても動く物を作るってことは、
ブックを作るのではなく新規にアプリケーションを開発するってことだからね。
PCで見るだけなら、ExcelViewerって手もあるが。

とりあえず自分がやろうとしていることはアプリケーション開発なんだってことを認知して
それでもやりたければ勉強して作ればいいし、そこまでする事無いと思うなら諦めれば良い。
712名無しさん@そうだ選挙にいこう:2009/04/30(木) 09:16:50
>>709
インターネット経由で情報を入力し、エクセルみたいな形で出力するってこと?
それならその程度の知識ではやめて置いたほうがいい
713700:2009/04/30(木) 09:38:31
一括パスワードの問い合わせしたのですが、すでにパスワードがかかっているファイルを、
自動的に除くことは可能でしょうか。
よろしくお願いします。
714名無しさん@そうだ選挙にいこう:2009/04/30(木) 10:24:35
新しくつけたいパスワードで開いてみて、エラーが出るようだったらトラップして次のブックの処理に回せばいいんじゃね?
715名無しさん@そうだ選挙にいこう:2009/04/30(木) 11:08:32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 集計

1つのブックに複数のシートがあります。
最後のシートに、各シートのタイトルと金額を挿入し、合計額を計算したいです。
方法があれば教えてください。




<シート1>    <シート2>          <シート合計額>

種類       種類              項目        金額
○○○○    □□□□    ・・・・・・・  ○○○○     △△△△円
                            □□□□     ◇◇◇◇円
金額
△△△△円   ◇◇◇◇円 
716名無しさん@そうだ選挙にいこう:2009/04/30(木) 11:19:34
>>710
Asc関数使うのになんで置換(Rrplace)が必要なん?
A1:A10なら
With Range("A1:A10")
.Value = Application.Asc(.Cells)
End With
とすりゃ色の属性とかは抜けないな。
717名無しさん@そうだ選挙にいこう:2009/04/30(木) 11:50:53
>>716
置換はreplaceの意味ではなくて、全角→半角の意味でした。紛らわしくてすみません。
例えばA1の英数カナを半角にしてB1に入れるのに、数式バーでB1=ASC(A1)とやると色が抜けます。
718名無しさん@そうだ選挙にいこう:2009/04/30(木) 11:54:16
>>715
> 各シートのタイトルと金額を
の「タイトル」って何?
例の中にタイトルってのが見あたらないんだが

個別シートの「種類」と、合計シートの「項目」って何が違うの?

個別シートの種類と金額ってのは1シートに付きそれぞれ1個だけなの?

エスパー能力使えばだいたいの察しは付くが、クイズや推理物投稿所じゃないんだから
回答者に推理洞察力を要求するような質問の仕方はやめてくれよ。
同じ意味なら用語は統一し、違う意味なら何が違うのかきちんと説明しようね。
そうすれば回答者はエスパー能力なんて使わず、解法だけ考えれば良いのだから。
719709:2009/04/30(木) 12:20:16
>>710-711
ググってみましたが、かなりハードルが高いようですね・・・
諦めます。
720名無しさん@そうだ選挙にいこう:2009/04/30(木) 12:44:02
715です
>718さん、失礼しました。おっしゃるとおりです。
もう一度詳しく説明します

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 集計

各シートは工事種類別になっており、詳細な内訳が入力してあります。
個別シートのフォーマットは同じです。
<シート合計額>に工事種類と、その金額を拾い出して合計額を出したいのです。
現場毎に工事種類は変わります。(電気工事が無い場合もある)

手動でリンクさせる方法をとっていますが、数が増えると面倒でミスも出るので、
なにか別の方法があれば教えていただきたいです。





<シート1>    <シート2>          <シート合計額>

工事種類    工事種類           工事種類     金額
電気工事    水道工事    ・・・・・・・  電気工事     △△△△円
                            水道工事     ◇◇◇◇円
金額                           …         …
△△△△円   ◇◇◇◇円                     (合計額)
721名無しさん@そうだ選挙にいこう:2009/04/30(木) 14:09:47
>>720
串刺しと言うことでよろしいか?
722名無しさん@そうだ選挙にいこう:2009/04/30(木) 15:17:59
>>720
ttp://www1.axfc.net/uploader/File/so/22583.zip
こんな感じでどうかの
723名無しさん@そうだ選挙にいこう:2009/04/30(木) 15:20:52
>>720
シート1(Sheet1)のA1、シート2(Sheet2)のA1にある金額の合計をシート3のA1で出したいのなら

シート3(Sheet3)のA1には「=Sheet1!A1+Sheet2!A1」と入力すればいいんじゃないの?

724名無しさん@そうだ選挙にいこう:2009/04/30(木) 15:33:18
>>723
>手動でリンクさせる方法をとっていますが、数が増えると面倒でミスも出るので、
>なにか別の方法があれば教えていただきたいです。
725名無しさん@そうだ選挙にいこう:2009/04/30(木) 15:34:54
>>721の言う串刺し計算なら
=SUM(Sheet1:Sheet2!A1)
726名無しさん@そうだ選挙にいこう:2009/04/30(木) 15:37:05
串刺し計算はいいがそれと工事種類を組み合わせる方法なんてあるか?
727名無しさん@そうだ選挙にいこう:2009/04/30(木) 15:40:03
>>722のサンプルを使ってみた
=SUMIF(Sheet1:Sheet5!A2,"電気工事",Sheet1:Sheet5!A4)
VALUEエラーでした
728名無しさん@そうだ選挙にいこう:2009/04/30(木) 16:05:23
パーツリスト表のシートを作成して、A列にはパーツの管理No、B列には型番、C列にはパーツ名
・・・・J列には納期と、10項目くらいあるパーツ情報をA列にあるパーツNo.から引っ張り出して
いるのですが、特定の列にあるパーツ情報をバラして表示させるにはどうしたら良いのでしょうか?

エクセルで作成されている発注依頼書のフォーマットがあるのですが、
パーツ名、型番を記入(入力)する欄が1文字で1つのセルを使用しており、
今まではパーツ名、型番は手書きか1つずつ手入力していました・・・

具体的には、パーツリスト表(シート1)のC1(パーツ名)には「パイナップル」とあったのなら
発注依頼書(シート2)ではA1に「パ」A2に「イ」A3に「ナ」A4に「プ」・・・・と表示させたいのです。
型番は5文字〜20文字、パーツ名は5文字〜40文字で英数字・漢字・平仮名、片仮名
全て使用しています。

一度、発注依頼書の型番、パーツ名のセルを結合させて文字をバラさずに記入して提出したら
定形外のフォーマットなので駄目だと発注担当に言われてしまいましたorz
729名無しさん@そうだ選挙にいこう:2009/04/30(木) 16:20:34
>>727
何やってんの?
730名無しさん@そうだ選挙にいこう:2009/04/30(木) 16:24:58
>>728
=IF(LEN($C$1)>=ROW(),MID($C$1,ROW(),1),"")

同一シートのC1に入ってる場合で作ってみた
A1に入れて、最大20文字ならA20までフィルコピー
これで問題ないなら別シート参照するように書き換えて使え
731名無しさん@そうだ選挙にいこう:2009/04/30(木) 16:28:24
>>727
こんな感じの事やりたいんじゃね?

'セルA2の値をキーにしてセルA4の値を加算する
Dim dic As Object, k As String, v As String, sh As Worksheet
Set dic = CreateObject("Scripting.Dictionary")
For Each sh In Worksheets
k = sh.Range("A2").Value
v = sh.Range("A4").Value
If dic.Exists(k) Then
dic.Item(k) = Int(dic.Item(k)) + v
Else
dic.Add k, v
End If
Next
'キーと値を新規シートに書き出し
Set sh = Worksheets.Add(After:=Worksheets(Worksheets.Count))
sh.Range("A2").Resize(dic.Count) = WorksheetFunction.Transpose(dic.keys)
sh.Range("B2").Resize(dic.Count) = WorksheetFunction.Transpose(dic.items)
sh.Range("A1:B1").Value = WorksheetFunction.Transpose(Array("工事種類", "工事金額"))
732名無しさん@そうだ選挙にいこう:2009/04/30(木) 16:33:57
>>729
SUMIFで串刺し計算使えるかと思ったのさ
733720:2009/04/30(木) 17:43:39
レスありがとうございます。

>>721
工事種類も出したいんですよね・・・。
>>722
これなら自分で応用できそうです。ありがとうございます。
>>723
そういうのがやりたかったんですw
マクロ勉強します。


734720:2009/04/30(木) 17:44:34
訂正です

>>720ではなく>>730です
735名無しさん@そうだ選挙にいこう:2009/04/30(木) 18:26:40
データ構造かえてピボッと一発
736名無しさん@そうだ選挙にいこう:2009/04/30(木) 19:16:37
汚染米とラジコン
http://gimpo.2ch.net/test/read.cgi/radiocontrol/1212811357/337-
http://gimpo.2ch.net/test/read.cgi/bouhan/1239734019/20-
カビ毒米って便利いいよね。
普通に食べて肝臓癌にして殺すことできるもんね。
気づかれずに何度も侵入、そのたびに米びつのお米をカビ毒米と交換、
後マヨネーズや醤油、ソース、ケチャップ、みりんなどなど毎日少しずつ使うものに弱毒性の毒物を入れておく。
ターゲットは一年以内にアポーン。
気づかれそうになったら若年性統合失調症とか何とかいえば誤魔化せます。
http://www.tk-telefilm.co.jp/gaslight.html
  夜になると不思議と暗くなる部屋のガス灯…それに気づくのは私だけ…。
  精神的に追詰められる心理サスペンスの傑作!  
昔々から精神病ってエロエロと利用し甲斐があるようで、、、、
 ガスライティング----で検索 ガス燈の映画の影響か欧州ではよく知られた方法
メラミンやシュウ酸の粉末を砂糖や塩、牛乳に混入。確実に結石(総胆管結石、尿管結石)になる。
あかちゃんなら異物混入が疑われるが40代50代なら本人の病気ですんでしまう。
あと降圧剤や昇圧剤、利尿剤などなどいろいろあるみたいだね。
これらは砒素のように明らかな毒物でもないから発見されても犯罪の立証がむずい。
薬物毒物と鍵屋の組み合わせは非常に厄介だ。
プロの鍵屋にかかれば開かない鍵はないといわれている。
皆さま、家族全員が留守にする時はお気をつけあそばせ。
あと、尿酸とある種の(現在不明)ある種の薬物を加えると膝痛や腰痛を起こすことが出来るようだ。
重いものを持っていないのに急に腰が痛くなったなどというとき、
ひょっとすると、ひょっとするかもしれませんよ。
旅先での見も知らない人からのドリンクサービスや席を外したあとの飲み物なども危険がいっぱいですよ。
泊りがけの飛行会の後体調異変はありませんか。
---------------------------------------------
みんな気をつけようね。
どんな一流の鍵屋でも無傷で開けられない鍵作らないと、、
現状では一流の鍵屋ならどんな鍵も開けてしまう。
暴力団が借金漬けの鍵屋を支配下に置いたらやりたい放題だよ。
737名無しさん@そうだ選挙にいこう:2009/04/30(木) 20:06:25
>>733
君に必要なスキルはピボットテーブルだよ。
ピボットテーブル使えるかどうかが使えるやつと使えないやつの境界。
738名無しさん@そうだ選挙にいこう:2009/04/30(木) 20:19:40
串刺しやSUMIFを覚えると頭が悪くなってしまう。
集計をVBAで組むのはばかまるだし。
739名無しさん@そうだ選挙にいこう:2009/04/30(木) 21:40:59
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ(コードを書いて頂ければなんとか)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 , 整形

B列が今このような数字と - , が入っています

1-3
1,3,5-6
7,9-10,12

入力されている規則はつながっている数字なら - で表現して
飛んでいる数字は,で区切って表現というような形です。
これを次のように , 区切りで 整形したいのですが

1,2,3
1,3,5,6
7,9,10,12

このようにすることはマクロを使って行うことが出来ますでしょうか。
置換を使ってある程度揃える事は出来るのですが条件が多すぎて困っています。
数字の範囲は最大で5桁まであります。
最終的に上記の形に持っていければ作業列や作業用シートを設けることも出来ます。

よろしくお願いいたします。
740名無しさん@そうだ選挙にいこう:2009/04/30(木) 21:48:28
-を,で置換すればいんじゃね
741739:2009/04/30(木) 21:54:19
>>740
レスありがとうございます。

そのように置換してしまうと
1-3という表記の場合
1.3になってしまいます。
1,2,3と表現したいのですが^^;

1-3を1,2,3へ置換ということもしたことがありますが数が多すぎて追いつきません;
742739:2009/04/30(木) 22:16:23
数列の複雑な条件だから一回 ソートキーのように置き換える形になるかな。
マクロで出来ない場合を考えてB列をテキストに出力してフリーソフトか何かで整形できる可能性を模索してみます。
743名無しさん@そうだ選挙にいこう:2009/04/30(木) 23:44:13
>>742
これ作業するためにカンマでデータ区切りすると一部勝手に日付に読まれちゃうんだな。
excel余計なことしてuzeeeeeeeee
744>>739:2009/05/01(金) 01:15:31
解決しました
>>742の形で別のソフトで整形できました。
スレ消費すいませんでした。
745名無しさん@そうだ選挙にいこう:2009/05/01(金) 04:06:57
>>744
後学のために、その「別のソフト」の名前と、それがどういうやり方をしてあるかを教えて貰えませんか。

自分ならどう考えるか……大雑把に言うと、
ハイフンがあったら、ハイフンの前の数字からハイフンの後ろの数字まで+1で書き出す、
という感じかな。
746名無しさん@そうだ選挙にいこう:2009/05/01(金) 05:10:19
>>745
java scriptのソースです

var fso = new ActiveXObject("Scripting.FileSystemObject");
for(var i=0;i<WScript.Arguments.length;++i){
var o = fso.OpenTextFile(WScript.Arguments(i),1)
var text = o.ReadAll().replace(/(\d+)-(\d+)/g,function(a,b,c){
var from = Number(b);
var to = Number(c);
var result = b
if(from > to)return a;//変な範囲のときに空にしたいときはaを""に置き換える
while(from++<to)result += "," + from
return result
});
o.Close();
var o = fso.CreateTextFile(WScript.Arguments(i)+".output.txt",true);
o.Write(text);
o.Close()
}

747名無しさん@そうだ選挙にいこう:2009/05/01(金) 05:27:02
>>746
ありがとうございます。(読み解けるかな、私orz)
748名無しさん@そうだ選挙にいこう:2009/05/01(金) 05:27:26
>>745
java scriptは勉強したことがほとんどないので構文の意味はわかっていません。

var text = o.ReadAll().replace(/(\d+)-(\d+)/g,function(a,b,c){
↑↑テキストファイルの中身を全て読み込みます  readall
次のように置き換えます replace
(/(\d+)-(\d+) -で表記された数字の範囲を認識
function(a,b,c)  a,b,c〜という表記に変える


var from = Number(b);  
var to = Number(c);
var result = b
while(from++<to)result += "," + from  認識した数字の前に , をつける

こんな感じでは。
749名無しさん@そうだ選挙にいこう:2009/05/01(金) 05:31:11
残り部分は 変数 i について。
最後の部分は outputというテキストファイルに結果を出力しているという流れです。

http://pc12.2ch.net/test/read.cgi/software/1230970602/l50
750名無しさん@そうだ選挙にいこう:2009/05/01(金) 22:10:21
A1には0〜99までの数値が入ります。
それが99の場合,B1の文字色を白にしたいのです。(つまり見えない状態)
条件書式で,=a1=99 としてみましたがうまくいきませんでした。
どのようにすればよいのでしょうか?
751名無しさん@そうだ選挙にいこう:2009/05/01(金) 22:17:50
もし左のセルが99なら 色を白に
そうでないなら何もしない


ifなんとか
752名無しさん@そうだ選挙にいこう:2009/05/01(金) 22:41:04
=A1=99 ででけたよ?
753名無しさん@そうだ選挙にいこう:2009/05/01(金) 22:41:55
再計算手動ってことかn
754名無しさん@そうだ選挙にいこう:2009/05/01(金) 23:42:48
ExcelのファイルをダブルクリックするとExcelは起動するんですが、ファイルが開きません。
最初からExcelを起動して、ファイル→開くを選択すれば開くことができます。
ダブルクリックでファイルを開くにはどうすれば良いでしょうか?

ヘルプを見ても解決できません。
755名無しさん@そうだ選挙にいこう:2009/05/01(金) 23:49:03
>>754
ほかのアプリケーションを無視する

それでダメなら再インストール
756名無しさん@そうだ選挙にいこう:2009/05/02(土) 00:09:06
日本語で回答してやれよ
757名無しさん@そうだ選挙にいこう:2009/05/02(土) 00:17:10
モンモウ?
758名無しさん@そうだ選挙にいこう:2009/05/02(土) 00:18:32
>>754
かわいそうだから補足してあげる
オプションの「ほかのアプリケーションを無視する 」にチェックを入れるか外す(どっちか忘れた)
>>757
オプションの項目って知らないんだろう
優しくしてあげましょうぜ
759754:2009/05/02(土) 00:30:19
>>755.758
解決しました。
ありがとうございました!
760名無しさん@そうだ選挙にいこう:2009/05/02(土) 00:43:23
さすが病人
自分の知ってる事は他人も全部知ってると思い込んでるんだな
だったら質問なんかしねーだろうに
761名無しさん@そうだ選挙にいこう:2009/05/02(土) 02:47:32
答えるべき言葉は答えてるのだから
ググるとかしろよ文盲
762名無しさん@そうだ選挙にいこう:2009/05/02(土) 03:12:06
テンプレ使わない人には厳しい
763名無しさん@そうだ選挙にいこう:2009/05/02(土) 06:16:24
>>760
回答で解らない部分があれば検索する
そんな当たり前のことが出来る人ならオプションの項目だっていう予備知識が無くても
なんら迷うことなく解決する

病人はそんな当たり前のことすら思い浮かばないのかねぇ?
764名無しさん@そうだ選挙にいこう:2009/05/02(土) 07:21:41
>>755は知らなきゃ人間の動作にしか見えないと思うんだが
765名無しさん@そうだ選挙にいこう:2009/05/02(土) 07:51:07
知らないのに人間の動作だと決めてかかって検索すらしない病人の面倒まで見れません
先入観で何だと思おうが解らなかったら検索する、それが当然
766名無しさん@そうだ選挙にいこう:2009/05/02(土) 08:00:50
何かというと『検索しろ』とぶった切る奴は好きじゃない。
767名無しさん@そうだ選挙にいこう:2009/05/02(土) 08:42:15
何も教えず検索しろの一点張りな奴は確かに愚劣だ
しかし、ヒントを与えられてるのに、それで検索すらしない奴も同じく愚劣だ

懇切丁寧な解答が欲しいならパソコン教室にでも通えって話だな
768名無しさん@そうだ選挙にいこう:2009/05/02(土) 09:24:10
自分の拙い日本語を指摘されたからといって剥きになって逆ギレは痛いな
769名無しさん@そうだ選挙にいこう:2009/05/02(土) 10:59:31
どっちが滑稽かは・・・・・まあ皆解ってるだろうなw
770名無しさん@そうだ選挙にいこう:2009/05/02(土) 11:17:07
つーか、何時から日本語の話になったの?
説明が丁寧じゃないって話で、日本語がどうこうという話じゃなかったと思うんだが。
771名無しさん@そうだ選挙にいこう:2009/05/02(土) 11:30:01
>>769
でもイタイ人本人って気づいてないんだよな
指摘されても相手が悪い!で通すし
772名無しさん@そうだ選挙にいこう:2009/05/02(土) 11:44:24
そうなんだよね
本人だけ気付いて無くて、逆切れしながら相手が逆切れしてることにしようとしたりする
773名無しさん@そうだ選挙にいこう:2009/05/02(土) 11:50:58
>>770
ヒント:キレてる奴は正常な思考や判断が出来ません
774名無しさん@そうだ選挙にいこう:2009/05/02(土) 12:18:41
どっちにしても、こういう些細な事で喧嘩を始める人はどこか別のとこで
思う存分タイマンしてきてくれ
775名無しさん@そうだ選挙にいこう:2009/05/02(土) 12:44:48
と、ここまで俺の自演。
776名無しさん@そうだ選挙にいこう:2009/05/02(土) 12:48:14

> ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。

テンプレに書かれてることをやれば解決に辿り着くだけの情報出してるのに
些細な事でとやかく言ってる人ってなんなの?ばかなの?しぬの?
777名無しさん@そうだ選挙にいこう:2009/05/02(土) 13:08:27
まだ分からないのか
・回答内容でわからない部分
ではなく
・回答か何かわからない
レスだったんだよ
778名無しさん@そうだ選挙にいこう:2009/05/02(土) 13:14:42
そうでもないか
779名無しさん@そうだ選挙にいこう:2009/05/02(土) 13:23:11
> >>754
> ほかのアプリケーションを無視する
>
> それでダメなら再インストール

の2行目部分が、これだけじゃ解り辛いって話じゃなかったの?
これを見ただけで、具体的に何をすればよいのか解らない奴は居たとしても
ちゃんとアンカーも付いてるのに、これが回答ですらないとか思うゆとりも居るの?
780名無しさん@そうだ選挙にいこう:2009/05/02(土) 13:41:47
Excelで

E=2πhc^2 / λ^5{exp(hc/λkT)-1}

のEとλの関係をグラフにするにはどうしたらいいですか?

h,c,kは定数で、Tは変数ですが与えられてます。
781名無しさん@そうだ選挙にいこう:2009/05/02(土) 13:42:16
だから
回答ですらないとか思うゆとり
だと言ってるだろ
782名無しさん@そうだ選挙にいこう:2009/05/02(土) 13:45:44
つまり一般人向けではなくゆとり向けの回答をしろって話だったの?

だったら最初からそう言ってくれればいいのに。
それなら回答に問題が有るか否かなんて話などせず

     『 却 下 』

の一言で終わったのに。
783名無しさん@そうだ選挙にいこう:2009/05/02(土) 13:50:51
たしかにwww
784名無しさん@そうだ選挙にいこう:2009/05/02(土) 13:51:56
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 はい(ソースのコピーだけ)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

あまり説明がうまくないので画像を張りました。
http://www.dotup.org/uploda/www.dotup.org0057.jpg
A列には文字列
B列には数字が並んでいます(複数の場合 ","で区切っています)

これを元にC列以降に
頭に ☆ をつけて A列B列の文字の間には : をつけて
C1="☆"&A1&":"&B1  というような形にしたいです。

もしB列にカンマで区切った複数の数字あった場合は
今の処理を右列にずらしながら行いたいです。


よろしくお願い致します。
785名無しさん@そうだ選挙にいこう:2009/05/02(土) 13:58:41
>>784
すいません訂正します。

右列にずらしながらと書いたのですがずらさずに 
C列内で スペースで区切って表示したいです
786名無しさん@そうだ選挙にいこう:2009/05/02(土) 14:01:39
>>784
>>785
出直してきます
787名無しさん@そうだ選挙にいこう:2009/05/02(土) 14:03:37
>>780
Eとλの関係を表にして、それをソースにグラフ作ればいいだけじゃん


>>784-786
もう書いちゃったから一応貼っておくね

Sub Sample()
  Dim i As Long, j As Long
  Dim foo() As String

  For i = 1 To Cells(Cells.Rows.Count, 1).End(xlUp).Row
    foo = Split(Cells(i, 2).Value, ",")
    For j = 0 To UBound(foo)
      foo(j) = "☆" & Cells(i, 1).Value & ":" & foo(j)
    Next j
    Cells(i, 3).Value = Join(foo, " ")
  Next i
End Sub
788784:2009/05/02(土) 14:15:11
>>787
出来ました!ありがとうございます!
789名無しさん@そうだ選挙にいこう:2009/05/02(土) 14:20:53
>>785
=MID(SUBSTITUTE(","&B1,","," ☆"&A1),2,1000)
頭にスペースがあってもかまわなければMID関数は要らんけど。
790名無しさん@そうだ選挙にいこう:2009/05/02(土) 14:26:19
>>789
=MID(SUBSTITUTE(","&B1,","," ☆"&A1&":"),2,1000)
コロン抜けてるぞ。もう終わったけど
791名無しさん@そうだ選挙にいこう:2009/05/02(土) 14:29:25
>>790
コロン要るの?
>>785でスペース区切りに要望が変わったんじゃないの?
792名無しさん@そうだ選挙にいこう:2009/05/02(土) 14:30:15
あと1000じゃなくて1024な
793名無しさん@そうだ選挙にいこう:2009/05/02(土) 14:31:57
>>791
セル区切りがスペース区切りになっただけで
A列の文字とB列の数字の区切りについては何も言われてないだろ
794名無しさん@そうだ選挙にいこう:2009/05/02(土) 14:32:14
すまん、よく見たらコロン要るな。
>>784の画像を見てコロンが見えなかった。
795名無しさん@そうだ選挙にいこう:2009/05/02(土) 14:36:03
>>792
1000は適当に書いたんだよ。
2007が何文字まで扱えるか知らないんでね。
796名無しさん@そうだ選挙にいこう:2009/05/02(土) 15:13:27
>>795
ここでいう文字数とは1セルあたりの文字数のことかな?

1セルあたり32KBの容量までよかったような
797名無しさん@そうだ選挙にいこう:2009/05/02(土) 15:30:10
             /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /
798名無しさん@そうだ選挙にいこう:2009/05/02(土) 15:48:35
まさにそれw
799名無しさん@そうだ選挙にいこう:2009/05/02(土) 17:12:54
>>796
保持出来るのはね
表示出来るのは1024文字
800名無しさん@そうだ選挙にいこう:2009/05/02(土) 20:07:19
質問です。よろしくお願いします。
例えば
A1〜A10になんでもいいが数字が並んでるとして
50以上100以下を足したいのですがどのようにすればいいですか?

sumif で100以下を足すのはできるのですが、、、50以上100以下ができません。
 すみませんが誰か教えてください。お願いします。
801名無しさん@そうだ選挙にいこう:2009/05/02(土) 20:18:34
>>800
100以下を足したものから50未満を足したものを引けばいい
802名無しさん@そうだ選挙にいこう:2009/05/02(土) 20:20:22
50以上の合計から、100超の合計を引けば
50以上100以下の合計だ

因みに50以上の合計から、100以上の合計を引いちゃうと
50以上100未満の合計になっちゃうから注意な

逆に100以下の合計から、50未満の合計を引いても良い
803名無しさん@そうだ選挙にいこう:2009/05/02(土) 20:23:03
>>801,802
ありがとうございます。
でも、もっと簡単にできないのですか?ありそうな感じはするのですが。
804名無しさん@そうだ選挙にいこう:2009/05/02(土) 20:28:48
関数1個ですまそうなんて素人の考えそうなことだな
805名無しさん@そうだ選挙にいこう:2009/05/02(土) 20:31:41
>>803
ユーザー定義関数
806名無しさん@そうだ選挙にいこう:2009/05/02(土) 20:40:07
>>805
ユーザー定義関数とは?
807名無しさん@そうだ選挙にいこう:2009/05/02(土) 20:47:12
>>806
マクロの親戚
808名無しさん@そうだ選挙にいこう:2009/05/02(土) 20:55:46
ぜんぜん簡単ではないがこんな方法もあるな

=SUMPRODUCT((A1:A100>=50)*(A1:A100<=100)*(A1:A100))
809名無しさん@そうだ選挙にいこう:2009/05/02(土) 21:20:35
>>803
簡単にできると思うのなら自分で考えればいいだろ
810名無しさん@そうだ選挙にいこう:2009/05/02(土) 21:25:02
>>808

       |
    \  __  /
    _ (m) _
       |ミ|
    /  .`´  \

    /\___/ヽ
   /''''''   '''''':::::::\
  . |  (。),   、(゚)、.:|   !
  |   ,,ノ(、_, )ヽ、,, .::::|
.   |   ` 、___, '   .::::|
   \  mj |   .:::/
   /`〈__ノ-‐‐一´\



なるほど!!
ありがとうです。
811名無しさん@そうだ選挙にいこう:2009/05/02(土) 21:27:18
>>803はもしかして算数苦手?
812名無しさん@そうだ選挙にいこう:2009/05/02(土) 21:51:56
>>811
人並と思います。
最後の *(a1:a100) がないとちゃんと計算されないのはなぜですか?
よくわからんです。
813名無しさん@そうだ選挙にいこう:2009/05/02(土) 22:09:49
3項のうち前2つは論理式だからだよ
814名無しさん@そうだ選挙にいこう:2009/05/03(日) 10:48:54
>801-802のほうが簡単だろうと思うのは自分だけか?
815名無しさん@そうだ選挙にいこう:2009/05/03(日) 11:25:24
>>814
そうだとは言わないが少数意見だと思う。
作業列と使わない>>808がベストアンサーかと思ふ。
816名無しさん@そうだ選挙にいこう:2009/05/03(日) 11:27:43
いやいや、
計算式を書いたから>>808の方を支持。
817名無しさん@そうだ選挙にいこう:2009/05/03(日) 12:17:50
SUMPRODUCTがベストアンサーなんてアホか?
818名無しさん@そうだ選挙にいこう:2009/05/03(日) 12:27:46
>>817
ベストアンサーをどうぞ。
819名無しさん@そうだ選挙にいこう:2009/05/03(日) 12:30:56
式1 =SUMIF(A1:A100,">=50")-SUMIF(A1:A100,">100") 
式2 =SUMPRODUCT((A1:A100>=50)*(A1:A100<=100),A1:A100)

式の短さ: 式1の勝ち
式の軽さ:: 式1の勝ち
820名無しさん@そうだ選挙にいこう:2009/05/03(日) 12:36:31
いやいや、
計算式を書いたから>>819の方を支持。
821名無しさん@そうだ選挙にいこう:2009/05/03(日) 12:45:04
安直に計算式を書いちゃうと、質問者の考える力が育まれない
822名無しさん@そうだ選挙にいこう:2009/05/03(日) 12:53:05
俺はSUMPRODUCTがベストアンサーなんて言うヴァカに向けて書いたんだよ。
823名無しさん@そうだ選挙にいこう:2009/05/03(日) 14:39:13
なら俺は
フィルタかけて50-100だけ表示させて
subtotalの9だ!(ドーン
824名無しさん@そうだ選挙にいこう:2009/05/03(日) 16:01:47
>>823
私はその方法が一番好み。
SUMIFとかSUMPRODUCT使うと頭の悪い表になる。
825名無しさん@そうだ選挙にいこう:2009/05/03(日) 16:03:52
>>823
なんて頭の悪いやり方なんだ
826名無しさん@そうだ選挙にいこう:2009/05/03(日) 16:05:49
業務内容によって適切なやり方があるわけで
これだけの質問内容と回答で頭が悪いとか言っちゃうおとこの人って・・・
827823:2009/05/03(日) 16:24:19
>>825
あたまわるくてゴメンねゴメンねー!!
828名無しさん@そうだ選挙にいこう:2009/05/03(日) 17:29:52
>>826
ケースバイケースで適した方法となり得る手法と
どのような場合でも適した方法にはなり得ない手法があることをお忘れなく
829名無しさん@そうだ選挙にいこう:2009/05/03(日) 17:35:53
>>828
マイクロソフトが馬鹿だと言うことかな
830名無しさん@そうだ選挙にいこう:2009/05/03(日) 17:49:40
SUMIFやSUMPRODUCTを使うとどのような場合でも適した方法では無いって事かなるほど勉強になります
831名無しさん@そうだ選挙にいこう:2009/05/03(日) 18:17:03
バカほど自分のバカさに気がつかないからな
832名無しさん@そうだ選挙にいこう:2009/05/03(日) 18:17:49
いやぁ、それほどでも
833名無しさん@そうだ選挙にいこう:2009/05/03(日) 18:47:37
>>750です。 >>751さん,>>752さん,ありがとうございました。

なんでうまくいかないんだろうと悩みましたが,印刷時に「白黒印刷」を設定してある
シートだったため,印刷プレビュー上では白文字にならず黒文字のままだったのでした。

白黒印刷を設定していても,白文字は白文字で印刷することができればいいのですが…
834名無しさん@そうだ選挙にいこう:2009/05/03(日) 19:16:23
>833
白黒印刷は必須なの?
プリンターの設定で白黒で印刷ではだめなの?
835名無しさん@そうだ選挙にいこう:2009/05/04(月) 02:49:04
携帯で取った写真を、パソコンにEメールコピーしたがそれをexcelに貼り付ける
方法を教えてくれ。
836名無しさん@そうだ選挙にいこう:2009/05/04(月) 02:57:00
>>835
普通にやれば良いよ
837名無しさん@そうだ選挙にいこう:2009/05/04(月) 10:43:27
>>835
挿入→ファイルから
838名無しさん@そうだ選挙にいこう:2009/05/04(月) 23:13:18
Excel2003です

VBAでつまずいております

合計を出したいだけなのですが
データーの数が不規則なので取りあえず入力の終わった行の下からVBAを使用したいです。
なので A列だとすると、合計を出したいセルより1個上にあがり$A$1まで選択みたいな感じです
オートSUMを使うと時々選択範囲が不安定になるのと、あと前後に違うVBAを付け加える予定なのでどうしてもこの方法を教えていただきたいです

初心者でもうしわあけ御座いませんが宜しくお願い致します

839名無しさん@そうだ選挙にいこう:2009/05/04(月) 23:20:01
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 日付 文字列化

A1セルにTODAY関数を使い、20090504 と表示されています。
これを他セルにコピーするとシリアル値で33937と認識されてしまいます。
この20090504を文字列として認識させたいのですが
どうすればよいでしょうか。
840名無しさん@そうだ選挙にいこう:2009/05/04(月) 23:31:48
>>839
=TEXT(TODAY(),"yyyymmdd")
としてコピーする。
841名無しさん@そうだ選挙にいこう:2009/05/04(月) 23:34:04
>>838
計算結果のみ表示なら
Sub test()
Dim LstR As Long
LstR = Range("A65536").End(xlUp).Row
Range("A" & LstR + 1).Value = WorksheetFunction.Sum(Range("A1:" & "A" & LstR))
End Sub

842名無しさん@そうだ選挙にいこう:2009/05/04(月) 23:34:26
>>838
Endプロパティ使え
843839:2009/05/04(月) 23:38:10
>>840
どうもありがとうございます!
解決しました!
844名無しさん@そうだ選挙にいこう:2009/05/04(月) 23:57:25
>>838
他列も計算結果を表示させるなら>>841を利用して
Sub test()
Dim LstR As Long
Dim LstC As Integer
Dim i As Long
LstR = Cells(65536, 1).End(xlUp).Row
LstC = Cells(1, 256).End(xlToLeft).Column
For i = 1 To LstC
Cells(LstR + 1, i).Value = WorksheetFunction.Sum(Range(Cells(1, i), Cells(LstR, i)))
Next i
End Sub

計算式を表示させるなら
Sub test()
Dim LstR As Long
Dim LstC As Integer
Dim i As Long
LstR = Cells(65536, 1).End(xlUp).Row
LstC = Cells(1, 256).End(xlToLeft).Column
For i = 1 To LstC
Cells(LstR + 1, i).FormulaR1C1 = "=Sum(R[-" & LstR & "]C:R[-1]C)"
Next i
End Sub
845名無しさん@そうだ選挙にいこう:2009/05/05(火) 00:42:59
838です
ありがとうございます

すみません説明の仕方が悪いようでちょっとイメージが違うんです
ENDを使用して位置を自動的に見つけるとダメなんです
イメージなんですけど
=sum(offset -1:$a$1)こんなの成り立ちませんが
手動で1個上のセルからA1にとばして選択したいんです
で、なおかつ実行する位置は常に違うのですがA1まで選択が前提です
すみませんわがままで どうしてもこうしないと前後がつながらないんです
よろしくお願いいたします
846名無しさん@そうだ選挙にいこう:2009/05/05(火) 00:48:04
だからそれもEndで出来るって
要は使い方次第だ
847名無しさん@そうだ選挙にいこう:2009/05/05(火) 01:07:57
>>845
=SUM(A1:INDIRECT("A" & ROW()-1))
を入れればいいのかな?
848名無しさん@そうだ選挙にいこう:2009/05/05(火) 01:08:28
>>847
あ、間違えた。忘れて。
849名無しさん@そうだ選挙にいこう:2009/05/05(火) 01:29:34
>>845
先頭行(固定)から最終行(変動)までの合計なら、>>841,844で十分なんだが

>どうしてもこうしないと前後がつながらないんです
計算させるコードの前後にもコードあるので繋がらないってことなのか?

やろうとしていることがイマイチわからん・・
自分で書いたコードを提示した方が早いんじゃね
850名無しさん@そうだ選挙にいこう:2009/05/05(火) 02:59:18
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Exce2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 何で調べたらいいのかわかりません。

先日、外国の株分析関係のものをダウンロードして以来、
エクセルを立ち上げる度にそのプログラムも起動してしまいます。

勝手に起動しないようにするにはどうしたらよいでしょうか?
851名無しさん@そうだ選挙にいこう:2009/05/05(火) 05:42:18
すいません!
皆さん教えてください!!

シート1の C の列に成約、不成約、その他という物があります。
それをシート2に成約の行のみ抽出したいです。

どうすればいいですか??
852名無しさん@そうだ選挙にいこう:2009/05/05(火) 05:55:59
>>850
・オプションで「起動時に…」てあるところに何か入っていたら、消す。
・Cドライブ→(何かあった気が)→Application data→Excel
に、それと思しきものがあれば、消す。

うろ覚え

>>851
まずは>>1を読んでやり直せガキ
853名無しさん@そうだ選挙にいこう:2009/05/05(火) 09:16:09
>>849

>>845です
ENDを使用して再計算をかけるとどんどん下に和の和が増えていってしまうんで使えません

100
100
100
実行300
再計算すると600
再計算すると1200になってしまします

変動から固定に選択したいんです
要は見積書を作っているんですけど
終わった時点で小計 消費税 合計を一発で表示したいんと思ってます
現在loutusでは簡単にできたのですがVBAはよくわからないです

=SUM(現在より1個上のセル (変動):$A$1(固定))
みたいな感じです
よろしくお願いします
854名無しさん@そうだ選挙にいこう:2009/05/05(火) 09:47:08
>>853
見積書ぐらいなら関数で十分、VBA使うほどのことでもないな

最終行が変動するっつっても決まった範囲内なんだろうし、小計・消費税・合計欄に
式を入れておくだけでいいんじゃないの?

A1 100
A2 100
A3 100
   ・
   ・
   ・
A20 小計 =sum(A1:A19)
A21 消費税 =A20*1.05
A22 合計 =sum(A20:A21)
855名無しさん@そうだ選挙にいこう:2009/05/05(火) 09:52:52
だからそれもEndで出来るって
要は使い方次第だ

> ENDを使用して再計算をかけるとどんどん下に和の和が増えていってしまうんで使えません
それは状況的にEndが使えないのではなく、Endの使い方が悪いからおかしくなってるだけ

> 再計算すると600
> 再計算すると1200になってしまします
ならねーよ
何度やっても300だ

どうしても使い方解らねーならブックうpしろよ
854の言う通り関数で事足りる問題かも知れないし
ブックがあればVBA使う方法でも具体的なアドバイスが出来る
856名無しさん@そうだ選挙にいこう:2009/05/05(火) 11:29:03
明細行の直下のセルに合計額を記入しないといけない書式の見積書を
毎日何百と作る必要があるような業務なのかなあ・・・
857名無しさん@そうだ選挙にいこう:2009/05/05(火) 11:38:40
ボタン押した位置に応じて集計セル作りたいって事なんじゃないの?
activecell使ってセル指定すればいいんじゃないのかな

activecell.Formula = "=sum($A$1:" & activecell.Offset(-1).address &")"
858名無しさん@そうだ選挙にいこう:2009/05/05(火) 12:23:05
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Exce2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 オートフィルの条件 変更

オートフィルに関する質問です。

下記のセルAの商品コード(数字のみ)はオートフィルで同じ数値を出す事ができますが、
セルBの商品名(文字・数字の混在)はオートフィルで数値が増えていきます。

ドラッグした後に「オートフィルオプション」→「セルのコピー」か
Ctrlキー同時押しで同じ数値にする事は出来るのですが、
これを書式上の設定で、セルBをオートフィルオプションとCtrlキーを使わずに
同じ数値を連続させる事は出来るでしょうか?
仕事で多量のデータを作るので作業を少しでも簡略化したいのですが・・・
http://windyakin.if.land.to/src/up38_1197.jpg
859名無しさん@そうだ選挙にいこう:2009/05/05(火) 12:27:40
>>857
ありがとうございます
ビンゴです
参考書を見よう見まねでやってみたのですがなかなかうまくいきませんでした
つぼを突く応用本がなかなかなかったもので

ほんと助かりました

他の方々もありがとうございました

854様のような方法もあるのですが
1枚で完結する見積や数十枚となる見積がありますので不採用なんです

856様
一日何百は作りませんが
年間 1000件以上はあります
簡素化とミスを無くすためにどうしても必要なことで
Loutusで出来てExcelでできないと言うのもちょっと......
860名無しさん@そうだ選挙にいこう:2009/05/05(火) 12:31:41
出来無くないじゃん
861名無しさん@そうだ選挙にいこう:2009/05/05(火) 12:47:19
先生ぶって明後日の方向の回答して勝手にキレてたやつ涙目だなwww
ブックうpしろよwwwwww
アワレwwwww
862名無しさん@そうだ選挙にいこう:2009/05/05(火) 12:51:15
>>858
セルB2とB3を同じデータにして、B2とB3を選択→B3の右下十字をフィルすればいい
また、あらかじめA列にデータが必要分入っていれば上のB3の右下十字をWクリックで一気に入る
863名無しさん@そうだ選挙にいこう:2009/05/05(火) 12:59:49
>>861
嫌なことがあってもいつかは良いこともあるから頑張って生きろよ
864名無しさん@そうだ選挙にいこう:2009/05/05(火) 16:28:44
>>852
ありがとうございました!ありがとうございました!ありがとうございました!!
もう半年もこれに悩んでおりました!!!!
865名無しさん@そうだ選挙にいこう:2009/05/05(火) 17:28:54
Mac用のExcel2004で作った表をWin用のExcel2007で開いたら行間が狂ってしまいます

設定等で簡単に直るでしょうか?

具体的には MacでA4いっぱいで作成した表が 
WinではA4で余白だらけになってしまいます(行間が狭くなってる為)
幅は同じです

なにか解決方法がありましたら教えて下さい
866名無しさん@そうだ選挙にいこう:2009/05/05(火) 17:45:41
お尋ねします
EXCEL2003が実用動作できる最小のPCは何でしょうか?
出来ればきびきび動くものがほしいです。
867名無しさん@そうだ選挙にいこう:2009/05/05(火) 17:50:55
>>866
「実用」は用途によるし「きびきび」は主観でしかないので答えるのは無理
最小の定義も不明だな。Mini-ITXタイプのマシンでも探してるってこと?
868名無しさん@そうだ選挙にいこう:2009/05/05(火) 17:52:55
>>865
無理。
ただでさえ2007は互換性が低いのに、MacからWinじゃ絶望的。
とくに印刷は鬼門。あきらめるか全部やり直し。
妥協点としてはVBAで行の高さを一定の率で引き延ばしてみる。
869866:2009/05/05(火) 17:57:34
安いものがいいので最近のnet PCぐらいでしょうか・・・
出来れば手のひらサイズがいいのですが
870名無しさん@そうだ選挙にいこう:2009/05/05(火) 18:34:26
とりあえずスレ違いってことで
871名無しさん@そうだ選挙にいこう:2009/05/05(火) 18:58:32
モバイル板とかノートPC板とかパソコン一般板で聞いた方がいいなじゃないか
Windowsが普通に動くような最近のマシンならExcelが動かないという事はないし
普通に動く以上のレベルでキビキビ動いてくれないと困るという事であれば用途が分からないことにはどうしようもないだろ。
872名無しさん@そうだ選挙にいこう:2009/05/05(火) 20:44:58
>>868
無理なんですね(泣)

絶対わざとですよね
Microsoftってほんと嫌な会社すね
ITUNEとか隔たりがなくUPでーとしてるのに
メディアプレーヤーとかMac用は全然遅れてるし
絶対 壁を作ってますよね
873名無しさん@そうだ選挙にいこう:2009/05/05(火) 20:51:16
>Microsoftってほんと嫌な会社すね

創業以来の伝統ですから諦めてください
874名無しさん@そうだ選挙にいこう:2009/05/05(火) 20:52:25
>>872
つーかこれだけwindowsが普及してるのに互換性が定かでないmacにする意味ってなんかあんの?
馬鹿じゃないの?
875名無しさん@そうだ選挙にいこう:2009/05/05(火) 21:02:43
Macはカッコイイ
876名無しさん@そうだ選挙にいこう:2009/05/05(火) 21:11:20
それだけだからな
877名無しさん@そうだ選挙にいこう:2009/05/05(火) 21:15:16
>>862
ありがとうございます。
やはり書式上の設定で変更は無理の様ですね。
878名無しさん@そうだ選挙にいこう:2009/05/05(火) 21:17:01
なんか優越感にひたれるんですよね

確実にWinユーザーより上みたいな感じで使ってます

冗談は別にして使い易いんですよ
馬鹿な自分には直感的に使えるんで助かってます
879名無しさん@そうだ選挙にいこう:2009/05/05(火) 21:42:51
そっか。
他のパソコンと互換性がないのに使いやすいんだ。
ほんとに馬鹿なんですね。
880名無しさん@そうだ選挙にいこう:2009/05/05(火) 23:17:08
>>879
わかるわかる
割れ的にはWindows素晴らしいよな
881名無しさん@そうだ選挙にいこう:2009/05/05(火) 23:18:59
割れによるコスト差を考えたらwindowsなんてただみたいなもんだよ。
882名無しさん@そうだ選挙にいこう:2009/05/05(火) 23:51:22
とりあえず自分の好みか仕事の能率かどっちか選べ
別に好みを貫き通すのは悪い事じゃないぞ。ただし他人に迷惑かけるな。
とくに愚痴は言うな。相談される方はなんで互換性がないとかMacのが使いやすいとか
そんなの聞き飽きてるんだ。自力でなんとかしろ。
883名無しさん@そうだ選挙にいこう:2009/05/06(水) 00:09:50
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 SUMPRODUCT SUMIF
       計
A君 50 40 … 1200
A君 40 30 … 1320
B君 20 20 … 1350
C君 30 10 … 2450


A君,B君…の合計を次の関数で表示したいのです。
=SUMPRODUCT(($A$1:$A$100=$A1)*(G$1:G$100))

ところが,「計」の部分は
=IF(AND(B2="",C2="",D2=""),"",SUM(B2:D2))
このような関数を入れて計算しています。

すると,""と処理されたところがSUMPRODUCTでエラーになるようです。
空白を合計した箇所を0と表示できません。
ただ,0と入力しているところは0と表示させる必要がありますので,0を非表示にはできません。

よろしくお願いします。
884名無しさん@そうだ選挙にいこう:2009/05/06(水) 01:52:27
>>883
E列に=IF(AND(B1="",C1="",D1=""),"",SUM(B1:D1))
として計を出してるんだったら
F列に=SUMIF(A:A,A1,E:E)
でいいんじゃないの?
885名無しさん@そうだ選挙にいこう:2009/05/06(水) 11:13:57
>>883
つーか重要なセル番地がわからねーー
何となく対処法はわかるけど今のままじゃ答えられねーな。
886名無しさん@そうだ選挙にいこう:2009/05/06(水) 11:23:32
答えでてるだろw
887名無しさん@そうだ選挙にいこう:2009/05/06(水) 11:42:30
NIS2009(3User):\5188(Amazon.co.jp)
888887:2009/05/06(水) 11:44:07
誤爆スマソ
889名無しさん@そうだ選挙にいこう:2009/05/06(水) 12:03:58
何をやってるのかさっぱりわからんが
>=SUMPRODUCT(($A$1:$A$100=$A1)*(G$1:G$100))
これって=SUMIF($A$1:$A$100,$A1,G$1:G$100)と同じじゃねーの?
必要もないのに重いSUMPRODUCTなんか使っちゃいかんよ。
890名無しさん@そうだ選挙にいこう:2009/05/06(水) 12:05:24
すまん、上は>>884と同じだったな。
891名無しさん@そうだ選挙にいこう:2009/05/06(水) 17:09:09
質問です。
全シート上の関数を削除してデータだけにしたいのですがどのようにマクロを組めば良いでしょうか?

Sub Macro1()
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

これだと現在のシートしか消せないためxlsファイル上に複数のシートがある場合は
1個1個実行させないといけないため不便なのです。

全シート上の関数を全部まとめて計算結果の「値」に置き換えるにはどうすれば良いですか?
892名無しさん@そうだ選挙にいこう:2009/05/06(水) 18:22:43
>>891
Sub test()
Dim WS As Worksheet
For Each WS In Application.ActiveWorkbook.Worksheets
WS.Select
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells(1, 1).Select
Next
Application.CutCopyMode = False
End Sub
893名無しさん@そうだ選挙にいこう:2009/05/06(水) 18:27:18
素朴な質問です

みなさんはどこで勉強されているんですか?
894名無しさん@そうだ選挙にいこう:2009/05/06(水) 18:33:43
>>892
ありがとうございました。
試したところ無事動作しました。

ちなみに複数のxlsファイルを開いている時に全てのファイル上の全シートに同じ
処理を施す事は可能なのでしょうか?
それともマクロはあくまでそのxlsファイル上しか効力が及びませんか?
895名無しさん@そうだ選挙にいこう:2009/05/06(水) 18:41:47
>>893
ほとんどの人が独学だろうね。
俺はエクセルファンクラブやらMougやらExcelQ&Aサロンやらで質問したり回答したりして勉強した。
896名無しさん@そうだ選挙にいこう:2009/05/06(水) 18:43:30
社内ニートや学生ならそれで十分だろうなあ
時間無いならセミナー受けて資格本やった方がいいよ
897名無しさん@そうだ選挙にいこう:2009/05/06(水) 18:44:05
>>894
これはアクティブなブックに対して処理してる。
処理したいファイルをアクティブにした状態でこのマクロを実行すれば
そのファイルにも処理はされるけど
開いているファイルすべてに処理するなら
そういうコードを書かないといけない。
よくあるのは処理したいファイルの入っているフォルダを指定して
順に開いては処理して保存して閉じてまた次を開いて・・・という処理を行うコード。
898名無しさん@そうだ選挙にいこう:2009/05/06(水) 18:44:31
>>894
フォルダ指定して処理するのはこんな感じ。

Sub Macro1()
Const FolderPath = "C:\Users\**\Documents\" 'ファイルのあるフォルダのパス
Dim FileName As String
Dim MyFN As String
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
MyFN = ThisWorkbook.Name
FileName = Dir(FolderPath & "*.xls")
Do Until FileName = ""
If FileName <> MyFN Then
Workbooks.Open FolderPath & FileName

'ここにやりたい処理を書く

ActiveWorkbook.SaveAs true
ActiveWorkbook.Close
End If
FileName = Dir()
Loop
MsgBox ("処理終了")
End Sub
899名無しさん@そうだ選挙にいこう:2009/05/06(水) 18:47:25
>>898の保存処理間違えた。

Sub Macro1()
Const FolderPath = "C:\Users\**\Documents\" 'ファイルのあるフォルダのパス
Dim FileName As String
Dim MyFN As String
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
MyFN = ThisWorkbook.Name
FileName = Dir(FolderPath & "*.xls")
Do Until FileName = ""
If FileName <> MyFN Then
Workbooks.Open FolderPath & FileName

'ここにやりたい処理を書く

ActiveWorkbook.Close SaveChanges:=True
End If
FileName = Dir()
Loop
MsgBox ("処理終了")
End Sub
900名無しさん@そうだ選挙にいこう:2009/05/06(水) 18:55:50
>>895
横からスマン
何年ぐらい掛かった 1年以上かかった?
901名無しさん@そうだ選挙にいこう:2009/05/06(水) 19:54:17
実務と並行して使ってたら、遅くとも1ヶ月程度で
使いこなせるようになるよ
902名無しさん@そうだ選挙にいこう:2009/05/06(水) 20:05:13
そんなに早く
903名無しさん@そうだ選挙にいこう:2009/05/06(水) 20:38:21
>>900
そんなのどのレベルまで求めるかによるだろ。
904名無しさん@そうだ選挙にいこう:2009/05/06(水) 20:38:57
2ヶ月も3ヶ月もかかってたら、クビとは言わないまでも
「使えないヤツ」のレッテル貼られるぞ
905名無しさん@そうだ選挙にいこう:2009/05/06(水) 20:40:53
>>904
そんなのどのレベルまで求められているかによるだろ。
906名無しさん@そうだ選挙にいこう:2009/05/06(水) 20:59:38
>>905
レベル、レベルと、なに言ってんだか
初心者に最初からヤヤコシイ仕事させるか
あんた後輩にマル投げして文句ばっか言ってんだろ
907名無しさん@そうだ選挙にいこう:2009/05/06(水) 22:22:13
>>906
おまえ、相当にバカだな。
「使いこなす」ってどうなったら使いこなした事になるんだ?
あと>900の質問が漠然としている事もわからないのか?
Excelの立ち上げとSUM関数を使いこなす程度のレベルなら数分で覚えられるだろ。
VBAを手書きするレベルならもっとかかるよな?
908名無しさん@そうだ選挙にいこう:2009/05/06(水) 22:32:39
>>899
ありがとうございました。後で試して見ます。
909名無しさん@そうだ選挙にいこう:2009/05/06(水) 23:46:37
Excelなんてsum、sumif、vlookup、roundさえ知っていれば、
見積書だって事業計画だって作れるし、なんでもできるだろ。
つうか、これだけでも奥が深いしなぁ。
910名無しさん@そうだ選挙にいこう:2009/05/07(木) 00:00:30
ifとピボットが抜けてますよ
911名無しさん@そうだ選挙にいこう:2009/05/07(木) 00:08:57
sumproductさえ知っていれば大抵の事はできるw
912名無しさん@そうだ選挙にいこう:2009/05/07(木) 00:15:14
Excelに限らないけど大抵の事は必要に差し迫られてから調べればいいだけ。
仕事に就く前にやたら心配する必要なんてないんだけどね。
勉強するっていう発想が何かずれてるような気がするな。
913名無しさん@そうだ選挙にいこう:2009/05/07(木) 00:45:41
仕事に必要なことは社員研修で教えるから、
専門知識よりも社会常識を身につけてから入社してきてください。
914名無しさん@そうだ選挙にいこう:2009/05/07(木) 02:49:54
だいぶ解ってきたなあ、というころになって、マニュアルを最初から読んでみると
意外な発見があったりするので、マジおすすめ。
915名無しさん@そうだ選挙にいこう:2009/05/07(木) 04:38:04
教えてください。
A1(2009/6/1 18:06)+1=A2(2009/6/2 18:06)とセルには数式が入っています。
実際にはこんな感じです→ =(A1+1)
この数式を残したまま時間を編集できませんでしょうか?

916名無しさん@そうだ選挙にいこう:2009/05/07(木) 05:51:11
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007と2003
【3 VBAが使えるか    .】 いいえ


印刷範囲の設定で範囲を指定して、一度プレビューを出して元の画面に戻ると
印刷範囲の点線が見えますよね?図の挿入で書類をexcelで加工したいので
この点線が書類の下に入り込むのではなくて、書類の上に表示されて
目視で加工(書類の必要な部分だけ枠線に入れる)できるようにしたいのですが、
どういうふうに設定すると出来ますか?また一度プレビューを出して元の画面に戻らなくても
excelを開いたら最初から枠線が出ている状態にしたいのですが、どうすれば良いでしょう?
917名無しさん@そうだ選挙にいこう:2009/05/07(木) 08:15:13
>>915
VBAで計算すれば良い
そうすればA1が変更されれば自動計算されるが
自動計算された後のA2の日時は自由に編集出来る
A2を編集してもA1が変更されれば、再度自動計算される

あとは自分でコード書いてね>>3★2


>>916
Excelは計算ソフトなので印刷関連はあまり凝ってません
そういうことやりたければワープロ使いましょう
計算が必要な場合でも、ちょっとした計算ならワープロで出来るし
複雑な計算ならExcelの表を挿入するなどすれば良い
適材適所で使い分けって事でよろしく
918名無しさん@そうだ選挙にいこう:2009/05/07(木) 08:25:56
>>909-911は自演のネタだな
919名無しさん@そうだ選挙にいこう:2009/05/07(木) 10:26:27
>>916
>excelを開いたら最初から枠線が出ている状態

Sub auto_open()
ActiveSheet.DisplayAutomaticPageBreaks = True
End Sub
920名無しさん@そうだ選挙にいこう:2009/05/07(木) 10:47:25
ブック内の全シートに設定では

Sub auto_open()
Dim ws As Worksheet
Dim fws As String
fws = ActiveSheet.Name '起動時に表示されてたシート
For Each ws In Worksheets
ws.Select
ActiveSheet.DisplayAutomaticPageBreaks = True
Next
Sheets(fws).Select '起動時のシートに戻る
End Sub
921名無しさん@そうだ選挙にいこう:2009/05/07(木) 11:29:38
>>916
表示→改ページプレビューがいいんじゃないかな
>>915
=(A1+1)+1
とすれば更に一日追加されるよ
922名無しさん@そうだ選挙にいこう:2009/05/07(木) 15:21:17
ここの人たちって2ちゃねらーなのにいい人達
ですよね

これからも自宅警備のかたわらにサポートよろしくお願いします
923名無しさん@そうだ選挙にいこう:2009/05/07(木) 17:16:05

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


1.Excelで、セルに入力するとき、セルをダブルクリックして入力しています。
  しかし時々、ダブルクリックすると選択セルが表の一番上や一番左のセルまで
  突然飛んでしまいます。この機能を止めたいのですが、可能でしょうか?
  また、この「ダブルクリックで飛んで行ってしまう機能」は何と呼ぶのでしょう?

2.セルを複数選択しようと、マウスボタンを押しながら、例えば下の方にズーッと持って行くとき、
  セルに時の無いところまで行くと、スクロール速度が突然速くなって、
  あっという間に何千行の位置に行ってしまいます。
  「おっと行き過ぎた」と上に戻していくと、今度は、目的セル付近を通り過ぎて
  表の中央まで行ってしまう。
  「おっと行き過ぎた、おっと行き過ぎた」の繰り返し。
  罫線の無い所でも速度が速くならないようにする方法は無いでしょうか?

宜しくお願いします。
924名無しさん@そうだ選挙にいこう:2009/05/07(木) 17:17:55
訂正です
×セルに時の無いところまで行くと
○罫線の終わりやセルに字のないところまで行くと
925名無しさん@そうだ選挙にいこう:2009/05/07(木) 17:24:04
>>923
1.セルの端の罫線をダブルクリックすると最終セルだったかな、そこまで飛ぶ
止める方法は無い。VBAなら出来るかもしれないが不可なら無理
機能の名前は知らない。
2.セルを選択
CTRL+SHIFT押しながら右、下等と入力すれば値や数式が入力されているシマを選択できる
CTRL+end等も試してみると良い
926名無しさん@そうだ選挙にいこう:2009/05/07(木) 19:21:39
>>917
ご回答に賜り感謝します。
解決策はVBAでしたか・・(;^_^A アセアセ…
私には敷居が高すぎるんですよね・・(笑)
927名無しさん@そうだ選挙にいこう:2009/05/07(木) 19:28:14
>>923
1.セルをダブルクリックするのは入力済みの数値や文字列を修正する時で
上書きで入力すればいいときはクリックすればいいだけとか
ダブルクリックの代わりにF2を押しても同じ事が出来るとか
その辺は分かってるかな?

2.選択したい範囲の左上のセルをクリック→右下のセルをShiftを押しながらクリック
でも範囲選択できるよ。
これならドラッグするわけじゃないから「あれ〜」てな事にはならない。
キーボードでやるならShift+矢印キーで範囲選択出来る。
928名無しさん@そうだ選挙にいこう:2009/05/07(木) 19:32:13
>>921
すみません。私の例題が変でした。
以後気をつけます。
ご回答ありがとう御座いました。
929名無しさん@そうだ選挙にいこう:2009/05/07(木) 19:56:14
>>925
2.
マウスポインタが画面の下に外れるほど高速のスクロールになる。
速くしたくならないのであれば画面からあまり離さずスクロールする。
930名無しさん@そうだ選挙にいこう:2009/05/07(木) 19:56:46
>>929
速くしたくないのであれば、だ。
931名無しさん@そうだ選挙にいこう:2009/05/07(木) 20:24:15
早速のご回答、ありがとうございました。

>止める方法は無い。VBAなら出来るかもしれないが不可なら無理
ありがとうございます。やっぱりないですか。残念です。

>CTRL+SHIFT押しながら右、下等と入力すれば値や数式が入力されているシマを選択できる
>CTRL+end等も試してみると良い
ありがとうございます。
いろいろ出来るんですね。初めて知りました。ありがとうございます。

>>927
>その辺は分かってるかな?
はい、知っています。白いセルに入力するときや、現在の内容を上書きOKのときは、
シングルクリックしています。文字の途中を修正する時だけ、ダブルクリックです。
便利な機能かも知れないのですが、そうでもない人もいるので、
プリファレンスか何かで設定出来ればよいのですけどね。

>2.選択したい範囲の左上のセルをクリック→右下のセルをShiftを押しながらクリック
>でも範囲選択できるよ。
はい、Shiftキーを使った矩形指定はバリバリ使っています。が、アクションが多くて面倒なだと思います。
やはり「カチッ、ズリズリ〜〜〜〜、パッ」の方が、早いし直感的だし、好きです。「あ〜れ〜〜」さえ無ければ。
932名無しさん@そうだ選挙にいこう:2009/05/07(木) 20:26:38
>>929
>マウスポインタが画面の下に外れるほど高速のスクロールになる。
>速くしたくならないのであれば画面からあまり離さずスクロールする。
ありがとうございます。これも良く使っています。
でも、早く範囲の端に辿り着くために、ついついやりすぎて、行き過ぎしてしまいます。
罫線なり文字のある範囲はExcelはわかっているのですから、端部まできたら、一旦止まっても
いいと思います。下に「あ〜れ〜〜」上に「あ〜れ〜〜」。この繰り返しで、軽くイラついてしまいます。
VBAで「端っこまで行くぞ!」ボタンを作ったとき、そのボタンをシート上ではなく、
メニューバーの仲間に入れることはできるのでしょうか? だったら自分で関数を作ろうかなとも考えています。
どうもありがとうございました。

933名無しさん@そうだ選挙にいこう:2009/05/07(木) 20:33:56
>>932
自作マクロをコマンドボタンに登録してツールバーに入れることはできるよ。
「ツール」>「ユーザー設定」で「コマンド」タブの「分類」の「マクロ」を選択して
「ユーザー設定ボタン」をツールバーにドラッグ。
で、マクロの登録をする。
ボタンイメージは変更したり編集もできる。
934名無しさん@そうだ選挙にいこう:2009/05/07(木) 21:28:07
>932
キーボードのEndキーもしくはPagedownキーを使ってみれば?
935名無しさん@そうだ選挙にいこう:2009/05/07(木) 21:34:41
>>932のはマックだけど、エンドキーとかあるのかな?
ShiftとAltは何か代わりのキーがあった気がするけど。何かお花か扇風機みたいなマークのついたキーとか。
936名無しさん@そうだ選挙にいこう:2009/05/07(木) 22:09:44
>919>>920
ありがとうございます。
書類を取り込んで判子をいっきに押してるもので・・・。
プログラム組んでくれたのはありがたいのですが、つかい方が判らないです><
VBAとかいうものですか?
937名無しさん@そうだ選挙にいこう:2009/05/07(木) 22:13:57
>936
それはExcelでやるべき内容ではないのでは・・・?
判子を貼り付けてるだけなんでしょ?
画像処理ソフトでやった方がいいんじゃないの?
938名無しさん@そうだ選挙にいこう:2009/05/07(木) 22:21:28
>>936
登録方法

エクセル画面のメニュー→ツール→マクロ→Visual Basic Editor
Visual Basic Editor画面のメニュー→挿入→標準モジュール→左上ペインのModule1をWクリック→コードを貼付

上書きで保存終了→再度エクセルを起動でプログラムが走ります。
939名無しさん@そうだ選挙にいこう:2009/05/07(木) 22:23:37
わざわざ取り込んでエクセル上でハンコを押すメリットがよく分からん・・・
940名無しさん@そうだ選挙にいこう:2009/05/07(木) 22:26:55
エクセルやワードに判子のグラフィック貼り付けてくるやつたまにいるよな。
あれって何が目的?
941名無しさん@そうだ選挙にいこう:2009/05/07(木) 22:30:40
電子印だよ
紙削減でうちの会社はワードで印鑑押印にしてる
942名無しさん@そうだ選挙にいこう:2009/05/07(木) 22:31:46
>>940
判子もサインも形式というか形骸なんだよね
943名無しさん@そうだ選挙にいこう:2009/05/07(木) 22:38:28
ハンコのグラフィック貼り付けてるだけならハンコ本来の意味からは程遠いよね
http://www.nikkeibp.co.jp/style/biz/skillup/spam/070702_52th/index1.html
944名無しさん@そうだ選挙にいこう:2009/05/08(金) 01:16:35
お願いします
XP エクセル2003です
一つのセル内に
1月

10月
と入力したときに〜だけを縦書きにするにはどうしたらよいですか?
945名無しさん@そうだ選挙にいこう:2009/05/08(金) 01:47:13
>>944
この回答4、うちの2000ではできなかったけど2003ならできるのかな?
http://www.kotaete-net.net/Default.aspx?pgid=14&qid=160649602489
946名無しさん@そうだ選挙にいこう:2009/05/08(金) 03:53:51
Macですけどいいですか?
MacOSX Tigerです。OFFICE2000のExcelです。
1つのセルの中に、1行の文章を折り返して表示するとき、
・目的のセルに、文章を入力する。
・そのセルを選択して、command+1(セルの書式設定)、
 配置、「□折り返して全体を表示する」をチェック。
以上の操作で、1つのセルに1つの文章が自動改行されて配置されます。
ところがセル幅を変えると自動改行が勝手に変なところで改行してし見にくくなります。
そこで、そのセル内の文章の、任意の位置で折り返したいのですが、どのようにしたら
良いでしょうか?

例) 現在の状態
セル内で折り返す設定をしたときに、自分で改
行位置を変えるには、どのように操作したら良
いでしょうか?

例) このようにしたい
セル内で折り返す設定をしたときに、
自分で改行位置を変えるには、
どのように操作したら良いでしょうか?
947名無しさん@そうだ選挙にいこう:2009/05/08(金) 03:56:49
>>945
フォント名の先頭に@を付けると「そのフォントはインストールされていません」
というエラーが出るね。ただしプレビューではちゃんと90度回転してる。
けどセルの中には上下が反転したユニコードの代替フォントが表示される。
わけわからん。
ttp://windyakin.if.land.to/src/up38_1203.png

一応2000、2003、2007で試したけど、どのバージョンでやってもまったく同じ結果になった。
もしかしたら環境によるのかも。
948名無しさん@そうだ選挙にいこう:2009/05/08(金) 03:58:37
>>946
セルの中で改行はCommand + Option + Return
949名無しさん@そうだ選挙にいこう:2009/05/08(金) 08:07:37
>>941
紙削減したいからハンコのグラフィック貼り付ける?
斜め上の発想だ。真似できない。
950名無しさん@そうだ選挙にいこう:2009/05/08(金) 09:41:26
>>945
>>947
ありがとうございます。 縦になってるのか画面で確認出来ないし、プリンターが手元に無いので、どう印字されるのか分からないですが、置き代えれました。

951名無しさん@そうだ選挙にいこう:2009/05/08(金) 09:43:53
>>943
“電子印鑑”として銀行印を使ったりしたら大変だ。
銀行の出金請求用紙に印鑑の絵柄をプリンタで印刷して、不正に預金を引き出す犯罪がすでに発生している。

せいぜい伝票に押す印鑑程度と思ってたら・・
中小企業ってここまでひどいのか??
952名無しさん@そうだ選挙にいこう:2009/05/08(金) 09:55:25
ひどいのはお前の頭の方だわな
953名無しさん@そうだ選挙にいこう:2009/05/08(金) 10:29:05
>>947
2007と2003で試したけど縦にならなかった
954名無しさん@そうだ選挙にいこう:2009/05/08(金) 10:55:23
>>947
ひらがな全角英数字だとなる
半角英数字だとならない
あとエラーはでない@2003
955名無しさん@そうだ選挙にいこう:2009/05/08(金) 12:24:05
>>952
えっ
956名無しさん@そうだ選挙にいこう:2009/05/08(金) 12:31:49
952じゃないけど
なんでわからんの?
書類をコピー機及びスキャナーで取り込んで印刷して不正に預金を引き出す犯罪は起きている。
電子印鑑を銀行印として使ったりしたら大変だ。
PC上だともっと楽だから
957名無しさん@そうだ選挙にいこう:2009/05/08(金) 12:59:59
印鑑の画像を貼るだけなのは本来の電子印鑑とは違うし、
捺印された物をスキャナーで読み込んで不正コピーするのはまた別の話

まあ画像貼るだけのソフトにも電子印鑑て名前を付けちゃう人がいるから
まぎらわしいのは確かだけど
958名無しさん@そうだ選挙にいこう:2009/05/08(金) 13:34:02
>>947
@付けるやり方は印字したら代替記号そのまんま印字されました。全角の〜なんですけどね
テキストブック使ったら出来たけど違和感があります。
959名無しさん@そうだ選挙にいこう:2009/05/08(金) 13:39:07
>>948
ありがとうございました。
バッチリできました。ありがとうございました。
960名無しさん@そうだ選挙にいこう:2009/05/08(金) 14:04:22
関数について教えてください。
A B
0.1 0
0.3 2
0.5 0
0.8 3
1.0 5
1.2 0
1.3 0
といった表があった時に
Bが出現し始めた時のAの値と出現を終える時のAの値を返したいのですが、
(それぞれ0.3、1.0)
良い関数ありますでしょうか?
961名無しさん@そうだ選挙にいこう:2009/05/08(金) 14:39:25
>>960
とりあえず0.3を求める方法。
C列を作業列として、
C1=AND(B1<>0,B1=SUM(B$1:B1))
C2以降はC1の式をコピペ、で2行目だけがTRUEになる。
あとはこれの応用でできるはず。
962名無しさん@そうだ選挙にいこう:2009/05/08(金) 14:40:35
>>960
C1=COUNTIF($B$1:B1,">1")
D1=A1
下にオートフィル
E1=VLOOKUP(1,C:D,2,0)
最大を求めたいときはAB選択してAを降順に並べ替え
スマートなやり方じゃなくてスマン
963名無しさん@そうだ選挙にいこう:2009/05/08(金) 14:46:36
>>961
>>962
ありがとうございます。
助かりました。
964名無しさん@そうだ選挙にいこう:2009/05/08(金) 15:20:38
Macなんですけど

編集するときに WinみたいにF2でやりたいと思いますが割り当てってできますか?
965名無しさん@そうだ選挙にいこう:2009/05/08(金) 15:39:41
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000、2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 上手いワードが思いつきませんでした

セルをクリックで選択して、選択したセルの右下の小さい黒い四角をドラッグすると
セルの内容(値や数式)がいい感じに補完されながらびびびっとコピー(?)されていきますが
このときセルの罫線も一緒にコピーされてしまうのを止めたいのですが、どうすれば良いでしょうか?
966名無しさん@そうだ選挙にいこう:2009/05/08(金) 16:06:13
>>965
オートフィルっていう
右クリックでオートフィルするとメニューがでてくるから試してみ
967名無しさん@そうだ選挙にいこう:2009/05/08(金) 16:20:21
>>966
できました。ありがとうございます

書式なしコピーが希望の動作なのですが、ドラッグの度にオプションから選択しています
デフォルトを書式なしにはできないでしょうか?
968名無しさん@そうだ選挙にいこう:2009/05/08(金) 17:29:59
>>967
私は知らないけど多分無理じゃないかな
少なくともオプションじゃ無理
オートフィル使ったときにイベント発生なんて出来たら可能かもしれない
Excel VBA質問スレ Part10 [プログラム]
ttp://pc12.2ch.net/test/read.cgi/tech/1235332603/l50x
で聞いてみては
969名無しさん@そうだ選挙にいこう:2009/05/08(金) 21:25:08
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel セル 右下 ダブルクリック

セルの右下でマウスポインタが「+」になったところでダブルクリックした場合、
横の列にデータがあると、そのデータの終わりの行までオートフィルしたように下向きにコピーされますが、
この操作をキーボードでする方法は無いでしょうか?
970名無しさん@そうだ選挙にいこう:2009/05/08(金) 21:32:54
>>969
下方向
Shift+↓キーで範囲選択後Ctrl+D
横方向
Shift+→キーで範囲選択後Ctrl+R
971名無しさん@そうだ選挙にいこう:2009/05/08(金) 21:53:17
>>970
ありがとう。
でも、20,000行くらいのコピーを毎日するんで↓キーやPageDownはかったるい。

マクロ組むしかないのかなぁ。。。
972名無しさん@そうだ選挙にいこう:2009/05/08(金) 21:57:07
マクロ組んでよ
973名無しさん@そうだ選挙にいこう:2009/05/08(金) 21:59:32
>971
Ctrl+Cでコピーして、
shift押しながらCtrl+Endで下まで選択
Ctrl+Vで貼り付け
974973:2009/05/08(金) 22:01:15
追記
マクロ組むか記録して、そういうボタン登録するといいよ
975名無しさん@そうだ選挙にいこう:2009/05/08(金) 23:08:32
>>964
セルの編集はcontrol + u
割り当てを変更できるかどうかは知らんが
何かフリーウェアを使えば出来そうな気もする
詳しくはMac板で
976名無しさん@そうだ選挙にいこう:2009/05/09(土) 00:28:07
>>911
sumproductなんて初めて知ったわ w
関数覚えてないんで、必要ならsumとif使って配列数式
にしてたな。というか、昔はsumifすら知らないで配列
数式にしていたからな、、、
配列数式はあとで分かりにくいので他人が数式いじる
可能性があるときはなるべく使わない方がいい。
977名無しさん@そうだ選挙にいこう:2009/05/09(土) 00:31:01
>>922
つうか回答している酔狂な奴って、大概自分のスキルアップ
の為にやってるんだよ。すこしExcelから離れた時など、
過去の知識を思い出すのに、たまーにここを訪れて回答
したりすると思い出すから。
茶々が入ったり、別回答でもあれば、それはまさに知識の
吸収になるしな w
978名無しさん@そうだ選挙にいこう:2009/05/09(土) 00:46:40
まあ、わざわざ紙に印鑑押してスキャン(pdf)して社内通達の文書配布
するぐらいなら、Wordに印鑑の画像貼り付けてそのままpdfにしても
同じだから、そういう使い方なら別にいいんでないの?
社内だから偽造がどうしたという問題にならないし、そもそも偽造
を心配する必要もないし、とにかく朱色の印鑑がないと気が済ま
ないおっさん連中も満足するし。
979名無しさん@そうだ選挙にいこう:2009/05/09(土) 01:23:05
>>977
自分も今無職なので暇つぶしにここで回答してる。
目的にたどりつくまでの道筋はひとつじゃないので人の回答は勉強になる。
980名無しさん@そうだ選挙にいこう:2009/05/09(土) 02:42:34
>>978
自分が発行者で自分の印鑑をついでに付くぐらいなら当然問題は無いが、
これが他人の印鑑だと、有印私文書偽造なんつー実にしょーもない犯罪に抵触することになる

>社内だから偽造がどうしたという問題にならないし
社内で偽造なんて問題はあるぞ
貴方が社会人であろうと学生であろうとこれは覚えておいた方がいい
書類の偽造とまでいかなくとも、ミスのなすりつけあい程度ならどんな会社でも存在する
気をつけておいたほうがいい
981名無しさん@そうだ選挙にいこう:2009/05/09(土) 07:34:56
だよね。
誰が文書を作り直すかとか、誰が怒られ役になるか程度の小事なら良いが
賠償責任などの大事になれば、当然有印私文書偽造の罪にも問われるし
小事でも偽造した方が引かず、偽造された方が有印私文書偽造罪を知っていれば
社内でも訴えられかねない。
982名無しさん@そうだ選挙にいこう:2009/05/09(土) 08:00:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

縦のA列のみずっと表示するにはどうしたらいでしょうか?

用途:時刻表・予定表作り
A列に駅名
B列〜Z列に時刻を入れてますが、時刻入力が増えて右に行くと、
駅名確認のため、何度も左⇔右のスクロールしないと分からず仕事が進みません。
縦A列のみずっと表示できて、B〜Z列を可変させてるのを見たことがあり質問しました。
983名無しさん@そうだ選挙にいこう:2009/05/09(土) 08:15:06
>>982
A列固定したいならB列指定した状態で
ウィンドウ(W)→ウィンドウ枠の固定(F)
984名無しさん@そうだ選挙にいこう:2009/05/09(土) 08:31:01
次スレ

Excel総合相談所 82
http://pc11.2ch.net/test/read.cgi/bsoft/1241825062/
985名無しさん@そうだ選挙にいこう:2009/05/09(土) 10:13:15
>>984
超乙。
986名無しさん@そうだ選挙にいこう:2009/05/09(土) 12:46:22
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Outlook thisworkbook.path 隠しフォルダ フルパス 省略形…

職場にてOutlook2003の添付zipファイルをダブルクリックして中のExcelを開き
マクロを実行すると、Thisworkbook.pathで取得されるパス名の一部がチルト(~)で
省略されたものになります。

その後シェルのBrowseForFolderメソッドで選択したフォルダがThisworkbook.path
またはサブフォルダであることをチェックするため、パス名にThisworkbook.path
を含むかチェックすると上述の理由で不一致になります。イリーガルなケースでは
ありますが、このような場合の回避策があれば教えていただけないでしょうか。
987名無しさん@そうだ選挙にいこう:2009/05/09(土) 12:51:21
>>986
ごめん、関係ないけど、キミのために指摘しとく。以後気をつけてね。

「一部がチルト(~)で 」 → チルダ(Tilde)な。
988名無しさん@そうだ選挙にいこう:2009/05/09(土) 13:35:01
>>986
FileオブジェクトのShortNameプロパティ、ShortPathプロパティを使って
すべて短い方に統一してから比較すればいいんじゃないかな。
989名無しさん@そうだ選挙にいこう:2009/05/09(土) 15:37:24
>>988

おお、いけそうですね。月曜に試してみます。
ありがとうございました。

>>987

勉強になったよ (=∇=)ノ~
990名無しさん@そうだ選挙にいこう:2009/05/09(土) 16:21:26
梅よーぜー
991名無しさん@そうだ選挙にいこう:2009/05/09(土) 16:39:40
VBAでのソートについて

A列をキー1、B列をキー2として昇順ソートする場合、A列が空白の行は下に
なりますが、逆にA列が空白の行を上にしたい場合どのようにするのが一般的なのでしょうか?

とりあえず負の数値が上にくるようなのでApplication.ScreenUpdating=falseにした後、
対象セルに「-32767」を設定しソート後元に戻すと期待する動作にはなりますが、
「-32767」は何の根拠もないので質問させていただきました。
992名無しさん@そうだ選挙にいこう:2009/05/09(土) 16:40:35
表計算って考えた奴天才だよな
993名無しさん@そうだ選挙にいこう:2009/05/09(土) 16:54:22
>>991
ソートしたあとA列が空白の行を先頭にカトペ、
A列が空白な行のB列だけもう一度ソート
994名無しさん@そうだ選挙にいこう:2009/05/09(土) 17:02:42
コメントに画像を貼る方法知ってる?
(後、レス5つ でまとまるかな・・・)
995名無しさん@そうだ選挙にいこう:2009/05/09(土) 17:16:26
>>994
ttp://www.relief.jp/itnote/archives/001243.php

「Excel コメント 画像」でググったら一発目だったぜ
996991:2009/05/09(土) 17:17:21
>>993

質問が不足してたようですみません。
実際のデータは例えば10列で、そのうち9列をRangeとしてソートします。

結局はご回答のような力技になってしまうのですかね。
わざわざ現状のコードを変える必要もないかな…。

ありがとうございました。
997名無しさん@そうだ選挙にいこう:2009/05/09(土) 17:22:33
>>991
VBAでソートしようって事で有れば
並び替えのロジックまで自分で作ればいいじゃん。
それなら空白を上にしたり下にしたり自由にできる。
998991:2009/05/09(土) 17:28:48
Sortメソッドを使わずに自前でソートしろっていうことですね。
それも納得です。
999名無しさん@そうだ選挙にいこう:2009/05/09(土) 17:31:47
1000ならベガルタ仙台ぶっちぎりでJ2優勝!

999でもJ1昇格
1000ならベガルタ仙台J2残留
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。