Excel総合相談所 94

このエントリーをはてなブックマークに追加
1名無しさん@そうだ選挙にいこう
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★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総合相談所 93
http://hibari.2ch.net/test/read.cgi/bsoft/1279119276/
2名無しさん@そうだ選挙にいこう:2010/10/10(日) 02:33:58
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・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名無しさん@そうだ選挙にいこう:2010/10/10(日) 02:35:32
★ルールを無視すると…
 >>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名無しさん@そうだ選挙にいこう:2010/10/10(日) 02:36:14
★ 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名無しさん@そうだ選挙にいこう:2010/10/10(日) 02:36:59
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

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

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

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

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

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

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

以上でテンプレ終わり (Excel総合相談所 89からコピペしました)
7名無しさん@そうだ選挙にいこう:2010/10/10(日) 05:55:33
>>1乙です
8名無しさん@そうだ選挙にいこう:2010/10/10(日) 06:47:54
次スレでは「2007では」を「2007以降では」に直そう。
2010も同じ仕様で出てきたから。
9名無しさん@そうだ選挙にいこう:2010/10/11(月) 01:12:57
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

発注日: 10/07/12 納期: 10/10/05 受領日: 10/10/05

このようなテキストデータがA1セルにあり、日付をdd/mm/yy形式にしたいのですが、
それぞれ2010/12/7、2010/5/10、2010/5/10になってしまいます。
どこがダメなのでしょうか?

Sub テキスト変換()
 Range("B1") = Left(Range("A1").Text, 4)
 Range("C1") = Format(Mid(Range("A1").Text, 6, 8), "dd/mm/yy")
 Range("B2") = Mid(Range("A1").Text, 19, 3)
 Range("C2") = Format(Mid(Range("A1").Text, 23, 8), "dd/mm/yy")
 Range("B3") = Mid(Range("A1").Text, 36, 4)
 Range("C3") = Format(Mid(Range("A1").Text, 41, 8), "dd/mm/yy")
End Sub
10名無しさん@そうだ選挙にいこう:2010/10/11(月) 01:58:02
>>9
色々と間違えてます、多分。

↓こうなればいいの?

A1の文字列から、3つの日付をそれぞれC1、C2、C3に取り出す(表示形式はdd/nn/yy)
日付の前にある文字列をそれぞれB1、B2、B3に取り出す

 B列   C列
発注日 10/07/12
納期 10/10/05
受領日 10/10/05
11名無しさん@そうだ選挙にいこう:2010/10/11(月) 02:01:01
こうでしたね、失礼。
というか元の日付は? YYYY/MM/DDなの? YYYY/DD/MMなの?(前者でしょうけど)

 B列   C列
発注日 12/07/10
 納期 05/10/10
受領日 05/10/10
12名無しさん@そうだ選挙にいこう:2010/10/11(月) 03:28:37
>>9
表示形式が「標準」(G/標準)のままになっているせいです。
標準では日付は必ず「yyyy/m/d」形式になってしまいます。今回の場合は「文字列」にしなければなりません。
(提示されたコードには概ね問題ないようです。ただ各Mid関数の開始位置が間違えているだけです)

セル値の表示は「表示形式」に依存してます。
またセルに代入された値は、表示形式に合わせて値の自動変換が行われます。
「標準」(G/標準)の場合に日付として解釈できる文字列を代入すると自動的にDate型に変換されます。
さらに表示も「日付」(yyyy/m/d)として機能します。
例えば"99/01/31"をセルに代入すると「1999/1/31」と表示されます。

画面にdd/mm/yyで日付を表示したい場合は2種類の方法があります。
1)表示形式を「文字列」にしておき、表示したい文字列をFormat関数等で生成してそのまま代入する。
2)表示形式を「dd/mm/yy」にしておき、Date型の値を代入する。
2のメリットは、そのまま計算に利用できるたり、セル上で表示を替えられる点です。(発注日から数えて今日が何日目か算出する、y/m/dに変更する等)

※EXCELで文字列が日付として解釈できるかどうか(Date型に変換可能かどうか)は、以下の順にチェックされます
1)y/m/dとして解釈出来る場合(y=1900〜)
2)m/dとして解釈できる場合
3)d/mとして解釈できる場合
4)数字として解釈できる場合(※セルが日付の表示形式になっている場合のみ)
2,3の場合は、西暦が省略されているものと解釈し、システム日付の現在の西暦で補完されます。
4の場合は、単に基準日時からの日数であると解釈し、西暦や月は補完されません(Date型の基準日時は1900年1月1日0時00分0秒です)
13名無しさん@そうだ選挙にいこう:2010/10/11(月) 04:47:37
>>9
dd/mm/yyってどんな変態日付だよw あー、ユーロはこの表記法だっけ?

そんなもん米国生まれに読ましたらおかしくなるにきまっちょる。
変態を放り込むなら、表示形式を文字列にしとかんとダメ。
コードはちょこっとだけ直しといたから↓

 Range("B1") = Left(Range("A1").Text, 4)
 Range("C1") = Format(Mid(Range("A1").Text, 6, 8), "dd/mm/yy")
 Range("B2") = Mid(Range("A1").Text, 15, 3)
 Range("C2") = Format(Mid(Range("A1").Text, 19, 8), "dd/mm/yy")
 Range("B3") = Mid(Range("A1").Text, 28, 4)
 Range("C3") = Format(Mid(Range("A1").Text, 33, 8), "dd/mm/yy")


参考までに同作業のスプリットバージョン↓
セルの表示形式を扱うコードも盛り込んどいた。(セルの表示形式をdd/mm/yyにしDate値を放り込む)

 Dim Ary() As String
 Range("C1:C3").NumberFormat = "dd/mm/yy" 'セルの表示形式を変更
 Ary = Split(Range("a1"), " ") '半角スペースを境に文字列を分解
 Range("B1") = Ary(0)
 Range("C1") = CDate(Ary(1)) '事前に日付型へ変換(セル側での自動変換を抑止)
 Range("B2") = Ary(2)
 Range("C2") = CDate(Ary(3))
 Range("B3") = Ary(4)
 Range("C3") = CDate(Ary(5))
149:2010/10/11(月) 05:02:50
>>11
フツーの日本人ならyyyy/mm/ddでしょ?
yyyy/dd/mmなんて表記する国があるんですか?

>>12
文字列?
何で問題を摩り替えてんの?
わざわざFormat(Mid(Range("A1").Text, 6, 8), "dd/mm/yy")って書いてるんだから
文字列じゃなくて日付だって気付いてよ

>>13
半角スペースが消えちゃってる・・・・
*が半角スペースです。

発注日:*10/07/12*****納期:*10/10/05*****受領日:*10/10/05
15名無しさん@そうだ選挙にいこう:2010/10/11(月) 05:50:28
>>14 態度と頭の悪さワロスw
1613:2010/10/11(月) 06:01:07
>>14
お前自身、日付じゃのーて文字列放り込んどるんじゃけど、気付いとるか?
Format関数の戻り値は文字列なんじゃけど。

>>11も主の頭悪いサンプルのせいで確認しとるんじゃろーが。わしも迷ったわボケ
「フツーの日本人なら」全部2桁で12以下の数字しかなく出所が日本と限定されない年月日の順は正確には分からん
サンプルコードはぶっ壊れててマトモに動かんし、そもそも自分がユーロ仕様で出力しといて何言いよん?

ちゅーかそんだけ文句言うなら自分でやったれや、のう?
わしもコード修正なんてせんにゃよかったわ。朝から気分悪い。じゃあの。
17:2010/10/11(月) 07:48:19
>>15
ここは低脳しかいないですか?

>>16
なに様?
標準語でおkです。何言ってんのかわかんねーよ
18名無しさん@そうだ選挙にいこう:2010/10/11(月) 08:40:17
自作自演がたくさん紛れ込んでるじゃないか
19名無しさん@そうだ選挙にいこう:2010/10/11(月) 10:43:08
A列:数値、B列:テキスト のようなデータで、B列に、A列の値を使ってグラデーションつけるって出来ないよね?
20名無しさん@そうだ選挙にいこう:2010/10/11(月) 11:05:28
2010ならできる
21名無しさん@そうだ選挙にいこう:2010/10/11(月) 13:16:03
>>9
元データがyy/mm/ddなのかyy/dd/mmなのかわからないので適当に作ってみたけど、こんな感じ?
Forを使ってないはわざと

Sub テキスト変換()
  A1 = Split(Range("A1").Text, " ")
  Range("C1:C3").NumberFormatLocal = "dd/mm/yy"
  Range("B1") = A1(0)
  Range("C1") = A1(1)
  Range("B2") = A1(2)
  Range("C2") = A1(3)
  Range("B3") = A1(4)
  Range("C3") = A1(5)
End Sub
22名無しさん@そうだ選挙にいこう:2010/10/11(月) 18:27:27
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

 A    B
1 りんご  3個
2 なし    4個  
3 ぶどう  3個
4 みかん  4個
5 なし    2個
6 りんご  5個
7 りんご  4個
8 ぶどう  1個

上の表で、Aの列の果物の名前を抽出して、合計個数が大きい順に並べ、

りんご 12個
なし   6個
ぶどう  5個
みかん 4個

という形にしたいのですが、そのような方法ありますか?
よろしくお願いします。
23名無しさん@そうだ選挙にいこう:2010/10/11(月) 18:39:04
ピボットテーブル
並び替えは自動じゃ無理かもしれない
24名無しさん@そうだ選挙にいこう:2010/10/11(月) 18:46:52
上から見ていって、重複しないなら格納、重複ならB列を合計
25名無しさん@そうだ選挙にいこう:2010/10/11(月) 18:48:59
>>22
自動ならマクロ、一番効率がいいのがピボットテーブルで集計後並び替え
26名無しさん@そうだ選挙にいこう:2010/10/11(月) 20:40:43
セルに全角で「3個」と書いてあったら面倒だな
27名無しさん@そうだ選挙にいこう:2010/10/11(月) 22:49:58
LARGEとかでできるかもしれんけど
マジ全角なん?
28名無しさん@そうだ選挙にいこう:2010/10/11(月) 22:56:39
全角ならB1=SUBSTITUTE(A1,"個","")*1みたいに作業列作らないとな
ピボットもそろそろこの辺に対応して欲しい。
アホに合わせるのもデファクトスタンダードの使命だと思うんだよね
29名無しさん@そうだ選挙にいこう:2010/10/11(月) 23:23:25
最近会社変わったんだけど新しい会社だとピボット使いまくるのな
ここでやたらピボットで解決しようとする奴のバックグランドが分かった気がするけど、
やっぱピボットって使いづれーよ
たかがクロス集計いっこ作るのに幾つも手順踏んで何枚もシート作って、正直アホみたいだ。
定型業務ならAccessかVBA使って手順一発で終わらせろよと
30名無しさん@そうだ選挙にいこう:2010/10/11(月) 23:47:10
>>22
無駄に作業列とか使いまくってみた
ttp://www1.axfc.net/uploader/Sc/so/161990.xls

個数同じ果物あったら正しい結果にならんけどそこまで言われてないし
それくらい自分でやってくれ
31複乳:2010/10/11(月) 23:56:21
大企業:データベースから引っ張ってくるだけ。専用ソフト使えば1手順でほとんどのことが可能(無くても要望が多ければシステム部門が作ってくれる)。他はアクセスorエクセルで数字を引っ張ってくる。
中小:アクセスで集計されたデータ、もしくは正規化されたデータがある。データをテキトーに加工、場合によりピボット。
零細:アクセスがなく、エクセルファイルで集計している。専用ソフトの出力データも正規化されていない。外部からVBAで処理するもエクセルのバージョンの違いでエラー多発←今ここ
>>29
VBA使えるなら組めばいいと思う。ただバージョンが統一されてないとエラーは多発する。
32巨乳:2010/10/12(火) 00:00:37
>>31
複乳じゃないか!
33名無しさん@そうだ選挙にいこう:2010/10/12(火) 00:28:57
まともな会社なら普通はデータベース使うわな
自分で集計しなくてもDBから集計結果が直接取り出せるのが普通
そういう意味でピボット使っていちいちExcelで集計するのはアホ

家計簿とか家庭内の利用なら仕方ないけど
34複乳:2010/10/12(火) 00:40:55
そうはいうが日本は中小企業が多いし、お局様(笑)のご意向で変えられないところもある。
アホアホ言ってやるのは可哀相だ。
35名無しさん@そうだ選挙にいこう:2010/10/12(火) 00:48:11
excelを表計算ソフトとして使っている人は、またいいほうだよ。
作表ソフトとして使っている人の多いこと。
とりまとめなんか、投げたしたくなることがほとんど。
36名無しさん@そうだ選挙にいこう:2010/10/12(火) 01:19:11
すべてのセルの高さと幅が40とかにしてあって
さらに縦横結合しまくって表を作るやつとか結構いるよな
方眼紙かっつーの
37名無しさん@そうだ選挙にいこう:2010/10/12(火) 01:29:52
雑談も雑談スレ使うべきだよな。

【質問不可】Excel総合相談所スレの雑談・議論スレ2
ttp://hibari.2ch.net/test/read.cgi/bsoft/1151651536/l50
38名無しさん@そうだ選挙にいこう:2010/10/12(火) 07:25:43
>>30
ひでーなおいw
そこまで言われてないしにはワロタ
39名無しさん@そうだ選挙にいこう:2010/10/12(火) 12:15:46
りんごと打つと「りんご 1」
みかんと打つと「みかん 2」と表示されるよう辞書登録してありまして

「りんご 1」と表示された時
1だけを自動的に青く色変換できる方法は無いですか?

例えば
「りんご」と打つと
「りんご(黒字) 1(青字)」となって
自動的に表示されるようにしたいんです。
40名無しさん@そうだ選挙にいこう:2010/10/12(火) 12:24:20
Excelの使い方を根本的に間違ってるよ
そういうのはVlookupで関連付けする
41名無しさん@そうだ選挙にいこう:2010/10/12(火) 14:04:27
>>39
それは数字、0-9の10種類のみ?
42名無しさん@そうだ選挙にいこう:2010/10/12(火) 19:47:58
だいぶ昔に

りんご0000ff1000000
みかん00ff001000000

って感じのずらーっとある文章で
0000ffから000000までを青に
00ff00から000000までを緑に
一括で色を変えるみたいなマクロは作ったけど相当めんどかった

りんご 1
みかん 2

だと全角スペースを開始にできるけど
「ここまで」ってのがないから無理ぽ
というか数が多かったらもすぬごく時間かかるマクロになってたし人様には見せれないかもしれん
43名無しさん@そうだ選挙にいこう:2010/10/12(火) 19:59:59
>>39
マクロ使わないと無理
何種類あるかによるけど、たとえば20種類くらいならフォームとか使って入力したら?
いちいち変換するより早いかもしれないよ
44名無しさん@そうだ選挙にいこう:2010/10/12(火) 21:09:59
「りんご 1」じゃなくて「りんご」と「1」に分割した方がいいと思うんだけどな。
45名無しさん@そうだ選挙にいこう:2010/10/13(水) 00:03:12
CSVをダウンロードしたとき、文字列の最後に不要な半角スペースが
付いてるんだけど、これを取るのに適した方法は何でしょうか?
46名無しさん@そうだ選挙にいこう:2010/10/13(水) 00:07:58
>>45
sedでコンマの直前のスペースと行末のスペースを削除
47名無しさん@そうだ選挙にいこう:2010/10/13(水) 00:08:35
置換
48名無しさん@そうだ選挙にいこう:2010/10/13(水) 00:19:34
>>47
置換で末尾のスペースだけってどう指定すんの?
49名無しさん@そうだ選挙にいこう:2010/10/13(水) 00:25:58
正規表現もどきがExcelの置換でも使えたはず
5045:2010/10/13(水) 00:53:01
さっぱりワカランです・・・・
おやすみなさい。
51名無しさん@そうだ選挙にいこう:2010/10/13(水) 01:23:47
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 No
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 入力強制変換

エクセルで普通に整数を入力すると自動的に10^-8が乗ぜられる状態になってしまっています。
どこもつついていないし直し方も思い当たらない…汗
一応してみたこととしては書式などの調査などなど。
でもどれも普通だったので直し方が分からないのです。

何か思い当たるところありませんか?
関数はデータ入力をするところ意外でPOWER関数を用いていますが、関係あるでしょうか。

52名無しさん@そうだ選挙にいこう:2010/10/13(水) 01:34:37
>>51
セルの書式を数値にしたら?
53名無しさん@そうだ選挙にいこう:2010/10/13(水) 07:20:00
>>52
数値にはなっているんですが…汗
それでも成るので原因不明なのですよ。
54名無しさん@そうだ選挙にいこう:2010/10/13(水) 07:34:30
>>51
そのワークブックはあなたが作ったものですか?
それとも誰か別の人が作ったものが元ですか?
入力すると自動的に動作するマクロが仕込まれている可能性はない?

新規のワークシートでは入力できますか?
出来るなら、入力できたセルをコピーして該当箇所にコピーしてみて下さい
55複乳:2010/10/13(水) 07:45:37
>>45
適してるかどうかしらんけど
B1=IF(RIGHT(A1,1)=" ",LEFT(A1,LEN(A1)-1),A1)
>>51
ブックをアップロードして欲しい
56巨乳:2010/10/13(水) 09:49:27
ぁぁ ぃゃん
57名無しさん@そうだ選挙にいこう:2010/10/13(水) 12:27:31
10^-8って二進数−十進数の変換誤差じゃないの?
58名無しさん@そうだ選挙にいこう:2010/10/13(水) 12:59:56
「乗ぜられる」
59名無しさん@そうだ選挙にいこう:2010/10/13(水) 13:01:41
書式が
"0."00000000
になってる
60名無しさん@そうだ選挙にいこう:2010/10/13(水) 18:20:11
>>54
作ったものというよりはエクセル自体の話。
新規にワークブックを作っても同じように成ります。

>>55
ブック自体でないことは確実なのでuploadは却下します。恐らくエクセル自体の設定だから。

>>57
二進数使わないからどうやっていいか分からないです。
十進数のはずなんだが…汗
61名無しさん@そうだ選挙にいこう:2010/10/13(水) 18:45:30
Excel内部では2進数だよ
http://support.microsoft.com/kb/78113/ja
62名無しさん@そうだ選挙にいこう:2010/10/13(水) 20:09:40
>>51
ツール→オプション→編集 の
"少数点位置を固定する"がオンになっているのでは?
63名無しさん@そうだ選挙にいこう:2010/10/13(水) 20:37:35
【1 OSの種類         .】 Windows7 x64
【2 Excelのバージョン   】 Excel2010 beta
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

あるセルに SUM(A1:A30) の計算をし、その下のセルは SUM(A16:A45) の計算を・・・
というような作業を数千セルおこないたいのですが、この処理を一度に行う方法はありますでしょうか。

もうひとつ、例えば 1633 という値を 27:13 というふうに秒を 分:秒 という形で表示する関数などはありますか
64名無しさん@そうだ選挙にいこう:2010/10/13(水) 20:59:36
EXCEL2007
で棒グラフの中をパターンで塗りたい(右斜線とか、つぶつぶとか)
んですが、2007ではテクスチャとグラデーションしか選べないいでしょうか?
65名無しさん@そうだ選挙にいこう:2010/10/13(水) 21:01:15
>>63
関数はないけど、普通に割り算して商と余りを出す関数とconcatenate関数でなんとかなるんじゃない?
66名無しさん@そうだ選挙にいこう:2010/10/13(水) 21:09:31
>>63
=SUM(OFFSET(A1,ROW(A1)*15-15,0,30,1))
下にコピー
67名無しさん@そうだ選挙にいこう:2010/10/13(水) 21:13:11
それと1633→27:13ってなに?どうやって変換しているのか理解出来ない(´・ω・`)
68名無しさん@そうだ選挙にいこう:2010/10/13(水) 21:16:39
>63
>あるセルに SUM(A1:A30) の計算をし、その下のセルは SUM(A16:A45) の計算を・・・
集計範囲の規則性がわからないのでは無理

>例えば 1633 という値を 27:13 というふうに秒を 分:秒 という形で表示する関数などはありますか
表示する関数はないので、A1セルに当該数値があるものとして、別のセルに =int(A1/60)&":"&MOD(A1,60)
のような数式で表すことは可能。
もし、当該数値を日付時刻として利用するのであれば、1秒=1/(60×60×24)なので、A1セルに
当該数値があるものとして、=A1/(60*60*24) の数式を入れ、当該セルの書式を [m]:ss でいいと思う。
69複乳:2010/10/13(水) 22:29:08
>>63
だぜ!
ここのカスどもは0.000001でも狂ってたら例文と認めないからな・・・・
A1を1/24にすれば時間、更に60でわれば分、サランい60で割れば秒だぜ
つまりA1に数値を入れて=A1/24/60/60として書式設定のユーザー手ギイを「mm:ss」とすればいいぜ!
70複乳:2010/10/13(水) 22:37:42
いやーm、おう>>68とか天才だね
おれをNGsにいれて>>68をそんしにすtるべき
71複乳:2010/10/13(水) 22:40:21
敵ながらあっぱれ
わたくしは頭を丸めて反省します
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
72複乳:2010/10/13(水) 22:49:55
ぐうにゅうはそんなつまんねーとこごいわないぜ
えっとつまりですえmえ。おもしろくないことはきょjkyりょjkyつうわjyばうぼでsy」
73名無しさん@そうだ選挙にいこう:2010/10/14(木) 07:07:03
左下の矢印を右クリック>シートの選択
で表示されるようなワークシートの一覧を、常時表示させておく方法はありませんか?
シートの数が多いので、常に全面に表示させて、クリックでシートを切り替えられると凄く楽なのですが
74名無しさん@そうだ選挙にいこう:2010/10/14(木) 13:15:33
>73
前スレで2人ほど回答しているのは見ましたか?

  919 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2010/10/06(水) 05:46:50
  Excel2010なんですが、左下の三角を右クリックすると
  シートの一覧が出て、選択出来ますが
  このシートのリストを、常時どこかに表示させておく事は出来ませんか?
  頻繁に多数のシートを切り替えるので、その都度左下を右クリックするのが手間です。

  924 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2010/10/06(水) 09:16:19
  >>919
  ctrl+pageup/pagedownじゃだめ?

  929 名前: 名無しさん@そうだ選挙にいこう 投稿日: 2010/10/06(水) 19:51:02
  >>919
  できない。あとは別のシートにシートへのリンクを貼るとかして、常時表示させておくとか
75名無しさん@そうだ選挙にいこう:2010/10/14(木) 16:48:47
すいません、前スレは見てませんでした
7663:2010/10/14(木) 16:51:26
返事が遅くなりました

>>66
そのままだと望む結果にはなりませんでしたが、
=SUM(OFFSET($A$1,ROW(A1)*15-15,0,30,1))
とすることでうまくいきました。
最初の質問が曖昧だったようで分かりづらくてすいません。
ある列の連続した30個のセルの和を求めるというもので、
その条件を、開始点が15個おき(1〜30の和の次は16〜45、そのつぎが31〜60)
にしたかったのです。

>>68-69
変換する値が小数点付きの秒だったので、=int(A1/60)&":"&MOD(A1,60)
という数式ではうまくいきませんでしたが、=A1/(60*60*24) の計算からの
[m]:ss 表記で望む結果となりました
77名無しさん@そうだ選挙にいこう:2010/10/15(金) 11:06:28
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 使用方法までわかれば可
【5 検索キーワード     】 excel シート名が違う 抽出

CSVファイルからデータを抽出したいです。

毎月の使用量をCSVで出力する機器があります。
このCSVファイルをクリックするとEXCELが起動してシートに展開されます。
この時、シート名が 20100901_20100930 のように期間表示となり毎月異なります。

sheet2に式を入れて 20100901_20100930 からデータを抽出したいのですが、異なるシート名でもsheet2に抽出する方法はありませんか?
シート名を変更しても構わないのですが、CSVが毎月20ファイル程度あるので楽な方法を探しています。
78名無しさん@そうだ選挙にいこう:2010/10/15(金) 11:38:44
>77 いくつかおたずねします。
1 CSVファイルをダブルクリックして開いたシートと Sheet2 は最終的に別ファイルになるんですか?
  それとも、CSVファイルをダブルクリックして開いたシート(ブックとしてはまだ保存されてない)の次に
  Sheet2を追加し、最終的にブックとして保存するんですか?

2 CSVファイルをダブルクリックして開いたシートを別の作業・保存用ブックのSheet1にまるごとコピペすれば、
  シート名が変わらないので同じ計算式で対応できると思いますが、この方法ではだめですか?
79名無しさん@そうだ選挙にいこう:2010/10/15(金) 11:41:05
>>77
sheet0のA1=20100901_20100930
これは毎月変わるシート名を入力
sheet2のA1=INDIRECT("'"&Sheet0!$A$1&".csv'!r"&ROW()&"C"&COLUMN(),0)
これを右と下にオートフィル
で、sheet2にsheet0のA1に入力したシートの内容が表示される。一度開かないとダメかもしれない

VBAだと、
Sub unko()
Sheets(Sheets.Count).Name = "sheet2"
End Sub
で右端のシート名が変わるが・・

なんかいい方法が浮かばないねぇ
80複乳:2010/10/15(金) 11:41:56
ああ、最後に全体選択して値で貼り付けしてね
81複乳:2010/10/15(金) 11:44:51
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /    反省中     \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
82名無しさん@そうだ選挙にいこう:2010/10/15(金) 11:51:17
>>77
1 csvをダブルクリックで開く
2 シートを追加して名前をSheet2に変える(デフォルトだとSheet1になる)
3 以下のとても長い数式を好きなセルに入力すれば、csvのデータの入ったシートのシート名が取得できる
  都合で複数行にわけてあるけど1行にまとめてね
=MID(CELL("filename",A1),FIND("?",SUBSTITUTE(CELL("filename",A1),"[","?",LEN(CELL("filename",A1))-
LEN(SUBSTITUTE(CELL("filename",A1),"[",""))))+1,FIND("?",SUBSTITUTE(CELL("filename",A1),"]","?",
LEN(CELL("filename",A1))-LEN(SUBSTITUTE(CELL("filename",A1),"]",""))))-FIND("?",SUBSTITUTE(CELL
("filename",A1),"[","?",LEN(CELL("filename",A1))-LEN(SUBSTITUTE(CELL("filename",A1),"[",""))))-5)
83名無しさん@そうだ選挙にいこう:2010/10/15(金) 11:57:06
>>77
Sheet2を作ってcsvのシート名を入れるマクロ

Sub aaa()
  Worksheets.Add after:=Sheets(1)
  Sheets(2).Name = "Sheet2"
  Sheets(2).Range("A1") = Sheets(1).Name
End Sub
84複乳:2010/10/15(金) 12:02:43
【1 OSの種類         .】 Windows7 home 32bit
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル2000 落ちる
windows7にエクセル2000入れると落ちます。オートコンプリートもきりましたがダメでした
他に原因などあるのでしょうか
85複乳:2010/10/15(金) 12:16:26
自己解決しました
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
86名無しさん@そうだ選挙にいこう:2010/10/15(金) 13:30:00
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル2000 スクロール

ワークシートを上下にスクロールさせる際、マウスのホイールを使うとワークシートごと
上下に動いてくれるのですが、スクロールバーをつまんで上下に動かした場合、ワーク
シートの表示は変化せず、摘んだバーを離してはじめてその位置にJumpします。
内容を確認しながらスクロールさせたいのでこの状態はちょっと困ってます。
設定の変更など教えていただけると助かります。
87名無しさん@そうだ選挙にいこう:2010/10/15(金) 14:10:45
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 パスの取得

エクセルが、今どこにあるかそのパスを取得するにはどうすればいいでしょうか
ある場所はCなのですが、住所がほしいです。
プロパティで見ると右端が切れてはいるものの表示はされます。ただしそれをコピペしようと思うと反転せず範囲選択できません
よろしくお願いします
88複乳:2010/10/15(金) 14:51:56
>>85
やめろwww解決してないよw
>>86
下キーじゃだめ?
>>87
A1=CELL("filename",A1)
でパスが出てくる
89名無しさん@そうだ選挙にいこう:2010/10/15(金) 14:56:46
>>87
ヘルプ→バージョン情報→システム情報→
Office2003アプリケーション→Microsoft office Excel 2003→ファイルの概要
90名無しさん@そうだ選挙にいこう:2010/10/15(金) 19:38:35
>>84
うちのWin7(64bit)ではExcel2000は落ちた事ないんで、7かどうかは無関係かも。
>>88 つーか複乳を名乗るからイジられるんだろw 本気質問ならその名を使うなよ、と思った。

>>86
慣れて下さい。(手を放すまでスクロールイベントが発生しないのは古いスクロールバーの仕様です)
コツとしては、スクロールバーのスライドをドラッグし適当に目星をつけて放し、
あとはスクロールバーのスライドがない場所(上か下の空白部分)をクリックして1画面ずつガシガシとジャンプ、
さらに1行単位は上下の三角ボタンで微調整して下さい。

キー操作がお好みならHome、End、Ctrl+Home、Ctrl+End、PageUp、PageDown、Ctrl+PageUp、Ctrl+PageDown、あたりで。
関係ないけどCtrl+矢印はかなり便利に使えるから積極活用推奨。

>>87
Excel.exeのフルパスが知りたいの? 開いているファイルのパスが知りたいの?
91名無しさん@そうだ選挙にいこう:2010/10/15(金) 20:50:02
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel 2003 SP3
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 自動計算 手動計算

Sheet1は自動計算、Sheet2は手動計算にしたいと思い、VBAでThisWorkbookに以下のように書きました。

Private Sub Workbook_Open()
Worksheets("Sheet1").EnableCalculation = True
Worksheets("Sheet2").EnableCalculation = False
End Sub

これで、Sheet2がアクティブになるようにして開くと、Sheet2は手動計算になっているのですが、
Sheet1にいじってSheet2に戻ってくると、自動計算になってしまいます。

それなら、Sheet2がアクティブになったら実行するように、Sheet2にも同じように書いたのですが、
これでも同じ結果です。
Sheet2がアクティブになるようにして開かないと、手動計算にはなりません。

Sheet2だけずっと手動計算にするには、どうしたらよいのでしょうか?
92名無しさん@そうだ選挙にいこう:2010/10/15(金) 21:30:43
>>91
手元の環境ではSheet2がアクティブでなくても手動計算のままだけど、計算内容によっても異なるのかも・・・
とりあえずWorkbook_ActivateやSheet2のWorksheet_Activateイベントで処理してはどうだろう
93名無しさん@そうだ選挙にいこう:2010/10/15(金) 21:56:03
>>92
それができないんですよ。

sheet2のところに、同じように書いてもだめ。

Private Sub Worksheet_Activate()
Worksheets("sheet1").EnableCalculation = True
Worksheets("sheet2").EnableCalculation = False
End Sub

sheet2がアクティブになるようにしてbookを開けば、確かに手動になってるけど、
一度sheet1をさわってからsheet2に戻ってくると、sheet1と同じように自動計算されちゃうんですよ。
どうしてなのかさっぱりわからん。
94名無しさん@そうだ選挙にいこう:2010/10/15(金) 22:19:03
手動計算というか「再計算しない」だな
自動計算に戻ったときにEnableCalculationの値はどうなっているんだろう?
別の何かが書き戻しているのかもしれない
95名無しさん@そうだ選挙にいこう:2010/10/15(金) 22:43:38
>91
シート毎に再計算の設定ができるなんて知りませんでしたが、ちょっと質問。
シート間の参照はしていませんか?
96名無しさん@そうだ選挙にいこう:2010/10/15(金) 22:50:38
計算方法ってシートごとには設定できないんじゃね?

あとは、オープン時じゃなくて、ワークシートがアクティブになった時に計算方法を指定する方法が良いかと思うんだけど。
97名無しさん@そうだ選挙にいこう:2010/10/15(金) 23:12:08
まさかsheet2が重い計算式があるから手動にしたいんじゃないだろうね?
重いときは手動にしろなんていうやつがいるが、そんなものはなんの解決にもならん。
9886:2010/10/15(金) 23:43:40
>>90
仕様だったのですか。会社のPCでは出来るので何らかの設定かと
思ってました。アドバイス頂いたようなやり方で対応したいと思います。
有難うございました。
99名無しさん@そうだ選挙にいこう:2010/10/15(金) 23:47:32
>>95
動作を検証するために、最低限の関数しかいれずにやってます。
シート間の参照もなし。

>>96
ずっと昔にやったことあるから、この方法でシートごとにできるはずなんですけど・・・

94の方がいうみたいに、手動計算というよりは計算しないという動作になります。
計算させるときは、マクロで一度TrueにしてFalseに戻すことでできるはず。

>>96,97
Sheet1は常にデータを拾ってきてるから自動計算させていて、Sheet2はSheet1を参照してるけど、
決まった時間ごとにしか必要ないから、少しでも軽くするために普段は計算させないほうがいいんです。
だから、Sheet2だけ手動にするのは、かなり意味があります。
10095:2010/10/16(土) 00:14:27
>91,99
もしもし? シート間の参照はないって書いておきながら、>96,97さんには
>Sheet2はSheet1を参照してるけど
って書いてますよ。どっちなの?
101名無しさん@そうだ選挙にいこう:2010/10/16(土) 00:33:11
>>100
書き方が悪かったかな。
実際に使いたいものは、シートもたくさんあるし、お互いに参照もしまくって複雑。
ついでにいうと、複数のシートの計算をとめたい。

動作を確認するために、別のファイルで試しているということです。
102名無しさん@そうだ選挙にいこう:2010/10/16(土) 00:59:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 countif 複数列


A列 国語の点数
B列 数学の点数
C列 英語の点数
行  生徒番号
として、1教科でも90点以上がある生徒の数を求めたい
作業列を使えば、D列に90点以上の真偽をだせば出来るのですが
作業列なしで一発計算することはできますか?
よろしくお願いします
103名無しさん@そうだ選挙にいこう:2010/10/16(土) 01:10:15
>99
当方、同じ環境なので簡単に試してみました。Sheet1のデータを変更した後でSheet2を表示させても再計算しませんでした。
というか、ツール-オプションから再計算を手動にしたときと違い、ステータスバーに「再計算」という表示も出なければ、
[f9]キーを押しても再計算してくれません。これにはビックリ。
再計算を自動にするのもマクロで行うしかないんですか?
104名無しさん@そうだ選挙にいこう:2010/10/16(土) 01:30:02
>102
A2:A10が国語の点数、B2:B10が数学の点数、C2:C10が英語の点数と仮定して
=SUMPRODUCT(SIGN((A2:A10>=90)+(B2:B10>=90)+(C2:C10>=90)))
と入れると求めたい数が出ます。
+ でつなぐことで3項目のいずれかが90以上のときに正数(1〜3)になり、
SIGN( )で()内を1か0にしたうえで、SUMPRODUCTで集計します。
105名無しさん@そうだ選挙にいこう:2010/10/16(土) 01:45:18
>>104
お早いご回答ありがとうございます
早速入力させていただきました
自分の関数知識に絶望したので勉強したいと思います
ありがとうございました
106名無しさん@そうだ選挙にいこう:2010/10/16(土) 02:52:59
>>88
その公式をどこに入れればいいのですか?A1以外のセルでおk?
>>89
そう、その情報がほしいのですが、その画面ではコピペできなくないですか???
>>90
今VBAの勉強をしていて、対象となるエクセルファイルがどこにあるのかパスを取得してください、と書いてあったので
そのエクセルの場所だと思うのです
107名無しさん@そうだ選挙にいこう:2010/10/16(土) 07:29:37
>>106
関数はどこでもOKだよ
108名無しさん@そうだ選挙にいこう:2010/10/16(土) 12:44:59
91です。
自己解決しました。

どうしてできないか納得できなかったので、ためしに以前使っていたExcel2000で試すと、
問題なく思っていたとおりの動作になった。
これは・・・ひょっとして、と思いExcel2003を再インストール。これでめでたくできました。
どうしてだめだったのかは再現できないけど、とりあえず目的のことができました。

実際に動作が軽くなったかどうかは、まだ試していないから分からないけど、
理屈の上では計算するシートが減るわけだから、かなり期待してます。

>>103
F9でも計算しなくなります。
私の場合は、定期的に再計算させるようにマクロを作りました。
109名無しさん@そうだ選挙にいこう:2010/10/16(土) 19:08:03
>>97 何の解決にもならん? そんな事はないし、どういう意味だろ

>>106
90だけど、VBAのお勉強ならVBAで取得しなきゃ意味ないんじゃね?
> 対象となるエクセルファイルがどこにあるのかパスを取得してください、と書いてあった
どう考えてもExcel本体じゃなくファイルのフルパスの事ですよこれ。
拡張子.xlsなどのファイルは「エクセル」と呼んじゃダメ、せめて「エクセルのファイル」と呼んで下さい。

VBAでやるなら「現在開いていて操作しているファイル」は「ActiveWorkbook」なので
パスがほしい場合はこのオブジェクトのPathプロパティかNameプロパティかFullNameプロパティあたりを利用します。
今回の場合はActiveWorkbook.FullName が妥当かと。(例えば"C:\test\練習.xls"といった形のフルパスを取得出来ます)

あと↓こんな専用スレもあるよ
Excel VBA 質問スレ Part16
http://hibari.2ch.net/test/read.cgi/tech/1280045912/
110名無しさん@そうだ選挙にいこう:2010/10/16(土) 22:32:23
重いときは計算方法を手動にするのではなく軽くするのが正しい対処法
111名無しさん@そうだ選挙にいこう:2010/10/17(日) 04:07:39
word総合相談所が落ちてるんだが、wordのVBA質問したい場合はどこいけばいいの(´・ω・`)
112名無しさん@そうだ選挙にいこう:2010/10/17(日) 04:10:57
113名無しさん@そうだ選挙にいこう:2010/10/17(日) 06:18:47
>>112
過去ログに保管されてない?
Janeからみれないだけか・・・
114名無しさん@そうだ選挙にいこう:2010/10/17(日) 07:49:23
>>113
Janeだけど、見れるよ
115名無しさん@そうだ選挙にいこう:2010/10/17(日) 12:54:32
うーん・・・
3桁の数字+文字列(下記例で「001あ」等)を書きたいんだけど
書式設定のユーザー定義で000にするとA列ではちゃんと、3桁の数字にはなってくれるんだけど、

A   B   C
001  あ  =A1&B1
002  い  =A2&B2
003  う    ・
・   ・     ・
・   ・     ・
・   ・    ・

とすると、C1で出てきた答えが普通に「1あ」になってしまう・・・。
これをどうにかする書式設定とかってあるんでしょうか???
116名無しさん@そうだ選挙にいこう:2010/10/17(日) 13:00:39
A列の書式設定を文字列へ。
117名無しさん@そうだ選挙にいこう:2010/10/17(日) 13:12:26
=TEXT("000",A1)&B1
118名無しさん@そうだ選挙にいこう:2010/10/17(日) 13:19:25
>>116
キター!!!!!

そうか・・・文字としての数字にすればよかったのか・・。
素早い上に的確な回答thx!!!マジ感謝だぜ
119名無しさん@そうだ選挙にいこう:2010/10/17(日) 13:23:50
>>117
なるほど。
そっちでTEXT指定にしちゃう方法もあったのね。

しかしエクセルはほんとなんでもできちゃうんだな・・
120名無しさん@そうだ選挙にいこう:2010/10/17(日) 13:53:38
セルの一部を結合してその中に文章を作りたいのですが、文章を一行で表示させようとして横の関係ないセルの方向に文章が進み全部表示されません。

具体的にはA〜Dの10〜15を一つのセルに結合してその中に横書きで数行の文章を入れたいのですが、実際は一行のままD以降に文字が
入力されてしまいます。
エンターを押してもかくていされるだけで入力した文章はDの右端で途切れてしまいます。
結合したセルの中に複数の段落をつけて下の方に文章を送りたい場合はどうのようにすればいいのでしょうか?
121名無しさん@そうだ選挙にいこう:2010/10/17(日) 14:01:37
>>120
よく分かんないけれど「ALT+ENTER」をして改行したい、ってこと?
122名無しさん@そうだ選挙にいこう:2010/10/17(日) 14:03:48
>>115
元から文字列として取り出せるようにしておく(>>116)か、
取り出した数値を利用直前に文字列へ再変換する(>>117)かのどちらか。

というか「値はいじらず、表示だけ自由自在に変えたい」ってニーズを満たすのが表示形式。
そこを理解したら納得できるんじゃないか?

セル値には必ず型がある。数値として持っているなら数値が、文字列として持っているなら文字列が入っている。
参照時はこの値がそのまま取り出される。これは表示に左右されない。(入力時は影響を受ける)

A1が持っている値は"001"(文字列)ではなく1(数値)だから、参照すると数値が出てくるのは当然の話。
A1が値として"001"を返すべきなら、元々文字列として値を持っていなければならない。

ちなみにそういう都合のいい型(3桁の整数値のみを持つような文字列型)はないので厳密には実現できない。
Excelのセルの値型はVBAに準拠しているので数値型、文字列型、日付型、真偽型、エラー型のいずれか。(大雑把な大別)
表示形式に"@"がない限り、セルの値は文字列型以外だ。つまりいずれにせよ数値。
001も1も数値としてはどちらも1、だから参照すると1が返る。
&演算子は両辺に文字列型を要求するためExcelは直前に1を"1"へ自動変換する。

表示形式に"@"があるなら、その型は必ず文字列型になる。よって参照すると"001"を取り出せる。
が、文字列型では入力時のチェックがまったく働かないので1と入力すると"1"がセルに入ってしまう。
"001"を取り出せるようにするには入力時に001と入力しなければならなくなり、入力作業が面倒になる。
123名無しさん@そうだ選挙にいこう:2010/10/17(日) 14:05:49
>>121
ありがとうございました。まさにその通りでした。
どうもありがとうございます。
最初は本とか買って見ながら基本的な練習したほうがいいのでしょうか・・・?
124名無しさん@そうだ選挙にいこう:2010/10/17(日) 14:12:03
>>123
まあ、どうでもいいんじゃない?
本はvba含めて数冊買ったけど、まともに読まなかった。
今はネットもあるからすぐ調べられるし。

あ、でも最初の頃はマイクロソフトオンライントレーニングをやったこともあったな
125名無しさん@そうだ選挙にいこう:2010/10/17(日) 15:11:26
>>123
「Alt+Enter」やセル内折り返しの話が基礎学習過程で出て来るかどうかはやや疑問。
結局、EXCELにいくら精通してても細かい所は知らなかったり忘れるので必要に迫られて都度調べたりするもんです。
現状が「あらゆる疑問の答えをすべて持っていない」状態だとしても、だからといってそれを嘆くことはないでしょう。

これは単に全体効率の問題。一般的に本や初心者向けサイトをちゃんと1から10まで学習・実践するのは効率が良いと思う。

掛け算を知らぬ者が突然数学Iを理解しようとしても混乱するだけで当面は理解不能なだけ。
結局どこかで掛け算に舞い戻って学習しなければならい事に気付くでしょうが、時間的にはかなりのロス。
(そのロスが無駄だとは思わない。自ら疑問を持ったり試行錯誤する行為や学習の理由付けは理解にとって大切なプロセス)
126名無しさん@そうだ選挙にいこう:2010/10/17(日) 15:15:12
>>125
アドバイスありがとうございます。
私自身確かに現状で問題なく出来る事もあれば知らない事もあり、良くも悪くも色々と中途半端な状態であると感じてます。
とりあえずやれる事を進めていき、つまずいたらその都度調べるなら勉強するなりしてやってみようと思います。
127名無しさん@そうだ選挙にいこう:2010/10/17(日) 15:31:56
>>126 125ですが、ある程度理解出来ているならむしろ
1から10まで基礎的な部分を再学習してみる(答え合わせする)のは良い事です。
知っている部分は「そうそう」と手早く読み飛ばして、「あれ?」と思った部分を重点チェックです。

独学や必要に迫られる形で自ら獲得した知識はなかなか忘れずまた実践的で実用に足るものですが、
逆にやや間違えた解釈のまま覚えている場合があります。
また別々に記憶していた知識が、実はその根底がある概念で繋がっている事があります。
知識に橋が架かるとその同じ知識がより大きな範囲で活用出来るようになります。
その同じ知識を持って他の多くのものさえも簡単に理解出来たりと良い事尽くめですよ。
128名無しさん@そうだ選挙にいこう:2010/10/18(月) 19:40:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可能
【5 検索キーワード     】 CurrentRegion resize

オートフィルターでのリストのコピーで、resizeについて
教えて下さい。
CurrentRegionで選択した領域で、特定の列だけを
コピーするにはどうしたらいいのでしょうか?

A1〜F8までの領域で、C列だけをコピーして
別シートに貼り付けたいって感じです。

resizeを使って…っと思ったのですが、イマイチ
理解できていません。

よろしくお願いします。
129名無しさん@そうだ選挙にいこう:2010/10/18(月) 20:50:10
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少々
【4 VBAでの回答の可否】 可

CSVを開いて、月ごとの支払い予定金額を集計したいです。
J列には20100917というように8ケタの日付が、V列には金額が入ってます。
ttp://uproda.2ch-library.com/304370DGG/lib304370.png
(実際のデータは3500行ほどあり、J列とV列以外は空白にしています)

J列をもとに、次のように分けて金額の合計を集計し、
Sheets"MENU"のB5〜B8セルにそれぞれ記入したいのですが
どのようにすればいいでしょうか?
1.今月末までの金額
2.来月1日〜末日までの金額
3.再来月1日〜末日までの金額
4.再々来月1日から先の金額

考えたのは、V列の最下行に "=SUBTOTAL(9,R[-" & 最下行 & "]C:R[-1]C)" と入れて、
オートフィルタでJ列を分け、B5〜B8セルに順次入れればいいかと思いましたが、
抽出条件のやり方が分りません・・・orz
よろしくお願いします。
130名無しさん@そうだ選挙にいこう:2010/10/18(月) 21:23:59
>>129
「今月末までの金額」ってのは、今月1日から?今日から?
131名無しさん@そうだ選挙にいこう:2010/10/18(月) 21:24:31
>129 いくつかおたずねします
Q1 .csvファイルを開いて表示されたシートと、Sheets"MENU"のあるシートは別ファイルになりますね?
Q2 .csvファイルのファイル名(excelで開いたときのシート名)は固定ですか?
Q3 日付順でソートされているんでしょうか?
Q4 上記Q2で日付でソートされている場合、1.今月末までの金額 とは、無条件に2行目からでOKですか?
    それとも、過去の(前月以前の)データも含まれている、ということでしょうか?
Q5 日付を意味する8桁の数字(この時点ではExcelは日付と認識できない)は数値ですか、文字列ですか?
132129:2010/10/18(月) 21:47:34
レスありがとうございます。

>>130
「今月末までの金額」は、過去からです。
支払い予定に対し、未払いのデータを出力するので先月や先々月なども含みます。

>>131
A1 別になります。
A2 固定ではありません。For Each WB in Workbooks で、
   開いてるファイルを探して取得するつもりでいます。
A3 おおむね日付順ですが、並べ替えは可能です。
A4 過去の(前月以前の)データも含まれている、ということです。
A5 文字列の状態です。

よろしくお願いします。
133名無しさん@そうだ選挙にいこう:2010/10/18(月) 21:56:32
>>129
今月末までの合計
=SUMIF(J:J,"<=" & YEAR(NOW()) & TEXT("00",MONTH(NOW())) & "31",V:V)
数式考えるのがめんどいから書かないけど、残りの合計もこれの応用でいけるはず
134名無しさん@そうだ選挙にいこう:2010/10/18(月) 22:38:46
>>129 なんか汚いプログラムでごめん
Sub aaa()
  Dim 今月末 As Long, 来月末 As Long, 再来月末 As Long
  Set ur = ActiveSheet.UsedRange
  今年 = Year(Now())
  今月 = Month(Now())
  If 今月 = 12 Then 来月 = 1 Else 来月 = 今月 + 1
  If 来月 = 12 Then 再来月 = 1 Else 再来月 = 来月 + 1
  今月末 = 今年 & Format(今月, "00") & 31
  If 来月 = 1 Then 来月末 = 今年 + 1 & "0131" Else 来月末 = 今年 & Format(来月, "00") & 31
  If 再来月 = 1 Then 来月末 = 今年 + 1 & "0131" Else 再来月末 = 今年 & Format(再来月, "00") & 31

  For R = ur.Row To ur.Row + ur.Rows.Count - 1
    Select Case Cells(R, "J") * 1
      Case Is <= 今月末
        sum1 = sum1 + Cells(R, "V")
      Case Is <= 来月末
        sum2 = sum2 + Cells(R, "V")
      Case Is <= 再来月末
        sum3 = sum3 + Cells(R, "V")
      Case Else
        sum4 = sum4 + Cells(R, "V")
    End Select
  Next

  With Sheets("MENU")
    .Range("B4") = sum1
    .Range("B5") = sum2
    .Range("B6") = sum3
    .Range("B7") = sum4
  End With
End Sub
135129:2010/10/18(月) 22:44:02
>>133-134
レスありがとうございます。
すみません、睡魔が襲ってきたので明日確認します。
136名無しさん@そうだ選挙にいこう:2010/10/19(火) 17:31:16
2010年10月 | 6,000
2010年09月 | 30,000
2010年08月 | 31,000
というデータがあるとします。
2010年10月分は、1日〜6日までの分しかありません。

このデータに平均を足す場合、
全ての値を足して、月数で割ったもの
(6,000+30,000+31,000)/3 = 約22,333
と、
(6,000/6*31 +30,000+31,000) /3 = 約30,667
のようにしたもののどちらを使えばいいのでしょうか?

また、どちらも載せる場合、平均A/平均Bなど以外に何か良い呼び方はないでしょうか?
少々スレ違いかも知れませんが、よろしくお願いします。
137複乳:2010/10/19(火) 17:40:16
>>136
ちとスレちがいな気もするが・・後者でしょ
呼び方は日数平均でいいと思う。
意味は少し違うが加重平均をいう言葉を知っていると便利でカッコイイ
138複乳:2010/10/19(火) 17:41:12
あー、りょうほうか
A 月平均(但し10月は6日間のみ)
B 日数平均
って感じだな
139複乳:2010/10/19(火) 18:38:45
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ

今後も複乳をよろしく
140136:2010/10/19(火) 19:01:46
ありがとうございます。
141名無しさん@そうだ選挙にいこう:2010/10/19(火) 20:18:04
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

セル範囲A1:A8240までに記入された文字から
特定の文字が何回出たかをカウントしてB1に表示させたいのですが、そのための式を教えてください
抽出したい文字は2文字〜5文字の言葉になります

LENやSUBSTITUTEを使ってみたのですが、上手く回数を返してくれません
宜しくお願いします
142名無しさん@そうだ選挙にいこう:2010/10/19(火) 20:32:20
配列式を使えば可能かもしれないな

配列式をマスターするよりVBAを勉強するほうが簡単だと思うくらい理解しにくいが
143名無しさん@そうだ選挙にいこう:2010/10/19(火) 20:56:27
「配列式」でググってサイト見ていったらやっと原因分かりました
Ctrl+Shift+Enterで押さなきゃいけないんですね
どうもありがとうございました
144名無しさん@そうだ選挙にいこう:2010/10/19(火) 20:56:46
めんどうだからA1〜10で
セルの数であれば
=COUNTIF(A1:A10,"*あ*")

セルの中のトータルの出てきた数であれば、
=SUMPRODUCT(LEN(A1:A10)-LEN(SUBSTITUTE(A1:A10,"あ","")))
145129:2010/10/19(火) 21:14:01
>>133
すみません。134さんのマクロで集計したので試しませんでした><

>>134
月末をどうするか悩んでましたが、全て31以下で処理するんですね。
勉強になります…メモメモφ(..)

タイトル行があるのでR=ur.RowをR=2、Cells(R, "J")をCells(R, 10)、
Cells(R, "V")をCells(R, 22)に書き直して集計できました。
146名無しさん@そうだ選挙にいこう:2010/10/19(火) 22:19:08
>>145
> Cells(R, "V")をCells(R, 22)に書き直して

これは同じ意味だから書き直さなくていいんだよ
アルファベットのままの方が何列目かわかりやすいでしょ
147名無しさん@そうだ選挙にいこう:2010/10/19(火) 23:14:31
>>144
CountIfってワイルドカードとかあったのね知らなかったや、ありがと

>>145
32日の月ってあるの?w
文字列を数値としてそのまま扱うトリック使ってるけど、ちゃんと理解されてるのかな
148名無しさん@そうだ選挙にいこう:2010/10/19(火) 23:59:39
>32日の月ってあるの?

あるわけねーだろ?
消防か?
149名無しさん@そうだ選挙にいこう:2010/10/20(水) 08:09:24
マジレスとか
150複乳:2010/10/20(水) 09:41:36
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ

おまいら釣られるなよ
151名無しさん@そうだ選挙にいこう:2010/10/20(水) 13:49:35
教えてちょんまげ
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

条件付き書式で色分けしたいんですよ
列AAの4〜103までの100セルに計算式を入れてます
その値はそれよりも左のA〜Z列によって変動し
1〜4あるいは0の数字が入ります(0は計算式を変えることで""にもできます)
それ以外の数字になったりはしません
また式の仕様により
 ・AA4セルはいつも1である
 ・数字の順番は下に進むにつれ常に1→2→3→4→0になる
 ・2や3や4は出てこないことがあるが数字が飛ぶことはない(3がない時は絶対に4もない)
 ・基本的に同じ数字がいくつか連続する
という状態になっています

例を挙げると、上から順に見ていった場合
 ・11111122222222223334444000000......0
 ・11122222000000000000000000000......0
 ・11111111111111100000000000000......0
みたいな場合があります(0は""にもできますが)

このような時セルの背景を
 ・1の部分は水色
 ・2の部分は明るい緑
 ・3の部分は黄色
 ・4の部分はゴールド
 ・0の部分はぬりつぶしなし
にしたいんですが3つまでの条件つき書式でどうやればいいでしょうか?
なおすでに列がたくさんあるのでなるべくなら作業列を使わずにやりたいんですが可能でしょうか?
152複乳:2010/10/20(水) 14:30:10
>>151
多分無理じゃないかなー
ABとACで
「数式が」=$AA$4=1
のように設定して行くしかないと思う
153複乳:2010/10/20(水) 14:39:33
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ

でも、できるかもしれないのでもうちょっと調べてみるね
154名無しさん@そうだ選挙にいこう:2010/10/20(水) 15:10:11
>>151
Excel2003の条件付き書式は3つまで
Excel2007の条件付き書式は無制限

2003でもVBAなら出来るよ
155名無しさん@そうだ選挙にいこう:2010/10/20(水) 19:03:36
>>151
5色塗り分けるのは無理じゃないかな
どうにかVBAなしで実現できないか考えてみたが、5色(4色+なし)が不可能ぽい
「3色+なし」で4種類までなら、可能なのだけど

3つの条件式は独立して作用するわけでもないし、(If文やSelect文のように1つしか実行されない)
背景色は元値に関わらずただ書き換える事しかできない。(元値に対して四則演算などの操作が出来ない)
この2点がクリア出来たなら色によっては最大7色+なしで8種類まで可能だったけど、あいにくそういう仕様じゃないので無理。

条件付き書式以外での実現方法も視野に入れる(VBAを使うor併用するとか作業列を用意する)ならやれない事はないだろね
…「条件付きマクロ」って欲しいなぁw
156名無しさん@そうだ選挙にいこう:2010/10/20(水) 20:35:43
>>155
そういう時「条件」はマクロの中で判断するものだから
157名無しさん@そうだ選挙にいこう:2010/10/20(水) 21:58:37
>151
どうしてもAA列の値に応じた色を指定する必要があるのでしょうか?
地図の色分け(※)みたいに、1:水色、2:緑、3:黄色、4:水色、0:塗りつぶしなし
のように全体で4色(条件付書式で3色+地の色)ではダメですか?
※地図はどのような場合であっても必ず4色で塗り分けが可能

VBA不可というのは、絶対ですか?(職場のPCでVBA実行禁止の設定がしてあるとか?)
158名無しさん@そうだ選挙にいこう:2010/10/20(水) 22:01:30
91で質問した者です。

Excelを再インストールすることで、EnableCalculationが動作するようになったのですが、
しばらく使っていると、EnableCalculationで計算しないシートを指定しても、
そのように動作してくれなくなりました。

これはいったいどういうことなんでしょう。さっぱり分かりません。
なにが原因なんだろう?
159名無しさん@そうだ選挙にいこう:2010/10/20(水) 22:15:13
>>158
EnableCalculationを自動的に書き換えるアドインや何かが入っているとか
XLSTART,PERSONAL.XLS,他設定ファイルがおかしなことになっているかも
160名無しさん@そうだ選挙にいこう:2010/10/21(木) 00:22:30
今月ならA2セルにOctober、来月になったらNovemberとファイルを開いたら
自動的に入れる方法ってありますか?
161>160:2010/10/21(木) 00:30:38
=TEXT(TODAY(),"mmmm")
と入れてみよう
162名無しさん@そうだ選挙にいこう:2010/10/21(木) 08:09:40
=TEXT(NOW(),"mmmm")
でもよさそう。
163名無しさん@そうだ選挙にいこう:2010/10/21(木) 09:45:40
>>159
XLSTARTとPERSONAL.XLSはないから関係なさそう。
アドインは使ってるけど、これが自動的に書き換えるとは思えないし・・・

アドインも使わず最低限の計算しか入れてないシートで検証してみたけど、
それでもだめだったから、たぶんアドインの影響はないと思います。

困ったな。OSごと再インストールするしかないのか・・・
164名無しさん@そうだ選挙にいこう:2010/10/21(木) 21:35:39
5000行(レコード)のなかから
重複行の抽出は?
165160:2010/10/21(木) 22:05:21
>>161
>>162
スゲー!ありがとう。感動した!
いやー、auto_openマクロでやらないとだめだよな〜って思ってたので。
166名無しさん@そうだ選挙にいこう:2010/10/21(木) 22:07:14
ずっと記述を保持したいならauto_openもありだと思うけどね
167名無しさん@そうだ選挙にいこう:2010/10/22(金) 00:42:05
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel vba セル ひとつに

複数セルの内容を一つのセルに連結したいのです。

http://soudan1.biglobe.ne.jp/qa1164832.html

検索した所、↑このページが一番近いイメージだったのですが、
手動で対象セルを選択するのではなく、特定セルを自動で行いたいのです。
横方向は3列、縦方向は可変です。

A1 青森 b1 リンゴ c1 パイ
A2 愛媛 b2 みかん c2 ジュース

↓結果↓(先頭セルにまとめて、セル(単語)毎に改行。先頭セル(a1)以外はクリアする)

a1 青森<改行>
  リンゴ<改行>
  パイ
a2 愛媛<改行>
  みかん<改行>
  ジュース

よろしくお願いします。
168名無しさん@そうだ選挙にいこう:2010/10/22(金) 08:57:01
>>167
Sub test()
Dim r As Range
Dim maxRow As Long
maxRow = Cells(Rows.Count, 1).End(xlUp).Row
For Each r In Range("a1:a" & maxRow)
r.Value = r.Value & vbCrLf & r.Offset(0, 1).Value & vbCrLf & r.Offset(0, 2)
r.Offset(0, 1).Resize(1, 2).Clear
Next r
End Sub
169名無しさん@そうだ選挙にいこう:2010/10/22(金) 09:00:16
マクロ使わない方法

@D1に「=A1&CHAR(10)&B1&CHAR(10)&C1」、D列にオートフィル
AD列をコピー&値貼り付け
BA〜C列を削除
170複乳:2010/10/22(金) 09:02:30
>>167
自動で、の自動の瞬間っていつ?Cが入力されたとき?

VBAを使わなくても別シートのA1=A1&CHAR(10)&B1&CHAR(10)&C1
とすれば自動に近い感覚で使えると思う
171複乳:2010/10/22(金) 09:15:35
ぎゃーかぶったごめんなさい
172複乳:2010/10/22(金) 09:38:54

    ,/テ=、
    | ///,.-ー`,/ ̄ ̄ ̄ ̄ ̄ ̄\
   | // / ̄/            \  〃
   |   / /                 ヽ   ′   ボクとしたことが
 . /`ー、ノ l:::::::::.                  |    _      
 /、   >  |::::::::::   (●)     (●)   |     ´  おはずかしい・・・・・
  ` ヽ´  |:::::::::::::./// \___/ ///  |     
    /    ヽ:::::::::::::::::::.  \/     ノ
173名無しさん@そうだ選挙にいこう:2010/10/22(金) 13:47:48
【1 OSの種類         .】 Windows7 32bit
【2 Excelのバージョン   】 Excel2000 SP3
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Windows7 Excel2000 オートコンプリート 落ちる

Windows7 で Excel2000 を使ってます。
オートコンプリートを有効にして、その機能を使うと強制終了します。
しかし、オートコンプリートを停止して Excel2000 を使うと正常に動きます。

ちなみに、ネットの情報では MS-IME との相性が悪いので
ATOK や Google IME を使えば改善するとありました。
しかし、Google IME をインストールして、既定の IME にしても症状は改善しませんでした。

何か対策はございますか?
オートコンプリートがあった方が便利なので、この機能を使いたいのです。
174複乳:2010/10/22(金) 13:49:22
>>173
俺も同じ質問したことあるけど、解決方法は多分ない
オートコンプリートを切ろう
175複乳:2010/10/22(金) 15:30:17

      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ
    l:::::::::.                  |  はい
    |::::::::::    ⌒     ⌒     |  次どうぞ
   |:::::::::::::./// \___/ ///  |
    ヽ:::::::::::::::::::.  \/     ノ
176名無しさん@そうだ選挙にいこう:2010/10/22(金) 16:05:51
excel2003です

以下のように入力されている場合
A1=10 B1=大吉
A2=20 B2=中吉
A3=20 B3=吉
A4=20 B4=末吉
A5=20 B5=凶
A&=10 B6=大凶

"A列%の確率でB列の値を表示させる関数"はありますか?
(10%の確率で大吉、20%の確率で中吉、…)

もしこのような関数がなければ、関数を組み合わせて上記の""ようにする方法を教えてください。
177名無しさん@そうだ選挙にいこう:2010/10/22(金) 16:59:04
5時から出かけなあかんから一言だけ

ランダムな数字を出すRAND関数やったっけ
あれ使ってIF使ってA1セルの値より小さければ〜とかやったらどやろ
ああRANDに100かけなあかんかな
178名無しさん@そうだ選挙にいこう:2010/10/22(金) 17:11:01
>>176
おみくじの結果をC列に表示するとしたら、
C1=IF(INT(RAND()*100)+1<=A1,B1,"")
あとは下へコピー。
179176:2010/10/22(金) 18:02:02
なんかもっといい方法ないですかね
A列*RAND()して一番大きい数のA列をVLOOKUPで求めたら確率はおかしくなるのかな?
180複乳:2010/10/22(金) 18:13:07
100%で1%刻みなら100行にしてVLOOKUPすればできなくもないけど、準備が結構めんどくさい
181複乳:2010/10/22(金) 18:25:19

      / ̄ ̄ ̄ ̄ ̄ ̄\
    /u J       u   \
   /      u  u  u J  ヽ
    l:::::::::               |  検索の型にTRUEを使えばできそう
    |:::J::: u  (●) u  (●)u  | もうちょっと考えてみるね
   |::::::u::::::::   \___/    |
    ヽ::::::u::::::::::.  \/ u  J ノ
182名無しさん@そうだ選挙にいこう:2010/10/22(金) 19:17:25
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(全く経験ありません)
【5 検索キーワード     】 セル 色 反映

別シートに作ったリストをVLOOKUPで参照する際、リストに付けたセルとフォントの色が
同じになるようにしたいのですがどうすればいいのでしょうか?
183名無しさん@そうだ選挙にいこう:2010/10/22(金) 21:01:54
>>176
作業列に確率の積算値を入れればVLOOKUP一発で可能
C1=A1
C2=A2+C1
以下略
184名無しさん@そうだ選挙にいこう:2010/10/22(金) 21:53:36
>>176
=LOOKUP(RAND()*10,{0,1,3,5,7,9;"大吉","中吉","吉","末吉","凶","大凶"})
=LOOKUP(RAND()*10,{0,1,3,5,7,9},{"大吉","中吉","吉","末吉","凶","大凶"})
表を作った方がいいけどな。
あと10倍が必須ではないが。
185名無しさん@そうだ選挙にいこう:2010/10/22(金) 22:13:54
すまん、A列は可変なのか。
C1: 0
C2以下=C1+A2
としてから
=LOOKUP(RAND()*100,C1:C6,B1:B6)

186名無しさん@そうだ選挙にいこう:2010/10/22(金) 22:16:47
C1: 0
C2以下: =C1+A1
の間違いだな。
A列は合計100となる前提。
187名無しさん@そうだ選挙にいこう:2010/10/22(金) 22:18:33
確率を微妙に変えたいとき、いちいち合計を100にするのは面倒だろう
C1=A1/SUM(A$1:A$6)
C2=(A2+C1)/SUM(A$1:A$6)
188名無しさん@そうだ選挙にいこう:2010/10/22(金) 23:00:05
>>187
0.1
0.201
0.20201
0.2020201
0.202020201
0.102020202
こんな数値からどうやって求めるのか教えてくれ。

C1以下=A1/SUM(A$1:A$6)
=LOOKUP(RAND()+C$1,C$1:C$6,B$1:B$6)
なら分るけどな。
C1:C6は{=A1:A6/SUM(A1:A6)}の方がベターだが。
189名無しさん@そうだ選挙にいこう:2010/10/22(金) 23:05:39
すまん
C1以下=A1/SUM(A$1:A$6)
D1: =C1
D2以下: =D1+C2
=LOOKUP(RAND()+D$1,D$1:D$6,B$1:B$6)
こうだったわ。
190176:2010/10/22(金) 23:22:49
>>189
できました
ありがとうございます
191176:2010/10/22(金) 23:36:46
出来たと思ったんだけど、ためしに

A1=1
A2=1
A3=1
A4=1
A5=1
A6=100

でやると逆にB6が出にくい。そのぶんほとんどB5になります
理由はなんとなく理解してるけど、頭が回らない
このやりかたではだめなんかな?
192名無しさん@そうだ選挙にいこう:2010/10/22(金) 23:58:42
すまん、>>189は全然駄目だな。
どうもボケが来てしまったようだ。
今度は間違いないだろう。

C1以下=A1/SUM(A$1:A$6)
D1=0
D2以下:=D1+C1

=LOOKUP(RAND(),D$1:D$6,B$1:B$6)
193176:2010/10/23(土) 00:15:30
今度こそ出来ました
ありがとうございました
194名無しさん@そうだ選挙にいこう:2010/10/23(土) 01:49:30
Excelで、「セルの詳細設定」を開こうとすると、えらい時間がかかります。30秒くらい。
一旦開くと、次からはすぐに開くのですが、Excelを再起動させると同じ状況になります。

WiMaxに接続しているときに、この症状が起きることは分かっているのですが、直し方はわかりません。
ドライバーは複数バージョン試したのですが、同じ症状です。
Wifi接続時は問題ありません。

直し方を教えてくれませんか?

機種:ThinkPad x200s
OS:windows 7
Excel:2007

WiMax Adapter: Intel Advanced-N + WiMax 6250
195名無しさん@そうだ選挙にいこう:2010/10/23(土) 02:06:56
>>194
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ

Ctrl + 1 (キーボード左の1) を押すとどうなりますか?
196名無しさん@そうだ選挙にいこう:2010/10/23(土) 02:54:10
エクセル2003使ってます
あるセルとその下のセルを結合してその中に文を書きたいです
そのセルの中で上の段と下の段で分けて書きたいのにど真ん中にしか書けないです
やり方を教えて欲しいです
197名無しさん@そうだ選挙にいこう:2010/10/23(土) 02:58:01
つ "Alt + Enter"
198名無しさん@そうだ選挙にいこう:2010/10/23(土) 03:13:45
>>197
できました
ありがとです
199194:2010/10/23(土) 03:29:50
>195
同じように時間がかかります。
200名無しさん@そうだ選挙にいこう:2010/10/23(土) 09:09:37
>>192はよく見たら
C1 =0
C2以下 =C1+A1/SUM(A$1:A$6)
=LOOKUP(RAND(),C$1:C$6,B$1:B$6)
と同じじゃないか。
俺もいよいよ頭が回らなくなってきたな。
あとSUM(A$1:A$6)は作業セルの方がいいけどな。
201名無しさん@そうだ選挙にいこう:2010/10/23(土) 09:33:55
>>194
最初に書式設定を開く時、インストールされたフォントと印刷可能なプリンターをすべて確認する仕様になってる。
(ネットワークで共有されたプリンターを含む)
不要なフォントと普段使わないプリンターを削除して、LANケーブルを抜いてネットに接続されていない状態にすれば
だいぶ軽くなるけど、いちいちそんなことをするのも面倒だし、根本的な解決方法は今のところ見つかってない。
202名無しさん@そうだ選挙にいこう:2010/10/23(土) 10:17:41
>>176
=CHOOSE(INT(RAND()*10),"大吉","中吉","吉","末吉","凶","中吉","吉","末吉","凶","大凶")
ランダムに1:2:2:2:2:1の確立で・・・なら、こんなのどう?
203名無しさん@そうだ選挙にいこう:2010/10/23(土) 10:22:19
>>202
それだと1/10の確率でエラーになる
=CHOOSE(RAND()*10+1,"大吉","中吉","吉","末吉","凶","中吉","吉","末吉","凶","大凶")
204名無しさん@そうだ選挙にいこう:2010/10/23(土) 10:46:23
>>202-203
いずれにしても汎用性はあまりねーな。
205名無しさん@そうだ選挙にいこう:2010/10/23(土) 10:50:16
複乳君はとうとう考え出せなかったか
206202:2010/10/23(土) 14:06:07
>203
RAND関数は0.1以下になる場合もあるんだ、知らなかった。
ありがと!

>204
でも、その分シンプルだろ
207名無しさん@そうだ選挙にいこう:2010/10/23(土) 16:27:57
>>176みたいな関数あったほうがいいよな…
使う機会多そうだし
208名無しさん@そうだ選挙にいこう:2010/10/23(土) 16:30:52
いやいらんだろ・・・
209名無しさん@そうだ選挙にいこう:2010/10/23(土) 17:32:14
そのためのRAND()だろうに
210名無しさん@そうだ選挙にいこう:2010/10/23(土) 17:59:59
そんなんならVLOOKUPとかHLOOKUPの逆向きのが欲しいわ
見出しは左側や上側に付けるとしてもいつも抽出したいものが右とか下にあるとは限らんと思うのだが

INDEXとかMATCHはお帰りください
211名無しさん@そうだ選挙にいこう:2010/10/23(土) 18:16:51
>>206
シンプルってあんた、例えば下の確率で作ってみなよ。
結構大変だと思うぞ?

10 大吉
15 中吉
25 吉
25 末吉
15 凶
10 大凶

やっぱ汎用性のある>>200が簡単だな。
212名無しさん@そうだ選挙にいこう:2010/10/23(土) 18:27:09
>>210
馬鹿杉
だからVLOOKUP使いは馬鹿が多いって言われるんだよ。
>>176のケースはLOOKUPで決まりだしな。
213名無しさん@そうだ選挙にいこう:2010/10/23(土) 18:30:35
今の旬は>>176じゃなくて>>211だぜ兄さん?
214名無しさん@そうだ選挙にいこう:2010/10/23(土) 19:43:02
>211
汎用性が無いのは分かってんだから、違う問題出しても意味無いじゃん
215名無しさん@そうだ選挙にいこう:2010/10/23(土) 19:57:49
だが質問者は皆ウソをつく

ここで質問する時はこうこうこれだけがしたいんですと言い
実際にはもっと複雑なことがしたいのだ
つまり汎用性を求めているんだよ、質問者は
常に、ね
それを禁止するようテンプレに書いていても無駄だ
いかにしてバレないかと巧妙なウソを考えるにすぎん
216sage:2010/10/23(土) 20:56:39
215君、子供っぽいね。
217名無しさん@そうだ選挙にいこう:2010/10/23(土) 23:40:20
>>200はよく出来てるね。
>>211の比率で100万行に式を入れてやってみたら、ほぼ同じ比率で出現した。
218名無しさん@そうだ選挙にいこう:2010/10/24(日) 07:58:51
あるフォルダの1層目のファイル名、フォルダ名だけをすべて掃きだすことってできないですか?
そのようなものはあったのですが階層すべてが表示されてしまい、ある特定の層だけというのはできませんでした
単純なことなので標準で実装されていたりしますか?
219名無しさん@そうだ選挙にいこう:2010/10/24(日) 08:11:47
>>218
標準では用意されていない
Sub aaa()
  f = Dir("C:\Program Files\*.*", &H3F)
  r = 1
  Do While f <> ""
    Range("A" & r) = f
    r = r + 1
    f = Dir()
  Loop
End Sub
220名無しさん@そうだ選挙にいこう:2010/10/24(日) 15:47:10
助かりました。ありがとうございます。
221名無しさん@そうだ選挙にいこう:2010/10/24(日) 21:28:04
【1 OSの種類         .】 Windowsxd
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(ちょっとだけ)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel vba 一文字毎 伏せ字

a1 東京 b1 鈴木 一郎 c1(いろんなデータ)
a2 大阪 b2 南 光太郎 c2
a3 愛知 b3 御手洗 明 c3

個人情報を取り扱ってまして、下記のように顧客の名前を一文字置きに伏せ字にできまませんか?

a1 東京 b1 鈴○一○ c1・・・(いろんなデータ)
a2 大阪 b2 南○太○ c2・・・
a3 愛知 b3 御○洗○ c3・・・
222221:2010/10/24(日) 21:30:23
あ、追記で申し訳ないのですが、
名前と苗字の間には全角の空白となってます。
よろしくお願いします。

あと例示リストは3つですが、実際には複数名があります。
223名無しさん@そうだ選挙にいこう:2010/10/24(日) 21:50:01
>>221
自信なし・・・一般関数のreplaceってどうすればいいの?

Sub AAA()
Dim maxRow As Long
Dim i As Long
Dim r As Range
Dim v As String
maxRow = Cells(Rows.Count, 2).End(xlUp).Row
For Each r In Range("b1:b" & maxRow)
v = Replace(r.Value, " ", "")
For i = 2 To Len(r.Value) Step 2
v = Application.WorksheetFunction.Replace(v, i, 1, "○")
Next i
r.Offset(0, 1).Value = v
Next r
End Sub
224名無しさん@そうだ選挙にいこう:2010/10/24(日) 22:05:58
>>223
おお、取りあえず例示の構成では上手くいきました
明日会社で実際のファイルで試して見ます。

有り難うございました。
225名無しさん@そうだ選挙にいこう:2010/10/24(日) 22:37:09
>>223
VBAではMid関数を使う

For i = 2 To Len(r.Value) Step 2
  Mid(v, i, 1) = "○"
Next i
226名無しさん@そうだ選挙にいこう:2010/10/24(日) 22:47:12
Application.WorksheetFunction.Replaceっておもいっきり下手だなぁ。
>For i = 2 To Len(r.Value) Step 2
>v = Application.WorksheetFunction.Replace(v, i, 1, "○")
>Next i
ここを添削すると
For i = 2 To Len(v) Step 2
 Mid(v, i, 1) = "○"
Next i
となる。
ちなみにステートメントの場合Mid$とする必要はない。
227名無しさん@そうだ選挙にいこう:2010/10/24(日) 22:50:11
あちゃー、リロードしないで書きこんだらすでに同じ指摘が入ってたよ。
でもまぁFor i = 2 To Len(r.Value) Step 2 も間違いだからいいか。

228名無しさん@そうだ選挙にいこう:2010/10/24(日) 22:51:40
ちなみにMid関数じゃなくてMidステートメントな。
229名無しさん@そうだ選挙にいこう:2010/10/25(月) 04:32:59
Midマニア襲来
230名無しさん@そうだ選挙にいこう:2010/10/25(月) 10:26:40
Midナイト
231名無しさん@そうだ選挙にいこう:2010/10/25(月) 14:58:23
            ,.,.,.,.,.,.,.,.,__
           i::::::::/'" ̄ ̄ヾi
           |:::::::| ,,,,,_  ,,,,,,| 
           |r-==( 。);( 。)   
           ( ヽ  :::__)..:: }
        ,____/ヽ  ー== ; それでそれで?
     r'"ヽ   t、   \___ !
    / 、、i    ヽ__,,/
    / ヽノ  j ,   j |ヽ 
    |⌒`'、__ / /   /r  |
    {     ̄''ー-、,,_,ヘ^ |
    ゝ-,,,_____)--、j
    /  \__       /
    |      "'ー‐‐---''

232名無しさん@そうだ選挙にいこう:2010/10/25(月) 18:30:52
大陰唇みてちんちんぼっきした?
        /:::::::::,イ〃//:/A//}}:::::::!::::!::::::!:N
       //|::::::|トi!|/ 'レ行ミ、〃::::::::!:::::::::!::::|
        i:||::::垳     じリ/::::::::::::::::::::::::::::|            
          |! |:::|:::!r'   ""乂:::::::::A:::::::::::::::|
          ! Y八 r‐、  イ::>― <Y::::i:∧
             |! |:ヽ`  //´  ヽ  乂ト、i!:::|
             j |:i:|`ァT:/     l  ||ト、ヽ\
               |:|:| |:レ'i      | 〃ヾ \ヽヽ
           |:|:|/|:レj   ___/リ   \__)):::::\ 
           /,:/:/|/|  ̄  /〃       r- 、::::)
          ///〃/ ||  /  /  ∠ ィ___77A┼>、
          〃 {{ |ト、||     //__7 ̄/ /ノ≠≦==iト≧=- _
          {{  ヽ|Y!    / ,. -、{`-{ -〈 /.‐/7-ヽ‐-》___》__〉-、-、
          ヽ   i! !  _,. /   `‐┴--ヽ__〈/-‐'´ ̄     ` <「ヽ
                  ,'/レ7                    :          ヽ.ト、
             ,' ト、_./                   i            Vヘ
             ,' LV                     !          Vヘ
             ,'/L/                 ,'            Vヘ
            ,'|_/_.,'                   ,.'             |ヽ
           ,' ヽ.V                 ,.小               ト、
           /   ,'                 ,. '´ ノ ;              ! .!
      r 、 fヘV   .,'                 /-‐'-イ             ;、/
     ⊂ニ、 `. 〈    i             /    /            ∧┼
233複乳:2010/10/25(月) 19:08:03
               。   。     ,.-ー .、 ,.-- 、    / / _,..-、
   __ ,,..--─- 、_    ノi^ヽ、_,ヘ、  ,'   ,ィノ-ィ ;   i   i /__/,..--,i  ,ィ^i^!i    ッ-ヘ。__。ヘ    ./ー- 、
   !ヽ'r〜⌒〜yノ。  / _,,,......,,,_i   i  /    `'!  i  , ' `  ´ヽ、   ,レ ⌒ ヽ   レ, '´゚   `,〉   /==ヽ i
   `Y ルノハルノ  ´r'ノノ人ノ)))  'r.'´ノリ人ノリ〉-'  i <ノルレノル'   彡iノノlノリミ   i ハ)))ハ))ノ)  ム,   |/
    ハi.リ ゚ ヮ゚ノリ    ,ヘ,ゝ ゚ ヮ゚ノ,)   〉从!゚ ヮ゚ノi(   i !i ゚ ヮ゚ノ!    ソリ!゚ ヮ゚ノ!〉  イオi ゚ ヮ゚ノヘ /
    `/ l ・・ヽ    ,ゝ/,´ ・・ヽ    `/ l ・・ヽ     |/,´ ・・ヽ    /,´ vvヽノ   ,/ l ・)・)つ'ソ
    しノ ・・|J   ζヽ,〉 ・・|,〉    しノ ・・|J     くノ,〉 ・・|,〉   くノ,〉 vv|   しノ(・)・)・)
     /  ・・l    £' (  ・・l     C/  ・・l       (  ・・ヽ     (  vvl     /   | 
   〜ノ ハ |       | / l     ノ ハ |       !リゝ 〉、ヽ     | / l    ノ ハ |
    し'  i__)      !__)__)     し'  i__)       !_ノ  ヽ_)     !__)__)    し'  i__)

ぁたしたちの複乳も見てね☆
234名無しさん@そうだ選挙にいこう:2010/10/25(月) 22:15:18
複乳名乗ってる奴ってどんだけ複乳ファンなんだよw
235名無しさん@そうだ選挙にいこう:2010/10/26(火) 00:36:06
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 コピペ 太字

ウェブの文からコピペすると太字やサイズのばらつきが気になるのですが、
解除が面倒なので、初めからそういうのを一切適用しないようにできないでしょうか?
236名無しさん@そうだ選挙にいこう:2010/10/26(火) 00:41:01
ペーストした後に範囲選択して「クリア」→「書式」とすりゃいいんでないの?
237名無しさん@そうだ選挙にいこう:2010/10/26(火) 00:48:43
形式を選択して貼付けでテキストを選択すりゃいいんでないの?
238名無しさん@そうだ選挙にいこう:2010/10/26(火) 05:56:51
一番簡単なのは、セルを編集状態で貼り付けること・・・・
239名無しさん@そうだ選挙にいこう:2010/10/26(火) 09:07:45
>>235
Firefoxを使ってるならアドオンのCopy Plain Text。
使ってないならコピペテキスト修飾除去。
http://www.yoshibaworks.com/ayacy/inasoft/icountt.html
240名無しさん@そうだ選挙にいこう:2010/10/26(火) 10:55:03
テキストの属性は簡単に解除できるけど、一緒に貼り付いてくるチェックボックスとか画像を消すのがめんどくさい
2007になってからマウスでガーっと選択してDeleteのやり方がわからなくなった
241複乳:2010/10/26(火) 11:04:21
一旦メモ帳に貼り付けて編集するのが好きです
242複乳:2010/10/26(火) 11:25:58

      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  |   キャッ キャッ
    |::::::::::   (>)     (<)   |     
   |:::::::::::::::::   \___/     | 
    ヽ:::::::::::::::::::.  \/     ノ
243名無しさん@そうだ選挙にいこう:2010/10/26(火) 14:46:29
せんせー! 質問です!

エクセル2002を、WinXPで使ってます。
小遣い帳のテンプレを自分で作って、記入しています。
次の月は、シートを追加して、そのテンプレをシートに貼り付けて使ってます。

うっかりと、テンプレに記入する事が多いのですが
シートまたは、セルの範囲内を記入できない様にする方法が
ありましたら、教えてください m(_ _)m
244名無しさん@そうだ選挙にいこう:2010/10/26(火) 14:48:32
保護かければいいんでは
245名無しさん@そうだ選挙にいこう:2010/10/26(火) 14:53:24
>>244 せんせー! うまくいきました。ありがとうございました m(_ _)m
246名無しさん@そうだ選挙にいこう:2010/10/26(火) 19:41:00
>>240
気持ちはわかる。俺も同じだ。
テキストとしてペーストすると表示が崩れる場合がある
その時は作業用のシートを用意しそこへ単純ペースト、それをさらにコピーして目的のシートへ形式を選択して貼り付け
これでたいていはうまくいくが、画像やらリンクやらがあるとどうしても残る

結局俺は、最終的にVBAマクロを作って対処した。
コーディングも中々面倒だった。

>>241
表の状態は残しつつ、画像や装飾や罫線や背景色はいらない!みたいな時が厄介での
247名無しさん@そうだ選挙にいこう:2010/10/26(火) 20:22:57
Excel2000を使っています。
1行毎に1、2,3・・10、と数値を連続データで入力したのですが
行を挿入した場合、自動的に連続データで入力した数値は変換するように
するのはどうすればよいのでしょうか?
248名無しさん@そうだ選挙にいこう:2010/10/26(火) 20:38:07
>>247
何に変換するの?
249名無しさん@そうだ選挙にいこう:2010/10/26(火) 21:09:21
=IF(MOD(ROW(),2),INT(ROW()/2),"")
こういうのを入れておけば行挿入に伴って1行おきに+1ずつ増える数ができます。
行挿入したところはひとつ上のセルをドラッグコピーしたらいいと思う。
250名無しさん@そうだ選挙にいこう:2010/10/26(火) 21:13:48
コピーしたセルの挿入
251名無しさん@そうだ選挙にいこう:2010/10/26(火) 21:26:44
>>249
ありがとうございます

>>248
アホやなぁwちょっとは考えんとwwじゃね♪
252名無しさん@そうだ選挙にいこう:2010/10/26(火) 21:39:32
>>251
日本語勉強しろ
253名無しさん@そうだ選挙にいこう:2010/10/27(水) 04:43:02
>>251
変換とは言わないだろ
254名無しさん@そうだ選挙にいこう:2010/10/27(水) 06:08:26
しかしきちんと回答できてる人もいるわけで
シロウト相手にサポートしてると日本語がおかしいなんて日常茶飯事だわ
エスパー能力もスキルのうち
255名無しさん@そうだ選挙にいこう:2010/10/28(木) 02:31:15
ちょっと質問なんですが、EXCEL2003を使用していて作った表が印刷出来ません。
プリンタが印刷を開始しても白紙のまま出てきます。

OSはWINDOWS XPでプリンタはCanon ip4600を使っています。

至急解決策が欲しいのでよろしくお願いします。
256名無しさん@そうだ選挙にいこう:2010/10/28(木) 02:32:29
すいませんsage忘れました。
257名無しさん@そうだ選挙にいこう:2010/10/28(木) 03:04:05
>>255
プリンタのプロパティでテストページは正常に印刷できる?
258名無しさん@そうだ選挙にいこう:2010/10/28(木) 03:12:14
>>257

テストページは正しく印刷出来ます。
デジカメの写真やネットから拾った画像なども大丈夫なのですが、
Excel2003からの印刷のみ白紙で紙が出てきてしまいます。

Words2003でも試したところ同様に白い紙しか出てきませんでした。
259名無しさん@そうだ選挙にいこう:2010/10/28(木) 05:28:10
Excelでの”印刷範囲の設定”ができていないのでしょう。
260名無しさん@そうだ選挙にいこう:2010/10/28(木) 08:35:16
>255
印刷プレビューでは正常に表示できてますか?
261194:2010/10/28(木) 11:13:32
>201
そうですか。わかりました。
ありがとうございます。
262名無しさん@そうだ選挙にいこう:2010/10/28(木) 21:58:08
オートフィルタによって一部抽出したリストで、
表示されている部分だけ1枚に印刷するにはどうすればよろしいか?

元のリストが長いと、抽出分が10行くらいなのに
印刷すると何ページにもなってしまいます。
263複乳:2010/10/28(木) 22:04:30
ハードコピーを取って、それをWordに貼り付けて印刷すれば無事1ページにおさまるさ。
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
264名無しさん@そうだ選挙にいこう:2010/10/28(木) 22:17:18
>>262
へ〜、そんなふうになるっけ?
覚えがないけど・・・

とりあえず、表示されている部分を選択して、「選択した部分を印刷」にすれば?

余談だけど、2010ってALT+Nで「選択した部分を印刷」って出来ないのね(´・ω・`)
マウス使わなきゃだめなのか・・・あぅあぅ・・・よく使う機能だったのに・・・あぅ
265複乳:2010/10/28(木) 23:54:11
>>262
改ページがそのままなんじゃないの
表示の改ページプレビューで直せばいいと思う
266名無しさん@そうだ選挙にいこう:2010/10/29(金) 00:36:25
>>258
Office共通の印刷エンジンが壊れたのかな
もう一度同じ質問するけど、印刷プレビューはどうなってる?
修復インストールは試した?
267名無しさん@そうだ選挙にいこう:2010/10/31(日) 02:52:16
エクセルで水光熱費などを毎月付けており
毎月、前月分をコピペした後
金額と、H22年○月分の○部分を変更記入しているのですが

金額はともかく
年月の部分はコピペするたびに加算?されていくことは出来ないですかね?

例えば
H22年11月分の1行をコピペして貼り付けると
H22年12月分へと自動変換してくれて
H22年12月分を貼り付けると、H23年1月分に自動変換してくれるみたいな。
268名無しさん@そうだ選挙にいこう:2010/10/31(日) 05:55:01
2010の場合、
=EDATE(A1,1)
269複乳:2010/10/31(日) 06:09:26
>>267
普通にオートフィルでOK。
セルの右下をドラッグする。
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
270268:2010/10/31(日) 06:17:45
でもこれダメだ取り消し。
271名無しさん@そうだ選挙にいこう:2010/10/31(日) 06:47:07
>>267
こういう一覧表を作りたいとする
ttp://ourfilehost.net/up/file1/img/up2106.png

(1) ツール-アドインから分析ツールをインストール
(2) セルA2に「2010/8」と入れる
(3) セルA3に「=EDATE(A2,1)」と入れる
(4) A3をコピー、A4以下に貼り付け
(5) A列全体の書式をユーザー定義にして「[$-411]ge"年"mm"月分"」とする
272名無しさん@そうだ選挙にいこう:2010/10/31(日) 09:26:52
そんなだったらオートフィルで十分だな。
273名無しさん@そうだ選挙にいこう :2010/10/31(日) 09:51:12
質問お願いいたします。

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 簡単なものならなんとか
【4 VBAでの回答の可否】 できればやめていただきたいです


インターネット等の文字列をコピー(Ctrl+C)し、エクセルへ貼り付け(Ctrl+V)た際、
『貼り付け元の書式』にて貼り付けをされます。
これを※自動※で『貼り付け先』の書式に合わせて貼り付ける方法(設定等)はないものでしょうか。


補足:「貼り付けのオプション」→「貼り付け先の書式に合わせる」ではなく。自動(一度で)できる方法をお教えください。


ご回答よろしくお願いいたします。
274名無しさん@そうだ選挙にいこう:2010/10/31(日) 10:02:15
できない
275名無しさん@そうだ選挙にいこう:2010/10/31(日) 10:06:35
>>273
キーボードショートカットに値で貼付けを指定。
ttp://arrow3.way-nifty.com/shige/2005/07/__c211.html
後は1クッション置く方法なら色々ある。>>235の回答通り
ありがとうございました

http://www.yoshibaworks.com/ayacy/inasoft/icountt.html

これDLしました
かなり助かります
277名無しさん@そうだ選挙にいこう:2010/10/31(日) 12:51:43
そういう手もあったか。気付かなかった
278名無しさん@そうだ選挙にいこう:2010/10/31(日) 18:37:54
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel、vba、bitblt、api

VBAでBitbltを使うには、どう書けばいいのでしょうか?
VBやCのサンプルはいくらでも見つかるのですが、
VBAは見つかりません。
279名無しさん@そうだ選挙にいこう:2010/10/31(日) 20:00:14
280名無しさん@そうだ選挙にいこう:2010/10/31(日) 21:13:01
>>279
ありがとうございました。
フォームに直描きしようとしていたのが間違いだったようです。
281名無しさん@そうだ選挙にいこう:2010/11/02(火) 09:26:26
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 少しだけ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】文字を○印で囲む

ダブルクリックでセル内の文字を○印で囲み
再度ダブルクリックで○印を消すには?

太さは0.75、色は黒指定です。

よろしくお願いします
282名無しさん@そうだ選挙にいこう:2010/11/02(火) 10:03:46
>>281
マルチポストは関心しませんな
VBAスレにも書いたけど、基本的には無理
283名無しさん@そうだ選挙にいこう:2010/11/02(火) 10:25:43
>>281
となりにボタンつけるのは?
284名無しさん@そうだ選挙にいこう:2010/11/02(火) 11:01:44
エクセルのユーザ設定で
通常の場合:黒 0の場合無表記 マイナスの場合赤としたいのですが
どうしたらいいですか?
285名無しさん@そうだ選挙にいこう:2010/11/02(火) 11:07:44
>>282
ワードの○囲い文字作成を流用してvbaで作成出来るんじゃね?

>>284
書式設定を数値でマイナスの場合赤文字にして、条件書式設定で 0="" でいいんじゃね?
286名無しさん@そうだ選挙にいこう:2010/11/02(火) 11:11:27
>条件書式設定で 0=""
ダメでした
詳しくお願いします。
287名無しさん@そうだ選挙にいこう:2010/11/02(火) 11:22:21
>>286
0は背景と同じ色が簡単
288名無しさん@そうだ選挙にいこう:2010/11/02(火) 11:32:23
thx
できました。
289名無しさん@そうだ選挙にいこう:2010/11/02(火) 11:49:46
>284
ユーザー設定なら
書式設定のユーザー定義で
#;[赤]-#と入力しても行けますよね?
290名無しさん@そうだ選挙にいこう:2010/11/02(火) 12:33:11
SUMIF関数で
表の項目名と
条件を入力する箇所の項目名が
違っていても対応できる方法はありませんか?

あるいは実際には、同じなのに
見た目の表記を変えることはできませんか?
291名無しさん@そうだ選挙にいこう:2010/11/02(火) 12:46:37
ピボットテーブルで
292名無しさん@そうだ選挙にいこう:2010/11/02(火) 17:22:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel 他シート 変数

特定セルに含まれている文字と、同じ名前のシートの行数を取得
ということをしたいのですがうまくいきません

MsgBox Worksheets(Cells(3, 9)).Cells(Rows.Count, "C").End(xlUp).Row

cells(3,9)には 22_11M という文字が入っています

MsgBox Worksheets("22_11M").Cells(Rows.Count, "C").End(xlUp).Row

だとうまくいきます
改善点を教えてくださいませ
293292:2010/11/02(火) 17:27:10
CStrで文字列にしたところうまく・・・
失礼しました
294名無しさん@そうだ選挙にいこう:2010/11/02(火) 22:42:17
EXCEL Viewerの2007対応版で
セルの書式設定で元号表示をユーザ定義で ge.mm.dd として平成22年11月01日にしてあると
元号部分が旨く表示できず 10.11.1と西暦になってしまうバグって何かのテクで対応可能ですか??

因みにユーザ定義しないで通常の元号表示で平成22年11月1日ならば問題ないんですが・・・・(^^;

2003まで対応版Viewerはコンナこと無いんですが、2007のみインストしてあると古いのが入れられないんで(T_T)
295名無しさん@そうだ選挙にいこう:2010/11/02(火) 23:53:30
日付から選んだものには「[$-411]」とかのローケル(?)情報付くので入れてみては?
296名無しさん@そうだ選挙にいこう:2010/11/03(水) 18:29:22
Excel2003なのですが
VBAを使用しないで
for next のような処理は可能ですか
297複乳:2010/11/03(水) 19:03:39
>>296
幅が広すぎて何とも言えない。
a = 0
for i = 1 to 5
a = a + 1
next
程度ならセルでなんとかできるけど、セルの削除などは出来ない
あとはマクロ4.0を使うという手もあるが、きっとお望みの回答ではないでしょう
298名無しさん@そうだ選挙にいこう:2010/11/03(水) 20:13:28
>>296
何を言いたいのか分からないけれど、
REPT関数とかしかないし、基本無理じゃないかな
299名無しさん@そうだ選挙にいこう:2010/11/03(水) 20:42:17
>>296
その質問じゃ何を欲してるのかわからん
わかるように説明できないなら、せめて詳しい具体例を挙げろ
300名無しさん@そうだ選挙にいこう:2010/11/04(木) 00:22:16
質問です

A1
B1
A2
B2
A3
B3

こんな感じで3000行くらいあるんですが、これを

B1
A1
B2
A2
B3
A3

それぞれA列とB列を入れ替えたいんですが?


301複乳:2010/11/04(木) 00:45:41
>>300
B1=INDIRECT("r"&IF((MOD(ROW(),2)=1),ROW()+1,ROW()-1)&"c1",0)
下にオートフィル
コピーして同じ場所に値で貼り付け
302名無しさん@そうだ選挙にいこう:2010/11/04(木) 01:16:55
>>300
For r = 1 To 3000 Step 2
  w = Cells(r, 1)
  Cells(r, 1) = Cells(r, 2)
  Cells(r, 2) = w
Next
303名無しさん@そうだ選挙にいこう:2010/11/04(木) 02:37:33
C列に数式で適当な数値いれて並び替えればいいじゃんw
この程度のこと
304名無しさん@そうだ選挙にいこう:2010/11/04(木) 03:57:55
おまえら難しく考えすぎ

>>300
B1=A2
B2=A1
オートフィル
コピーして値で貼り付け
305名無しさん@そうだ選挙にいこう:2010/11/04(木) 08:34:12
俺は質問の意味が分らん
B1
A1
としてオートフィルってことか?

それとも
'=B1
'=A1
としてオートフィルからデータ、区切り位置、完了?
306名無しさん@そうだ選挙にいこう:2010/11/04(木) 11:10:05
>>303
307名無しさん@そうだ選挙にいこう:2010/11/04(木) 11:26:44
>>300
???B列カットしてA列選択してペースト
これではいかんの?
308名無しさん@そうだ選挙にいこう:2010/11/04(木) 11:40:53
>>300のA1とかB1とかはセル内のデータの例でセル位置ではないんだと思う
309名無しさん@そうだ選挙にいこう:2010/11/04(木) 12:06:41
簡単そうで難しいな(`・ω・´)
310名無しさん@そうだ選挙にいこう:2010/11/04(木) 12:18:39
エスパー合戦でつか?
311名無しさん@そうだ選挙にいこう:2010/11/04(木) 13:19:28
【1 OSの種類         .】vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード    『方程式 excel 』

excelで

A-46x=B(C-22x)の

xの解をだしたのですがどのようにしたらよいですか?
A,B,C,Dの数値は変わります

基本的な算数もできないので
A-46x=BC-22xB
22xB-46x=BC-Aでとまっております^_^;
よろしくおねがいします
312294:2010/11/04(木) 13:31:22
>>295
その情報を入れたら解決しました。

ありがとうございました(_ _)
313311:2010/11/04(木) 13:46:50
>>311
すいません自己解決しました
算数ができなかったようでした
314名無しさん@そうだ選挙にいこう:2010/11/04(木) 14:46:42
質問があります。
シート1に、A列に10個のデータがあり、B列にも10個のデータがあります。

シート2にA列の1行目と5行目のデータをA1、B1にリンク貼り付けをしました。
シート3に先ほどのシート2をリンク貼り付けするとA1、B1にA列の1行目と5行目のデータ
の結果が出来ました。しかし、シート3ではシート1のB列のA列の1行目と5行目のデータ
を貼りたいとおもうのですが、効率のよい方法はありますか?

実際には多数のデータがあり、1つ1つAをBに書き換えるのが面倒で困っています。
315名無しさん@そうだ選挙にいこう:2010/11/04(木) 15:06:42
>314
検索/置き換えで A を B に全て置き換えじゃダメなの?
316名無しさん@そうだ選挙にいこう:2010/11/04(木) 15:25:36
ありがとうございます。無事に出来ました。

AをBに変える際、検索/置き換えを行うとすべてがBに変わるのですが、変えるAも指定できますか?
変えるセルには実際にはいくつかAが入っています。
317名無しさん@そうだ選挙にいこう:2010/11/04(木) 15:49:37
【1 OSの種類         .】 WindowsXP Pro
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル ""+""

=IF(A1="","",処理1)+IF(A1="","",処理2)
で、A1=""のとき、つまり
=""+""
となるときエラーがでます

A1=""のとき、そのセルは""にしたいのですが、
どのように回避すればよろしいでしょうか?
318名無しさん@そうだ選挙にいこう:2010/11/04(木) 15:51:44
>>316
リンク貼り付けなら絶対参照になってると思うんで「$A」を「$B」とかにすればいいんでは
319名無しさん@そうだ選挙にいこう:2010/11/04(木) 15:59:55
>>317
=IF(A1="","",処理1+処理2)じゃだめなの?
320複乳:2010/11/04(木) 17:28:24
>>317
=sum(IF(A1="","",処理1),IF(A1="","",処理2))
sumだと文字列を無視して計算してくれる
321名無しさん@そうだ選挙にいこう:2010/11/04(木) 20:42:20
質問です。
コピペで形式を選んで貼り付けってありますけど
僕はほとんど値のみしかコピペしません。
毎回値を選んでってやらないでそのままコピペ一回で出来るものでしょうか?
322名無しさん@そうだ選挙にいこう:2010/11/04(木) 23:14:24
超弩級初心者ですがよろしくお願いいたします

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

下記のような自動処理をしたいのですが良い方法はありますか?

   A  B  C
─┼─┼─┼─
1.│aa│bb│cc  ←この各ABC3つのフィールドにそれぞれ入っている文字aa、bb、ccを
〜〜〜〜〜〜〜〜  Aの一つのフィールドの自動処理でaabbccと移動したいのですが、どうやりますか?

↑以下縦方向に無数に続きます。    なにとぞよろしくお願いいたします。
323名無しさん@そうだ選挙にいこう:2010/11/04(木) 23:16:14
>>322
>Aの一つのフィールドの自動処理でaabbccと移動したい

フィールドではなくセルと言うのでしたね。

ようするに三つのセルのデータを、一つのセルにまとめたい、ということなのです。
324複乳:2010/11/04(木) 23:38:16
>>321
エクセル ショートカット 値で貼付け 辺りでぐぐれ
>>323
D1=a1&b1&c1
cankatanateみたいな名前の関数でも可能。CONCATENATEだった
325323:2010/11/04(木) 23:44:44
>>324
こんな夜更けにありがとうございます!
やってみます
326名無しさん@そうだ選挙にいこう:2010/11/05(金) 01:13:02
【1 OSの種類         .】 Windows7 HP 32bit
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】   否
【5 検索キーワード     】 エクセルグラフアクティブ化

 エクセルのグラフをクリックしてもアクティブにならなく
 なってしまいました。但し、右クリックではアクティブに
 なります。
  同じシートの中の幾つかのグラフの中で、一つだけ上記の
 様な状態になってしまいました。
  お願い致します。
 

327名無しさん@そうだ選挙にいこう:2010/11/05(金) 02:45:21
右クリックでアクティブになるんなら右クリックすればいいんじゃ・・・?

何をお願いしますなのかわかんね
またエスパーか
うぜえな
328名無しさん@そうだ選挙にいこう:2010/11/05(金) 05:06:36
尖閣動画流出キター

※動画
YouTube - 本当の尖閣 海上保安庁1
http://www.youtube.com/watch?v=JXkawnuyTn8
YouTube - 尖閣の真実 海上保安庁2
http://www.youtube.com/watch?v=bY0tgl6YLGI
YouTube - 尖閣侵略の真実 海上保安庁3
http://www.youtube.com/watch?v=3eJsXP4HLVs
YouTube - 本当の尖閣 海上保安庁4
http://www.youtube.com/watch?v=gOUvdNjs_Cg
※2分11秒すぎで、中国漁船が接触してくる様子が確認できます。
http://www.youtube.com/watch?v=gOUvdNjs_Cg#t=2m11s
YouTube - 日本の尖閣 海上保安庁5
http://www.youtube.com/watch?v=q3JYT0G94-E
※1分10秒すぎの箇所でも中国漁船が巡視船「みずき」に接触するシーンを確認できます。
http://www.youtube.com/watch?v=q3JYT0G94-E#t=1m10s
YouTube - どうなる尖閣 海上保安庁6
http://www.youtube.com/watch?v=A7h0S1nk9Hk
329名無しさん@そうだ選挙にいこう:2010/11/05(金) 10:31:13
>>326
オブジェクトの選択と表示で、図形か何かが重なってないか調べる
330名無しさん@そうだ選挙にいこう:2010/11/05(金) 16:45:40
【 Excelのバージョン 】 Excel 2010

実値が入力されているセルと数式が入力させているセルが混合している列があるとして、
数式のセルだけフォントの色を変えるにはどうすれば良いのでしょうか?
331複乳:2010/11/05(金) 16:48:55
>>330
VBAを使って一文字目が"+"か"="を判定してフォントの色を変える
332名無しさん@そうだ選挙にいこう:2010/11/05(金) 17:28:52
>>330
条件付き書式
333名無しさん@そうだ選挙にいこう:2010/11/05(金) 20:49:37
ctrl+cでコピーして違うシートでctrl+vだと形式を選ばないといけません。
値だけ貼り付けしたいのですがユーザ設定で出来ますでしょうか?
ちなみに2007を使っています。
334複乳:2010/11/05(金) 21:04:03
>>333
値で貼付け ショートカットでぐぐれといいたいが昨日ぐらいにそんな質問があったと思う
335名無しさん@そうだ選挙にいこう:2010/11/05(金) 21:54:56
質問です。

     質問A 質問B 質問C
山田   2 ・・・・・ 1・・・・・ 4
木村   3・・・・・ 4 ・・・・・・7
吉野・・・・ 5・・・・・ 3 ・・・・・ 2

例えば質問が3つあって答えが7種類あるとします。
2-1-4とかどの組み合わせが一番多いかってのをやりたいのですが
どのようにすればいいでしょうか?
オートフィルだと手間がかかるのでどうすればと。
アンケートに答えている人は例で3人挙げましたが30人ぐらいいます。
336名無しさん@そうだ選挙にいこう:2010/11/05(金) 22:22:57
>>335
回答を文字列として連結してからピボットテーブル
てゆーか 30人くらいなら手でやれよ
337名無しさん@そうだ選挙にいこう:2010/11/05(金) 22:32:17
30人程度で選択肢7つx3組の組み合わせ順位なんて
多いも少ないもないだろ、何を出したいのか知らんが優位解は得られん
つーか統計を勉強し直せよ
338名無しさん@そうだ選挙にいこう:2010/11/05(金) 22:41:03
有意解、だろ?
339名無しさん@そうだ選挙にいこう:2010/11/05(金) 23:33:07
いや意図的に「優位差を持つ解」を字短した
つか内容の本筋は伝わるだろ…
質問主のささやかな反撃なのか?
340名無しさん@そうだ選挙にいこう:2010/11/06(土) 00:17:03
>>335
っせえ
黙ってろ
341名無しさん@そうだ選挙にいこう:2010/11/06(土) 00:56:47
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 OR関数、引数、多過ぎる

突然失礼します。IF関数およびOR関数に関して質問させてください。

Iという文字列がどのグループに属しているのかを表す式を作ろうとしています。
グループはABCの3つ、それぞれのグループには20個程度の文字列が入っています。

この場合、式を
=IF(OR(I=α1,I=α2,・・・),A,IF(OR(I=β1,I=β2,・・・),B,IF(OR(I=γ1,I=γ2,・・・),C,)))
としているのですが、各OR関数における論理式を20回書くのではなく、もっと簡単に表示したいと考えています。
しかし、OR(I=α1:α20)のような書き方にしても当然成立するわけもなく、悩んでいます。

このような場合にどう修正すれば良いのか教えていただけないでしょうか?

ちなみに、α1〜α20、β1〜β20といった文字列は各グループ毎に同行内も隣接するよう配置しております。

宜しくお願いいたします。
長々と申し訳ありません。

342名無しさん@そうだ選挙にいこう:2010/11/06(土) 01:15:26
>>341
α等が表になってるなら
=IF(ISNA(MATCH(x,α1:α20,0)),IF・・・,A)
とか
343名無しさん@そうだ選挙にいこう:2010/11/06(土) 01:39:15
>>342
ありがとうございます。
ISNAやMATCHを調べていて時間がかかってしまいました。

上記のように書いてみたのですが、多過ぎる引数が入力されていますとなってしまいました。
こうなると分けて書いたりするしかないんでしょうか?

現在書き込んでいる式も載せておきます。

=IF(ISNA(MATCH(B27,$G$19:$AF$19)),IF(ISNA(MATCH(B27,$G$20:$V$20)),IF(ISNA(MATCH(B27,$G$21:$S$21),"分類に含まれず",$F$21),$F$20),$F$19)
344名無しさん@そうだ選挙にいこう:2010/11/06(土) 02:20:13
>>343
閉じカッコが一つ足りてない
〜IF(ISNA(MATCH(B27,$G$21:$S$21)),"分類〜
                        ↑
                      ここ
345名無しさん@そうだ選挙にいこう:2010/11/06(土) 02:53:31
>>343
ありがとうございます。
初歩的なミスで申し訳ないです。

()部分を修正した上記の式の後に、全match関数内部に照合の種類を記入したところ、希望の結果が得られました。
アドバイスしていただいた方々、本当にありがとうございました。
346複乳:2010/11/06(土) 03:05:20
>>335
E列に作業列を発生させるとして
E1=B1&C1&D1
F1=COUNTIF(E:E,E1)
でG列にLANK関数とか。

アンケートならアンケートサイトがあるから(↓は一例。ぐぐればいっぱいあるとおもう)それ利用したほうがいいかもねぇ
ttp://enq-maker.com/
>>337
30人程度と言っているが多くなるかも知れないし、統計の現れやすい質問かも知れない。
例文だけで無下に否定するのはよろしくないかと
347複乳:2010/11/06(土) 03:08:10
しかし2chって相手を否定するの好きだけど、なにかあるの
348名無しさん@そうだ選挙にいこう:2010/11/06(土) 08:00:52
何もないよ
だからだよ
349複乳:2010/11/06(土) 12:21:45
あ、なるほど。ありがとうございました。
350346:2010/11/06(土) 20:27:18
>>346ありがとうございます。
確かに例で30人投げただけで多いと80人ぐらいになるので助かりました。
351名無しさん@そうだ選挙にいこう:2010/11/06(土) 21:39:43
LANK関数ってなにを返すんだ
352名無しさん@そうだ選挙にいこう:2010/11/06(土) 22:08:09
lank 【形容詞】 1 やせた; ひょろ長い. 2 〈頭髪が〉(縮れていないで) 長く柔らかい.
353名無しさん@そうだ選挙にいこう:2010/11/06(土) 23:37:36
>>351
Rank関数ならようするに「ランキング順位を示す数値」を返す。
ヘルプ見た? 載ってるサンプル動かしてもわかんないのか?
例えば1,5,2,80,0のセルがあるとき、5って値は大きい順で(あるいは小さい順で)何番目かを返す。
この場合答えは2(あるいは3)という数値を返す。
普通この関数を使う時は第1引数も第2引数もセル参照を使うと思うけどな。

LANK関数は…なんだろうな、一番長い文字列でも返すのかな?w
354複乳:2010/11/07(日) 00:12:29
>>351
ごめんなさい。英語苦手なんです。実はしょっちゅうNAME?ってエクセルさんに言われる
355名無しさん@そうだ選挙にいこう:2010/11/07(日) 02:16:50
でもLARGE関数みたいなのもあるよね
356名無しさん@そうだ選挙にいこう:2010/11/07(日) 09:24:06
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
2つシートがあり、データ用と出力用という名前にしています。
VBAでデータ用から位置を読み込み、出力用にテキストボックスを作りたいのですが、
OvalクラスのHorizontalAlignmentプロパティを設定できません。とエラーが出ます。
Selectせずにテキストボックスを扱うにはどうしたらいいでしょうか?

Worksheets("データ用").Shapes.AddTextbox(msoTextOrientationHorizontal, 左端, 上端, _
52, 20).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
.Orientation = xlHorizontal
.AutoSize = False
.AddIndent = False
End With
Selection.Characters.Text = "aaaaaa"
With Selection.Characters(Start:=1, Length:=6).Font
.Name = "MS Pゴシック"
.FontStyle = "標準"
.Size = 9
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
357名無しさん@そうだ選挙にいこう:2010/11/07(日) 11:27:50
>>356
そのままコピペしたら、
.AutoSize = False
のところでエラーが出たからコメントアウトしたら動いたよ
そもそも、Ovalクラス使ってないじゃん
関係ない部分のソース貼ってない?
358複乳:2010/11/07(日) 12:46:09
>>356
addした時にnameを取得しておき、textframeやCharactersというプロパティから.HorizontalAlignmentを扱う
プロパティ一覧はF2のオブジェクトブラウザで探せる。俺も今知った。
あとOrientationとAddIndentをコメントアウトしてるのはエラーが出るため。理由は知らん

っていうかー素直にselectしたほうが早いと思うんだよねー
別シートのオブジェクトでselectできないときは、先にsheetをselectしておくよできるよ

Sub a()
b = Worksheets(2).Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 50, _
52, 20).Name

With Worksheets(2).Shapes(b).TextFrame
.Characters.Text = "ccbbbbaaa"
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
'.Orientation = xlHorizontal
.AutoSize = False
'.AddIndent = False
End With

With Worksheets(2).Shapes(b).TextFrame.Characters.Font
.Name = "MS Pゴシック"
.FontStyle = "標準"
.Size = 12
End With
End Sub
359356:2010/11/07(日) 21:39:06
うまく動きました。
先にsheetをselectするって方法が有るなんて思いつきませんでした。
アドバイス有難うございました。
360名無しさん@そうだ選挙にいこう:2010/11/07(日) 22:13:01
selectなしでもできんがな

Sub test()
 With Sheets(2).Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 50, 52, 20)
  With .TextFrame
   .Characters.Text = "ccbbbbaaa"
   .HorizontalAlignment = xlCenter
   .VerticalAlignment = xlCenter
   .ReadingOrder = xlContext
   '.Orientation = xlHorizontal
   .AutoSize = False
   '.AddIndent = False
   With .Characters.Font
    .Name = "MS Pゴシック"
    .FontStyle = "標準"
    .Size = 12
    End With
  End With
 End With
End Sub
361複乳:2010/11/08(月) 01:01:00
ああそうか、そうすれば良かったんだ
362名無しさん@そうだ選挙にいこう:2010/11/08(月) 20:27:30
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可 
【5 検索キーワード     】 検索キーワードをどうしたらよいか…

条件付きで数字(お金)の合計をしたいと考えています。
家計簿を付けていて、支出のうち 風俗代がいくらか把握したいと思っています
セルは下記のようにつくっています。

A列   B列   C列
日付  金額   風俗に行った場合 1を記入しています
…    …    1
…    …
…    …

ここでB列の一番下に 支出全合計 はSUM関数で合計しています
新たに支出合計のセルのしたに 風俗代のみ合計したいと考えています。
何かの関数の組み合わせで(VBAを使用しないで)、希望通りのことはできますか?(VBAならできると思います)
(D列を作って B列×C列にして 合計すればイイじゃんて言われそうですがかっこよくつくりたく)

どの関数を使えばできるか見当もつかないため、達人のみなさま助言をお願いします。
よろしくお願いします。
363名無しさん@そうだ選挙にいこう:2010/11/08(月) 20:37:05
図が分かりにくいので追加します
すいません



   A列   B列   C列
1  日付  金額   風俗に行った場合 1を記入しています
2  …    …    1
3  …    …    (空欄)
4  …    …    (空欄)


20 …    …
21      (合計)
22    (風俗代のみ合計)    
364名無しさん@そうだ選挙にいこう:2010/11/08(月) 20:37:14
>>362
SUMIF 関数
365名無しさん@そうだ選挙にいこう:2010/11/08(月) 20:56:16
>>364
ありがとうございます
こんな関数あったんだあああああああああああ _| ̄|○
366複乳:2010/11/08(月) 21:34:34
A列の下に出せば
=sumif(c:c,1,b:b)みたいに作れて挿入・削除の影響ウケなくて便利よ
B列だと循環してしまう
367名無しさん@そうだ選挙にいこう:2010/11/09(火) 01:38:04
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい(でも出来る限り使いたくない)
【4 VBAでの回答の可否】 可 (他に方法があればよりよいです)
【5 検索キーワード     】 検索キーワードをどうしたらよいか…

あるセルを、隣のセル値を参照して、網掛パターンを替えることは出来ませんか?
例えば、A1セルに「1」と入力したら、A2セルの文字が網掛表示されるような・・・

同じセルなら「条件付書式」で出来ることを、違うセルを参照して出来ないか、ということです。

よろしくお願いします。
368複乳:2010/11/09(火) 02:14:18
>>367
A2に設定「数式が」「=a1=1」 
369名無しさん@そうだ選挙にいこう:2010/11/09(火) 22:21:17
>>368
出来ました!ありがとうございました!!感謝です。
370名無しさん@そうだ選挙にいこう:2010/11/09(火) 23:01:25
>>367
それはちょっと分からない方が不思議だろw
371名無しさん@そうだ選挙にいこう:2010/11/10(水) 18:02:57
2010ですが、横軸の第二軸を設定する方法ってないですか?
372371:2010/11/10(水) 18:18:14
自己解決しました。
2本目のグラフを第2軸に設定すると、リボンの グラフツール→レイアウト→軸 に第2縦軸と第2横軸が現れるんですね。
グラフの右クリックからの書式設定ばかり見ていたので見落としていました。
ただグラフが1本しかない場合は第2軸がそもそも設定できないので、同じグラフを追加して
線やマークをオフにしたりして非表示にする、などの手間が必要ですね。
373名無しさん@そうだ選挙にいこう:2010/11/10(水) 22:50:25
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

エクセル書類を作成するのですが、「必ずマクロ機能を有効にすること」という
注意書きがあります。
「マクロ機能を有効にする」にはどういう手順を踏めばよいのでしょうか。
ご教示をお願いいたします
374名無しさん@そうだ選挙にいこう:2010/11/10(水) 23:15:46
>>373
その書類はあらかじめ先方から渡された書類?
375名無しさん@そうだ選挙にいこう:2010/11/11(木) 00:37:14
1 xp sp3
2 2003
3 いいえ
4 否
5 エクセル パスワード 再入力 開き直し

パスワードが設定されたエクセルファイルを開く時に
パスワード入力に失敗すると、再度ファイルをダブルクリックして開き直さないといけないのが、非常に面倒です

ショートカットキーなどを利用して
パス失敗からパス再入力までの間にあるファイルオープン手順を簡略化できないてでしょうか

よろしくお願いします
376名無しさん@そうだ選挙にいこう:2010/11/11(木) 05:09:27
パスワード間違えなけりゃ済むこと
それともなにか悪さでも?
377名無しさん@そうだ選挙にいこう:2010/11/11(木) 08:13:53
>>373
あらゆる場面でマクロを無効にしなければよい。
378名無しさん@そうだ選挙にいこう:2010/11/11(木) 10:52:25
>>375
無理
ゆっくり間違えないように入れれば結果的に時間の節約になる
379名無しさん@そうだ選挙にいこう:2010/11/11(木) 10:56:16
>>373
ブックを開く時に「マクロを有効にしますか」って聞かれるから「有効にする」を選択しろって意味?
「信頼できる場所」に作業フォルダを登録しておけばいちいち聞いてこなくなるよ
セキュリティレベルを落とすのはおすすめできない

そういう意味じゃないのかな?
380名無しさん@そうだ選挙にいこう:2010/11/11(木) 12:10:03
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 少しだけ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Webクエリ 2010 すべて更新

Excel 2007で、Webクエリを利用して、「すべて更新」により、
50個ぐらいの株価データをまとめて入手していました。
先日Excel 2010にしましたが、その後、「すべて更新」を使用すると、

http://www.*****を開くことができません
インターネット サイトには接続できましたが、データを取得できません。

http://www.*****を開くことができません
このインターネット サイトへの接続に割り当てられた時間を超過しました。

と表示され、更新が出来ません。
個々のクエリで更新を行うと、更新が無事に行われます。

Excel 2010で処理の仕方が変わって、同時接続数に上限ができたり、
メモリが不足するようになってしまったのでしょうか?
(ブック自体は非常に重たいものです。)
381名無しさん@そうだ選挙にいこう:2010/11/11(木) 18:23:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ 実行時 再計算 無効

下記のようにマクロ実行時にシート(ブック)内の関数の自動計算を無効・停止にするにはどうしたらよいでしょうか?

マクロ開始→再計算停止→マクロ→再計算開始→マクロ終了
382名無しさん@そうだ選挙にいこう:2010/11/11(木) 18:42:17
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】限りなく初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 VBA オートフィルタ 動的配列 変数 Function プロシージャ 戻り値 などなど。。。

毎月 数が増減する3つのコード
@事務署コード
Aチームコード
B個人コード
この3つのコード毎に月の成績を集計して
名前・成績・事務署名・人数を別シートに出力したいのですが
どのような順序で作ればいいのでしょうか?

また、できるならば3つのコードをFunction内の動的配列などに格納して
別のプロシージャでも使用できるようにしたいです
よろしくお願いします。
383名無しさん@そうだ選挙にいこう:2010/11/11(木) 19:34:55
>382
元データがどんなものなのか、わからないとアドバイスのやりようもないと思う。
ブックそのものは情報流出で危険なので、架空のデータを表示して画面ハードコピーしたものを
画像のアプロダにupしてくれませんか? 入力情報のイメージと出力イメージみたいなの。
例 http://www1.axfc.net/uploader/Img/
例 http://iup.2ch-library.com/
例 http://ourfilehost.net/up/file1/upload.php

それが無理なら、>362-363みたいな感じで示してくれませんか。
384名無しさん@そうだ選挙にいこう:2010/11/11(木) 19:51:35
>>381

自動再計算の停止
Application.Calculation = xlManual

処理

自動再計算の再開
Application.Calculation = xlAutomatic

こんなんでいいかな?
385382:2010/11/11(木) 21:12:47
>>383

遅くなってすいません。
MSOfficeが入ってなかったので
OpenOffice入れるところからやってました。

わかり難い場合はすぐに言って頂けると助かります。
http://ourfilehost.net/up/file1/upload.php?id=2161

よろしくお願いします。
386383:2010/11/11(木) 23:19:09
>382,385
Calcのファイル、ダウンロードしました。(シートは3枚ですね)
列位置がこのままであれば、直接VBAマクロを提示できると思いますが、いくつか質問を。
Q1 社員名簿テーブルのJ列以降の数値は「成績」ですね?
Q2 横方向はどんどん伸びていくのですか?
Q3 事務所成績、チーム成績のシートの「目標」の数値は社員名簿テーブルにはないから、処理対象外とみなしていいですね?
Q4 事務所とチームには包含関係がありますか?(ひとつのチームコードが複数の事務所に存在することはないか?ということです)
Q5 Q4に関して包含関係がある(ひとつのチームコードが複数の事務所に存在することはない)という前提で、マクロの実行時に
    社員名簿テーブルを KEY1:事務所コード、KEY2:チームコードでソートしますが、もともとのデータの並びを復元する
    必要がありますか?
Q6 退社日の欄がある、ということは、事務所やチーム毎の人数の集計から引くんですか?

とりあえず、今日はこれだけおたずねします。
387名無しさん@そうだ選挙にいこう:2010/11/12(金) 00:00:08
>>384
ありがとうございます
明日試してみますね
388382:2010/11/12(金) 07:27:39
>>386

A1 J列は成績です。
A2 即答できなくて申し訳ありません。後で確認いたします。
A3 別ブックから引用となるのですが、シートコピーで同じブックに追加しています。いまさらですが追加してもよろしいでしょうか?
A4 別の事務所に同じチームコードは存在しません、包含関係があります。
A5 社員名簿テーブル自体がほぼ使い捨てのような感じなので、復元する必要はありません。
A6 すいません。出力シートに書き忘れがありました。月合計を人数で割り、一人当たりの生産量を計算するのに使います。

出来るだけ。本物に近いものを本日用意させていただきますのでご了承ください。
ありがとうございます。
また、改めてよろしくお願いします。
389名無しさん@そうだ選挙にいこう:2010/11/12(金) 07:57:41
A2セルの内容をB1セルに表示させるというのを下方向へ
ずっとやりたいのですができますか?

ずっと表示というのはセルに書き込んだらA2以下下方向に
その内容が表示されるということです。
390名無しさん@そうだ選挙にいこう:2010/11/12(金) 08:15:31
>>389
B1 =A2
その後B1セル角の黒十字を下へクリックしながら引っ張るとたとえば、B2→=A3,
B3→=A4と式が入ります。
391名無しさん@そうだ選挙にいこう:2010/11/12(金) 08:53:11
>>390
B1=A2で値は入りましたがそれ以後の動作で同じ数値がはいってしまします。
392383,386:2010/11/12(金) 08:55:08
>382,388
>本物に近いものを本日用意
アプロダにupするときは、組織や個人情報が含まれてないか、くれぐれも注意してください。
シートなど 直接目に見えるもの だけが情報ではありません。メニューのファイル−プロパティで
作成者の情報(個人名やID)などがわかります。くれぐれも仕事で使っているブックそのものを
upすることはやめてください。
できれば>385のように組織とは全く関係ないCalcの方に架空のデータで作るのが安全です。
私が最初に画面ハードコピーで、と伝えたのはそういう理由からです。
393名無しさん@そうだ選挙にいこう:2010/11/12(金) 09:07:46
>>391
ごめん説明足らなかった。
引っ張った後、右下のちっちゃい四角いのをクリックしてオプションを開いて
連続〜というのをクリックすれば出来ます。
394名無しさん@そうだ選挙にいこう:2010/11/12(金) 10:26:09
>>389
もしかしてA2の内容をB1以降にも入れたいのか?
だとすれば
B1に =A$2
と入れて>>390の作業をすればoK。
395名無しさん@そうだ選挙にいこう:2010/11/12(金) 10:46:30
ちょっと説明がわるかったです。

A2に1という数字を入れたらB1に1という数字が表示される。
A3に2という数字を入れたらB2に2という数字が表示されると
いうことができたらと思ってます。


396名無しさん@そうだ選挙にいこう:2010/11/12(金) 10:57:42
>>395
まずB1に「=A2」と入れてEnterを押す
もういちどB1をクリックする
B1セルが黒い太枠で囲まれた状態になるけど、その枠の右下の角に黒い小さな四角がある
その小さい四角にマウスを合わせると細い十字に変わる
変わった状態で左ボタンを押す
押したままマウスを下に動かす
てきとうなところでボタンから指を放す
これで完成

右下の黒い小さな四角の名前は「フィルハンドル」
これを使って内容をコピーする動作を「オートフィル」と言う
ボタンを押したままマウスを動かすことを「ドラッグ」と言う
397名無しさん@そうだ選挙にいこう:2010/11/12(金) 10:59:03
あ、バージョンによっては初期状態でフィルハンドルが出てないんだっけ
398名無しさん@そうだ選挙にいこう:2010/11/12(金) 11:23:50
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 初心者です
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 数式 削除

現在、報告書の各項目に「No」の表記を付け作成しています
NOには「=(1つ前のセル位置)+1」の数式を使用しています
全ての項目が埋まっている場合は問題が無いのですが
諸事情により途中「歯抜け状態」になる場合が発生し
「NO」の表記(数式)ごと削除を行うのですが
削除を行った際に次の項目の「No」の数式が参照する「1つ前のセル位置」に
数値が入っていないため、毎回次のセルに適正な数値を手打ちしています
123456789を5を削除した場合 
1234 6789となり、6を毎回5に打ち変え 1234 5678としています
5を削除した際に自動で6のセルが5の位置ではなく4の位置を参照するようにする方法を
教えていただきたいのですが
どなたかよろしくお願いします
399名無しさん@そうだ選挙にいこう:2010/11/12(金) 11:41:25
>>398
ちょっと違うけどNoがA列として
A1=1
A2=MAX($A$1:A1)+1
とかどう?
400名無しさん@そうだ選挙にいこう:2010/11/12(金) 12:09:28
>>399
回答ありがとうございます

早速試したところ、上手く行ったのですが
同じシート状では問題ないのですが
シートを変更した場合に前シートの数値を引き継ぐ事が上手くできないようです

シートの変更が発生した場合は別の数式になるのでしょうか?
401名無しさん@そうだ選挙にいこう:2010/11/12(金) 12:11:16
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

散布図のグラフを描いていて
横軸の目盛を、0、100、300、500・・・
としたいのですが何かいい方法はありますか?
402名無しさん@そうだ選挙にいこう:2010/11/12(金) 17:46:37
>>384
うまくいきました!
感謝です
403382:2010/11/12(金) 18:41:54
>383

申し訳ない。
急務により、今日中にはUPできそうにありません。

明日以降にUPいたしますので、ご了承ください。
尚、色々と相談にのっていただきまして、大変感謝しております。
404383,386,392:2010/11/12(金) 19:46:22
>392,403
ぼちぼちでいいですよ。こっちも全力で対応できるわけじゃないので。
>385の内容で検討は始めてます。

それより、>392も見ておいてくださいね。
405名無しさん@そうだ選挙にいこう:2010/11/12(金) 21:55:29
>>389
何を言ってるのかわからない、だけど出来るだろう。

とりあえずB1セルに「=A2」と書き、そのセルを下方向にフィルしてみ。
やりたい事はこれで実現できてるか?
これじゃない!と思ったらどう違うのか説明してみ。
406名無しさん@そうだ選挙にいこう:2010/11/12(金) 23:28:52
>>402
お役に立てて何よりです。
ただ上記の回答は正確ではないので訂正します。
本来は「再計算の停止(再開)」という意味ではなく、
「再計算を手動(自動)にする」というものです。
詳しくは "application.calculation" でググってみて下さい。

407名無しさん@そうだ選挙にいこう:2010/11/13(土) 01:28:46
WindowsXpSP3、Excel2003です。

コマンドバーの印刷ボタンをクリックするとユーザーフォームが表示されて、
フォーム上に[印刷する][印刷しない]の2つのボタンがあって、
[印刷する]をクリックしたら印刷し、[印刷しない]をクリックしたらジョブキャンセルしたいのですが、
どうすればいいでしょうか?

Workbook_BeforePrintに書けば、印刷ボタンクリックでフォームは表示できますが、
これだとフォーム表示と同時にそのまま印刷も走ってしまいますよね。
[印刷する][印刷しない]のいずれかがクリックされるまで印刷を待機させたいんです・・・。
何か方法はありますでしょうか?

よろしくお願いいたします。
408名無しさん@そうだ選挙にいこう:2010/11/13(土) 01:36:08
??407
俺の場合、印刷プレビューを使ってワンクッションおいているが。
409名無しさん@そうだ選挙にいこう:2010/11/13(土) 02:06:31
>>407
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim dlgAnswer
dlgAnswer = MsgBox("しちゃう?", vbYesNo, "たずねる")
If dlgAnswer <> vbYes Then
Cancel = True
End If
End Sub
こんな感じにしても印刷まで行っちゃうの?
410名無しさん@そうだ選挙にいこう:2010/11/13(土) 07:15:34
オフィス2000で
方眼紙を作りたいのですが、升目をクリックして青の点線の方眼を作りたいのですが
方法ないですか?
411名無しさん@そうだ選挙にいこう:2010/11/13(土) 07:40:09
升目ってセルのこと?
セルクリックという手順がどうしても必要ならVBAが必要

手順が違ってもいいのならセルを正方形にして罫線を引けばいいだけ
ttp://ourfilehost.net/up/file1/img/up2163.png
412名無しさん@そうだ選挙にいこう:2010/11/13(土) 07:48:15
>>411
罫線を引くのはやはり、フリーで一本1本ってことでしょうか?

セルの罫線? 記号でクリックしたら一度に範囲全部引けるやつは
無理でしょうか?


サイトの画面の右下 左3番目に見えるやつです。
413名無しさん@そうだ選挙にいこう:2010/11/13(土) 07:48:20
>>410
Officeのサイト行って方眼目のテンプレートをダウンロード。
414410:2010/11/13(土) 08:18:51
うぉーーーー 一本1本引いたら きれいなブルーじゃねぇ
415名無しさん@そうだ選挙にいこう:2010/11/13(土) 08:44:35
Word使ったほうがいいんじゃね
416410:2010/11/13(土) 08:46:29
クリックでひけるなら教えろ
417名無しさん@そうだ選挙にいこう:2010/11/13(土) 09:04:29
>>416
無理ッス。>>411>>413が現実的。
それでダメな理由を書いてください。
418410:2010/11/13(土) 09:29:11
>>417
そこは、VBAが難しそうだし、ダウンロードできないからだろ。


今、2本ずつ引いてるとこ。
419410:2010/11/13(土) 09:30:04
おぉおおおぉぉおー 今度は、プリンタの青がでねぇ 。
420名無しさん@そうだ選挙にいこう:2010/11/13(土) 10:12:40
410が何をしているのか分からない・・・セルを四角にして罫線じゃだめなのか???
クリックでひけるなら????
421名無しさん@そうだ選挙にいこう:2010/11/13(土) 10:14:52
たぶんオートシェイプとかのアイコンワンクリックで、みたいなことだろうな
422名無しさん@そうだ選挙にいこう:2010/11/13(土) 10:15:55
Excelは作図ソフトじゃねえっつーの
423名無しさん@そうだ選挙にいこう:2010/11/13(土) 10:21:32
>>410
↓ここのExcel2003の奴ダウンロードして開けるかどうかやってみ。
 あと開けたら不要な部分は削除してカスタマイズして使って。
http://office.microsoft.com/ja-jp/templates/results.aspx?qu=%E6%96%B9%E7%9C%BC%E7%B4%99&origin=CT010117250
424410:2010/11/13(土) 10:55:40
>>423
ありがとう。

でもダウンした、画面が小さいまま でかくなんねぇ。
425410:2010/11/13(土) 11:00:46
>>420
そうなんだけど。
普通に学校でかっこよく5mm方眼がほしいだけだけど。、、、薄い青で
                              ↑
                             今、ココ

   
426名無しさん@そうだ選挙にいこう:2010/11/13(土) 11:05:50
>>425
セルに罫線引くのが現実的
セルの大きさはmm単位で指定できないんでテスト印刷して自分で合わせれ
色もプリンタによって違うからテスト印刷で
427410:2010/11/13(土) 11:18:32
        
 ヤレヤレ… 
.   ∧__,,∧  
   ( -ω-) 
.   /ヽ○==○
  /  || | ■ Excel総合相談所 94
  し' ̄(_)) ̄(_)) ̄(_)) ̄(_)) ̄(_)) ̄(_))
428名無しさん@そうだ選挙にいこう:2010/11/13(土) 11:21:32
こっちがヤレヤレだぜ
429名無しさん@そうだ選挙にいこう:2010/11/13(土) 11:31:11
Excelはプリンターによって微妙に印刷結果が異なるし、厳密に5mm方眼は難しい。
っぽいのならいくらでも作れるけど
430名無しさん@そうだ選挙にいこう:2010/11/13(土) 11:43:42
>オフィス2000で
>方眼紙を作りたいのですが

そもそもここで聞くのが間違い。
wordスレへ行け。

という回答が正解なんだろうな。
431名無しさん@そうだ選挙にいこう:2010/11/13(土) 12:11:19
>410,425
5ミリピッチで とか 青色い点線 とかなら、Jw_Cadなどの作図ソフトが最適では?
432複乳:2010/11/13(土) 12:21:57
>>401
ペイントで編集するしか無いかな?
軸の書式設定で最小値を-100、目盛間隔を200
交点を-100にして作成
あとはコピーしてペイントに貼付け、Y軸を0に合わせる

最初から交点を0にするとめり込んでしまうんだよなーなんかいい方法ありそうなんだけど
>>410
全体選択(ctrl+a)で列番号を右クリック、列幅の設定。行も同じように設定
右クリックでセルの書式設定、罫線タブで色

でも印刷するなら
http://www.google.co.jp/search?client=opera&rls=ja&q=pdf+%E6%96%B9%E7%9C%BC%E7%B4%99&sourceid=opera&ie=utf-8&oe=utf-8
pdfダウンロードした方が早い
433410:2010/11/13(土) 12:41:38
>>432
PDFダウンした。仕事はえぇな。

格子クリックで色が変えられたら最高なのに


お茶の出前ドゾ
        ~旦
       ~旦旦
   ∧_∧~旦旦旦
  (*・∀・)ノ
  (  ο┳
  ◎-J┻◎


ワードの過疎ぶりに納得。
434名無しさん@そうだ選挙にいこう:2010/11/13(土) 16:03:11
>>422
excelってお絵かきとゲーム以外何が出来るんだ?
435名無しさん@そうだ選挙にいこう:2010/11/13(土) 16:17:36
>>434
整数の計算(`・ω・´) ただし、数がいっぱいになるとちょっと苦手(´・ω・`)
436410:2010/11/13(土) 18:45:21
>>422
じゃあ なんだよ、 ぎゃくに。
437名無しさん@そうだ選挙にいこう:2010/11/13(土) 18:49:51
>>436
意味不明な逆ギレは恥ずかしいぞ。もうやめとけ。
438名無しさん@そうだ選挙にいこう:2010/11/13(土) 19:19:42
【1 OSの種類         .】 Windows VISTA
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 カウント・統計・種類別

http://loda.jp/0tm/?id=26

A列にあるIPアドレスの種類をC列のように分別し、それぞれいくつあるのかをD列のように示す。
URLにあるcsvはアドレス数が少ないので手作業で種類と個数を数えましたが、大量のアドレス数になると厳しいので、エクセルで解決できればうれしいです。
よろしくお願いします。
439名無しさん@そうだ選挙にいこう:2010/11/13(土) 19:23:57
>>438
こういう場合はピボットテーブルが最強。ピボットテーブルで検索してみ。
慣れれば30秒も経たずに集計できる
440名無しさん@そうだ選挙にいこう:2010/11/13(土) 20:36:59
質問です。
2007使っています。
マクロでa5にカーソルがあってマクロ作業してカーソルがa6に最後に行くようにすればどうすればいいですか?
例えばs7にカーソルがあったらs8に最後移動するようにしたいです。
441名無しさん@そうだ選挙にいこう:2010/11/13(土) 20:45:12
>>440
Selection.Offset(1, 0).Select
442名無しさん@そうだ選挙にいこう:2010/11/13(土) 21:06:19
>>441上手く行きました。ありがとうございました。
443名無しさん@そうだ選挙にいこう:2010/11/13(土) 21:39:53
>>439

即答ありがとうございます。

便利すぎワロタw
444名無しさん@そうだ選挙にいこう:2010/11/13(土) 23:14:19
セルの幅・高さをinch/cmで指定するマクロ
ttp://support.microsoft.com/kb/213422
445名無しさん@そうだ選挙にいこう:2010/11/14(日) 00:06:36
>>444 いや、印刷なめんな。それはみんな分かって言ってる
446名無しさん@そうだ選挙にいこう:2010/11/14(日) 09:25:58
おまえの cmは ほんものか?
447名無しさん@そうだ選挙にいこう:2010/11/14(日) 11:29:25
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】excel グラフ

質問です
上から1月から12月と言う順番に表に書いたのに
グラフにすると12月から上になります
表を変えずにグラフの順番も1月からにする方法って無いですか
448名無しさん@そうだ選挙にいこう:2010/11/14(日) 12:38:47
右クリック
449名無しさん@そうだ選挙にいこう:2010/11/14(日) 12:40:36
軸の書式設定
450名無しさん@そうだ選挙にいこう:2010/11/14(日) 12:41:34
目盛
451名無しさん@そうだ選挙にいこう:2010/11/14(日) 13:15:56
軸の反転
452複乳:2010/11/14(日) 21:03:44
全国の複乳ファンの皆様こんにちは。ニセモノの複乳です。
さいきんずっと自宅PCからはアクセス制限で書き込めない状態が続いています(いま外から)。

                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
453名無しさん@そうだ選挙にいこう:2010/11/14(日) 21:46:38
>>452
ちゃんと自宅の住所を確定しろよww
454407:2010/11/15(月) 08:53:19
>>408-409
お礼が遅れました。ありがとうございます。

>印刷プレビュー
職場で使っているブックなんですが、特にコマンドバーは隠しておらず
スタッフは皆、普通にコマンドバーの「印刷」ボタンをクリックする習慣があるので、
印刷プレビューでワンクッション置くのは難しい状況なんです。

>MsgBox
Msgboxだとキャンセルできるんですね。フォームでは厳しいでしょうか?
というのは、書き込むにあたりちょっと簡潔にし過ぎてしまったのですが、
正しくは、まずコマンドバーの「印刷」ボタンをクリックするとフォームが表示され、
フォーム上のリンゴ・みかん・バナナなど果物を選択するコンボボックスで
「バナナ」を選択した場合だけ印刷、それ以外のときは印刷キャンセル、
という流れなんです。

このような処理は可能でしょうか?
(無理ならもう Application.CommandBars("○○○").Visible = False
でバーごと消そうかと考えております。)
455名無しさん@そうだ選挙にいこう:2010/11/15(月) 09:57:45
>>454
ツールバーはかなり自由に編集できるから、
「印刷」ボタンの実態を「印刷プレビュー」に変更してしまうという手もある
456名無しさん@そうだ選挙にいこう:2010/11/15(月) 10:38:12
>>454
UserForm1.Show vbModeless
とかフォームを待たないように書いてない?
457454:2010/11/15(月) 12:46:36
>>455-456
ありがとうございます。「vbModal」にしたらうまくいきました。

フォーム表示より先に印刷が走っているような見た目だったんで、
「vbModeless」か「vbModal」かは関係無いと思い込んでましたが、
単にフォームの表示に時間が掛かって
処理の軽い印刷ダイアログの方が先に表示されてたんですね。

お騒がせしました。どうもありがとうございました。
458名無しさん@そうだ選挙にいこう:2010/11/15(月) 18:04:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2007

for 文で i が特定の値の場合飛ばすにはどうしたらいいでしょうか。
28-50 106-115 119-141 ・・・ という風にランダムです。
if で一つ一つ飛ばすしかないんですかね?
459名無しさん@そうだ選挙にいこう:2010/11/15(月) 18:51:42
>458 こんな感じではどうですか?

配列 = array(28,50,106,115,119,141・・・・・)

i_max = UBound(配列)
i = 0
Do
  For j = 配列(i) To 配列(i+1)
    処理
  Next j
  i = i + 2
Loop While (i < i_max)
460fuku:2010/11/15(月) 19:19:24
>>458
select case使うと楽と思う
ttp://homepage1.nifty.com/rucio/main/technique/Select.htm
Sub a()
a1 = 28
a2 = 50
b1 = 106
b2 = 115
c1 = 119
c2 = 141

For i = 1 To 200

Select Case i
Case a1 To a2, b1 To b2, c1 To c2
'処理 Cells(i, 1) = i
End Select

Next
End Sub
461459:2010/11/15(月) 19:34:19
>459 のjとiを入れ替えてください>458
範囲の組み合わせが多いときは、シートに2次元の表にして、2次元の配列に読み込むといいかも。

>460
範囲の組み合わせが少ないときは便利ですね
462名無しさん@そうだ選挙にいこう:2010/11/15(月) 20:28:05
>>459>>460
色々な方法があるのですね
両方試してみたいと思います
ありがとうございました
463名無しさん@そうだ選挙にいこう:2010/11/15(月) 21:03:13
>>458
Select Case i
  Case 28 To 50
    処理
  Case 106 To 115
    処理
  Case 119 To 141
    処理
End Select

とか

Select Case i
  Case Is (28 < i) And (i < 50) Or (106 < i) And (i < 115) Or (119 < i) And (i < 141)
    処理
End Select

とか
まあ後者だとIf文でも変わらんけどな
464383:2010/11/16(火) 23:52:39
>382,385,388,403 へ連絡です。
>385用のは、ほぼできました。必要ならVBAマクロのソースなどupできます。集計用とは別にシートを1枚追加する必要はあります。
465名無しさん@そうだ選挙にいこう:2010/11/18(木) 00:03:04
【1 OSの種類       】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか    】 いいえ
【4 VBAでの回答の可否 】 可

A列、B列、C列に入力されている文字をD列にまとめたいのですが、
たとえば
A列   B列   C列
エクセル   ワード   パワーポイント
のように入力されていて、D列に、=A1&B1&C1と式を入れると
エクセルワードパワーポイントのように区切りがなくまとまってしまいますよね??
そうではなく、D列にはエクセル,ワード,パワーポイントのように区切りをいれてまとめたいです。
でも、ABCのすべての列に入力があるわけではなく、
A列だけ入力されていたりの場合もあるので、区切りがつねに入るようにしておくと
A列だけの入力をDに何らかの式で反映させると、エクセル,という風になってしまいます。
複数の入力があるばあいだけ点をいれて区切る、ひとつだけの場合は
点が入らずそのままD列に入力が落ちるというふうにしたいのですが
どうすればいいでしょうか??説明が下手ですいません。
466名無しさん@そうだ選挙にいこう:2010/11/18(木) 00:15:07
>>465
一発でやる方法はない
長〜い式を書くしかない
あるいはマクロ
467名無しさん@そうだ選挙にいこう:2010/11/18(木) 00:24:41
>>465
=IF(A1="",IF(B1="",IF(C1="","",C1),IF(C1="",B1,B1&","&C1)),IF(B1="",IF(C1="",A1,A1&","&C1),IF(C1="",A1&","&B1,A1&","&B1&","&C1)))
468名無しさん@そうだ選挙にいこう:2010/11/18(木) 00:32:12
>>465
=CHOOSE((A1="")+(B1="")*2+(C1="")*4+1,A1&","&B1&","&C1,B1&","&C1,A1&","&C1,C1,A1&","&B1,B1,A1,"")
469名無しさん@そうだ選挙にいこう:2010/11/18(木) 00:35:40
>>465
=SUBSTITUTE(TRIM(A1&" "&B1&" "&C1)," ",",")
470名無しさん@そうだ選挙にいこう:2010/11/18(木) 00:41:27
>>467 >>468
わ〜!すごい!!できました!!!
本当にありがとうございます!聞いて良かった!!!
471名無しさん@そうだ選挙にいこう:2010/11/18(木) 00:44:00
>>469
おおっっ!これもできた!
いろいろあるんですね!ありがとうございます!
472名無しさん@そうだ選挙にいこう:2010/11/18(木) 14:47:30
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

     ._________
143.1+√(143.1^2)-4×793.4
────────────
        2

excelで上の式を計算使用として、セルに

=(143.1+(143.1^2-4*793.4)^1/2)/2

と入力したら、答えが4397になりました。

137が本当の答えで、上の式は間違っていることになりますが
どこが違うのか分りません。

     ._________
143.1+√(143.1^2)-4×793.4
────────────
        2
を解くのに
=(143.1+(143.1^2-4*793.4)^1/2)/2
はどこが間違っているのか、教えてください
473名無しさん@そうだ選挙にいこう:2010/11/18(木) 14:57:16
=(143.1+(143.1^2-4*793.4)^(1/2))/2
かな?
474名無しさん@そうだ選挙にいこう:2010/11/18(木) 14:59:15
>>472
「)^1/2」の部分で「^」の方が「/」より演算子の優先順位が高いので
1乗した後で2で割ることになります
475名無しさん@そうだ選挙にいこう:2010/11/18(木) 15:01:55
>>473>>474
137になりました。
ありがとうございます。
476名無しさん@そうだ選挙にいこう:2010/11/18(木) 20:21:49
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 ピボッドテーブル 個数 集計 要素別 カウント

http://loda.jp/0tm/?id=36
添付したエクセルには、全データが羅列された「全番号」と、ピボットテーブルで「全番号」にある値の'種類'が若い順に分類された「番号別」という2つのシートがあります。
たとえば『0がいくつあるか』なら、「番号別」のB2に≪=COUNT(番号別!A1:A66673)≫とすれば答え(例では77)は出ますが、番号の要素が多いので一つ一つ
やっていては時間がかかってしまいます。

一度にすべての要素別の数を計算し、「番号別」のB列に数を表示する方法はないでしょうか?

お願いします。
477名無しさん@そうだ選挙にいこう:2010/11/18(木) 20:37:39
>>476
0がいくつあるか・・・でcountを使うの? 意味が分からない。

countじゃなくてcountifでしょ。
なんでピボットテーブルでいっぺんに出さないのか疑問は尽きないけど、
b2に
=COUNTIF(全番号!A:A,A2)
下にオートフィル

意味を取り違えている可能性大だけど、質問が意味不明すぎる
478名無しさん@そうだ選挙にいこう:2010/11/18(木) 21:14:01
>>476
『0がいくつあるか』の答えは28440行目の1個だけじゃん?

B2に=COUNTIF(全番号!A:A,番号別!A2)
と入力して一番下までコピーしたらいいのでは?

または、ピボットで、こんな感じに。
http://www.death-note.biz/up/m/12019.jpg
479名無しさん@そうだ選挙にいこう:2010/11/18(木) 22:24:57
質問です。2007を使用しています。

物質の粒子径の範囲にある個数を調べています。
とりあえずFREQUENCYを使っているのですが、区間配列(例:200μm〜210μm・・・)の
指定がよくわかりません。

よろしくお願いします。
480名無しさん@そうだ選挙にいこう:2010/11/18(木) 22:28:23
すみません>>479です。テンプレ忘れてました
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel 2007

物質の粒子径の範囲にある個数を調べています。
とりあえずFREQUENCYを使っているのですが、区間配列(例:200μm〜210μm・・・)の
指定がよくわかりません。

よろしくお願いします。
481名無しさん@そうだ選挙にいこう:2010/11/18(木) 22:28:50
482名無しさん@そうだ選挙にいこう:2010/11/18(木) 22:37:29
>>481 ありがとうございます。恐縮なんですが粒子径は小数点がダァーっと続くんです。
この場合はどうすればいいですかね。
483名無しさん@そうだ選挙にいこう:2010/11/18(木) 23:15:27
>>477-478

詳細な回答ありがとうございました。初めに行った77という結果は間違っていたみたいです。
失礼しました。
484名無しさん@そうだ選挙にいこう:2010/11/19(金) 08:48:06
Excel 2011 Mac OS10.6.5です。

以前使っていたファイルを開くと一部の数式が文字列扱いになっていました。
具体的には
"=C8"がそのまま表示されるなどです。
セルの書式は標準ですので問題なく、またそこで見えるプレビューは正しく参照されています。
何か設定がおかしいと思うのですが、どうすればよいのでしょうか?

よろしくお願いします。
485名無しさん@そうだ選挙にいこう:2010/11/19(金) 12:45:38
全番号は1434以外のデータはないんだが?
いずれにしてもCOUNTIFはいくらなんでもないな。
普通はピボットだよな。
要素に幅があるならピボットのグループ化か関数でやるならFREQUENCYだろ?
どっちにしてもCOUNTIFはない。
486名無しさん@そうだ選挙にいこう:2010/11/19(金) 14:47:31
>>484
詳細設定で「計算結果の代わりに数式をセルに表示する」になってない?
487名無しさん@そうだ選挙にいこう:2010/11/19(金) 16:15:39
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Exce2007l
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 縦一列 自動 改行 エクセル プリントアウト

A1〜A30000までデータが入力されています。

このデータ全てをプリントアウトしなければいけないのですがそのままプリントアウトすると一枚の用紙にA1〜A50までしかプリントされません。
そこで
A51〜A100のデータをC1〜C50へ
A101〜A150のデータをE1〜E50へ
A151〜A200のデータをG1〜G50へ



と自動で移動させて少ない枚数でのプリントアウトにしたのですが何か良いては無いでしょうか?
488複乳:2010/11/19(金) 18:00:38
>>487
c1=INDIRECT("r"&(COLUMN()-1)/2*50+ROW()&"c1",0)
テキトーにオートフィル
489複乳:2010/11/19(金) 18:18:52
>>482
これじゃだめなの?
ttp://www1.axfc.net/uploader/Img/so/100579.jpg
何をどうしたいんだかわからん
490487:2010/11/19(金) 18:56:43
>>488
ありがとうございます。
本当はもう少し複雑だったのですがただ関数さえわかればあとは応用でなんとかできるだろ。と思ってたらアホすぎて結局わかりませんでした。

今回は横着せずにきちんと書きます。

A1〜A30000 B1〜B30000 C1〜C30000 D1〜D30000 までデータが入ってます。

A51〜A100のデータをF1〜F50へ
A101〜A150のデータをK1〜K50へ


B51〜B100のデータをG1〜G50へ
B101〜B150のデータをL1〜L50へ


C51〜C100のデータをH1〜H50へ
C101〜C150のデータをM1〜M50へ


D51〜C100のデータをI1〜I50へ
D101〜150のデータをN1〜N50へ


といった感じにしたいのです。
何度も質問してすいません。
よろしくお願いします。
491複乳:2010/11/19(金) 19:37:34
>>490
えー
F1=INDIRECT("r"&INT(COLUMN()/5)*50+ROW()&"c"&MOD(COLUMN(),5),0)
492名無しさん@そうだ選挙にいこう:2010/11/19(金) 19:47:01
グーグル検索

念のためうぷ(´・ω・`)まわいが重要


グーグル検索

やらなくてもやられるし 日本語以外話せないし


テレビやネットで説明
493名無しさん@そうだ選挙にいこう:2010/11/19(金) 20:51:44
>>490 >>488を元に改変。

F1=INDIRECT("r"&(INT((COLUMN()-COLUMN($F$1))/5)+1)*50+ROW()&"c1",0)
G1=INDIRECT("r"&(INT((COLUMN()-COLUMN($F$1))/5)+1)*50+ROW()&"c2",0)
H1=INDIRECT("r"&(INT((COLUMN()-COLUMN($F$1))/5)+1)*50+ROW()&"c3",0)
I1=INDIRECT("r"&(INT((COLUMN()-COLUMN($F$1))/5)+1)*50+ROW()&"c4",0)
J1は空白。

上記式をそれぞれ書き込んで、F1〜J1まで範囲選択(I1までじゃない)、そのまま横方向に3000列までフィル。
さらにその選択状態から下方向に50行フィル。以上。


>>488
COLUMNやROWって引数なしもアリだったのか。
知らなかった、ありがとー。
うん、こりゃ便利だわw (以前は自セル参照させてた)
494493:2010/11/19(金) 20:55:35
>>491 すでに遅かった上に式を長くしただけだった、すまんw
495名無しさん@そうだ選挙にいこう:2010/11/19(金) 21:03:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可

次のような表で、A列に記号、B〜G列に数字が入っています。
A列の記号の中で、いくつか"DC"を含むものと含まないものがあり、
"DC"を含む方へ合算して下段の表のようにしたいです。
(合算後は、DCを含まない方を0に置き換えます)

AB-A123DCAA      0  100  200  100    0  100
AB-A123AA       200  200  100    0  100  100
CC-C3456DCCC     0    0  100  200  100  200
DC-B2345BB       0  100    0    0  200    0
CC-C3456CC      100  200  100    0    0  100

AB-A123DCAA     200  300  300  100  100  200
AB-A123AA        0   0    0    0   0    0
CC-C3456DCCC    100  200  200  200  100  300
DC-B2345BB       0  100    0    0  200    0
CC-C3456CC       0   0    0    0   0    0

このとき、対象となる"DC"は、左から8番目以降になっており、
"DC-*"とか"AA-DC*"のように左から7番目までのものは除外します。

今は手作業で"DC"を含むものを検索し、その中から"DC"を削除したものを
再度検索して該当するものがあれば抜き出し、2組を照合させて合算しています。
件数が少ないときは手作業でも良かったものの、ここ最近は500件くらいに
増えてきたので、マクロで処理できればと思い質問させて頂きました。
よろしくお願いします。
496名無しさん@そうだ選挙にいこう:2010/11/19(金) 21:27:45
私の心の中の関数 -My excel story
http://www.youtube.com/watch?v=Zzg9RrR3K2U
497複乳:2010/11/19(金) 21:31:19
>>495
「8番目以降」にハイフンは含める?含めない?
"AA-AAADC*"だとどっちだろう
498複乳:2010/11/19(金) 21:33:50
もう一つ質問。ハイフンはかならず入ると思っていいのかな
499複乳:2010/11/19(金) 21:38:05
あー違った
AB-A123DCAA が除外で
CC-C3456DCCC はその処理をするって認識でいいのかな
500名無しさん@そうだ選挙にいこう:2010/11/19(金) 23:32:22
>495 DCを除いたものが一致するデータが1個だけなら、これでどうですか?
Dim tate As Long, tate_strt As Long, tate_end As Long, yoko As Integer
Dim moji As String, kensaku As String, c As Object
Sub excel495()
  tate_strt = 2
  tate_end = Range("A65535").End(xlUp).Row
  For tate = tate_strt To tate_end
    moji = Cells(tate, 1).Value
    If Len(moji) > 8 Then
      If Mid(moji, 8, Len(moji) - 7) Like "*DC*" Then
        kensaku = Replace(moji, "DC", "")
        Set c = Range(Cells(tate_strt, 1), Cells(tate_end, 1)).Find(kensaku)
        If Not (c Is Nothing) Then
          For yoko = 2 To 7
            Cells(tate, yoko).Value = Cells(tate, yoko).Value + Cells(c.Row, yoko).Value
            Cells(c.Row, yoko).Value = 0
          Next yoko
        End If
      End If
    End If
  Next tate
End Sub

DCを除いたものが一致するデータが2個以上のときは対応してません、あしからず
501名無しさん@そうだ選挙にいこう:2010/11/20(土) 09:03:31
お尋ねします。
Excelの日付のシリアル値にはマイナスはないんでしょうか?
明治32年以前が扱えなくて困ってます。
502名無しさん@そうだ選挙にいこう:2010/11/20(土) 09:17:30
>501
西暦年(4桁)+月(2桁)+日(2桁)の8桁の数字(数値or文字列)で記録するしかないと思う。
事務用プログラム言語である「コボル(COBOL)」では、表計算みたいな日付データ形式なんてなかった
ので、こういう形で日付を扱っていた。というよりも、年を2桁でしか記録してなかったシステムが
多く、「コンピュータの2000年問題」で大騒ぎしたのは、もう一昔前か(遠い目)
503名無しさん@そうだ選挙にいこう:2010/11/20(土) 10:04:34
>>501
マイナスは使えないし1900年3月1日以前を扱うと1日ずれるぞ
504名無しさん@そうだ選挙にいこう:2010/11/20(土) 10:56:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007

sheet1印刷範囲のページ1枚目(A1:E35) に型枠があり、sheet2からデータを挿入するというマクロを作りました。
又、ページが1枚では足りない時の為に、あらかじめ型枠をページ1枚目以降にコピーしてあります。


ここで型枠をページ1枚目だけに書いておき、ページが2枚以上になる場合にはその都度型枠を追加していく
という風にしたいのですがどうしたらいいでしょうか?
ページが増えるタイミングで、ページ1をコピーして追加・挿入した文字等を削除という風にするしかないでしょうか?
505名無しさん@そうだ選挙にいこう:2010/11/20(土) 11:07:38
>504
あらかじめ多めに「型枠」を作っておいて、印刷範囲を調整する方が簡単だと思う
506504:2010/11/20(土) 12:09:57
>>505
確かに印刷範囲を調整したほうが簡単ですね
回答ありがとうございました
507500:2010/11/20(土) 12:40:49
>500は Instr関数がいいかも
If Instr(8,moji,"DC") > 7 Then          '8は検索開始位置
  kensaku = Replace(moji, "DC", "",8,1)   '同上(次の1は置換回数
  Set c = Range(Cells(tate_strt, 1), Cells(tate_end, 1)).Find(kensaku)
  If Not (c Is Nothing) Then
    For yoko = 2 To 7
      Cells(tate, yoko).Value = Cells(tate, yoko).Value + Cells(c.Row, yoko).Value
      Cells(c.Row, yoko).Value = 0
    Next yoko
  End If
End If
508名無しさん@そうだ選挙にいこう:2010/11/20(土) 12:41:16
>>501
Excelの一般機能のシリアル値にはマイナスはない。
VBAのシリアル値なら-657434(100/1/1)〜2958465(9999/12/31)まであるから
VBAを使えば出来る。
509名無しさん@そうだ選挙にいこう:2010/11/20(土) 16:40:07
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ecxel xyグラフ 3つめの要素

x y z
1 2 1
2 3 4

.....

のようにある表のxyをグラフにして、
zごとに点の色を変えることはできますか?
出来るのなら教えてください。
510495:2010/11/20(土) 19:50:05
495です。
ご回答いただき、感謝いたします。
500さん=507さんのマクロで集計できました。

>>497
8番目以降にハイフンはありません。
"AA-AAADC*"だと合算の対象です。

>>498
ハイフンは左から2〜4番目が多く、必ず入るかはまだ分りません。

>>499
AB-A123DCAAは、"DC"が左から8番目以降なので除外しません。
511名無しさん@そうだ選挙にいこう:2010/11/20(土) 20:53:38
ターゲット初心者です。

オッズをCSV出力させる方法について教えて下さい。
出力さえできればCSVという形でなくてもかまいません。
ターゲットの画面で枠連を人気順に表示させています。

それをエクセルに出力させたいのですができません。
「F8・出力キー」を押すと「オッズテキスト主力形式選択メニュー」
が表示されます。そこで「枠連人気順整形テキスト形式」を選択する
と、「整形テキスト形式出力ファイルの指定」のダイアログボックス
が表示されます。

アクセスフォルダ(D)を見ると「C:\TFJV\TXT\」となっています。
フォルダ内ファイルリスト(L)を見ると「POG_LIST.TXT」となって
います。

これを選択し、OKボタンを押すと「同名のファイルが存在します。
処理を選択して下さい。」という同名ファイル処理選択ダイアログ
ボックスが表示されてしまいます。

出力方法が間違っているようです。私はエクセルに出力させたいの
ですが、それができません。どのようにすれば良いでしょうか?

ターゲット板で質問したところ、エクセル板に行けと言われたので
きました。エクセル2000です。
よろしくお願い致します。
512名無しさん@そうだ選挙にいこう:2010/11/20(土) 21:05:53
それはエクセルでなくターゲットなる物の操作方法になるのではないか?
513複乳:2010/11/20(土) 21:09:41
>>509
わかんね
>>511
なんのソフトだ?IE?
514名無しさん@そうだ選挙にいこう:2010/11/20(土) 21:20:56
>>509
希望通りの表示になるかわからんけど
とりあえずVBAでサンプル作ってみるよ。

とりあえずZの項目が始まるセル番地教えてください。


515複乳:2010/11/20(土) 21:22:17
>>511
ttp://homepage2.nifty.com/~blitz/
ターゲットってソフトがあるのね。その板でわからないなら開発者に聞いてください。
516名無しさん@そうだ選挙にいこう:2010/11/20(土) 21:48:43
>>514
自己解決しました。
お気持ち、ありがとうございます。
517名無しさん@そうだ選挙にいこう:2010/11/21(日) 02:57:54
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 使おうと思えばある程度使える
【4 VBAでの回答の可否】 可
【5 検索キーワード     】


確率 1/2 で 500 回試行 290〜310 回成功する確率 を求めたいのですが、どうすれば良いでしょうか。
BINOMDIST関数ではできませんでした。
518名無しさん@そうだ選挙にいこう:2010/11/21(日) 02:59:05
519名無しさん@そうだ選挙にいこう:2010/11/21(日) 03:05:29
>>518
ありがとうございます。
520名無しさん@そうだ選挙にいこう:2010/11/21(日) 07:37:59
>>517
=BINOMDIST(310,500,0.5,1)-BINOMDIST(290,500,0.5,1)
=0.014%
521名無しさん@そうだ選挙にいこう:2010/11/21(日) 15:16:42
>>520
なるほど!ありがとうございました
522名無しさん@そうだ選挙にいこう:2010/11/22(月) 11:43:15
2007エクセル使っています。
コピペをマクロで貼り付けしているんですけど
間違えて貼り付けした場合マクロだと元に戻すが出来ないんですが
どうすればいいでしょうか?
失敗するごとに一度ブックを閉じてしまいます。
お願いします。
523名無しさん@そうだ選挙にいこう:2010/11/22(月) 12:30:07
>>522
とりあえず簡単な方法を3個。
@ マクロを使わない。
A 貼りつけるセルが決まっているのならそれもマクロに記述(記録)して使用する。
B 貼りつけるセルが決まっていない場合、メッセージボックスを付け加えワンクッション
  置くように編集する。
524複乳:2010/11/22(月) 14:04:00
>>522
貼付け先のシートを先にコピーしておくとか
525名無しさん@そうだ選挙にいこう:2010/11/22(月) 16:02:40
>>522
貼りつける前の状態にするマクロを組めばいいと思います。
526名無しさん@そうだ選挙にいこう:2010/11/22(月) 16:32:17
質問失礼します。
地図をエクセルで作成する場合に、曲線の二重線を使って道路を描きたいのですが
コピペとするとこのように
http://www.dotup.org/uploda/www.dotup.org1263315.jpg
重なってしまってうまくいきません。

曲線をうまく使いきれいな二重線を描いていくことは可能でしょうか?
宜しくお願い致します。
527名無しさん@そうだ選挙にいこう:2010/11/22(月) 16:52:01
>>526
Excelのバージョンは?
528名無しさん@そうだ選挙にいこう:2010/11/22(月) 16:56:06
2003と2007があります。
529名無しさん@そうだ選挙にいこう:2010/11/22(月) 17:07:09
>>528
2003の場合、コピーして太さと色を変えて重ねると二重線みたいになる
わかりやすくするために色を付けたけど、実際は細い方を白にする
ttp://f12.aaa.livedoor.jp/~itatisa/phpup/cgi/src/up13526.png
530名無しさん@そうだ選挙にいこう:2010/11/22(月) 17:19:10
>>528
2007では、図形を右クリックして「図形の書式設定」→「線のスタイル」で
「線の幅」をある程度太くしてから「一重線/多重線」で二重線を選ぶ
ttp://f12.aaa.livedoor.jp/~itatisa/phpup/cgi/src/up13527.png
531名無しさん@そうだ選挙にいこう:2010/11/22(月) 20:25:00
>>529-530
非常に助かりました、ありがとうございました。
532522:2010/11/22(月) 20:52:17
みなさんありがとうございます。
ヤッパリ難しいですね。面倒ですけど貼り付ける前に上書き保存しておいて
失敗したらブックを閉じるしかないですね。
>>525貼り付ける前のマクロって気になりますw
533525:2010/11/22(月) 21:49:50
>>532

例えば、コピペする前の値?を何処かに置いといて間違ったらそれをコピペするマクロ。
詳細kwsk
534525:2010/11/22(月) 22:10:56
>>533
コピペするのはいつも状況によって違います。
例えばある時は千葉の店舗、ある時は埼玉の店舗とか。
千葉を分析したいのなら
左ドラッグして範囲を選んでそれをコピペします。
あるところに貼り付けて分析するようにしています。
たまに間違えて東京都とか貼り付けてしまって面倒で。
失礼しました。
535522:2010/11/22(月) 22:14:15
>>534間違えたw
536名無しさん@そうだ選挙にいこう:2010/11/22(月) 23:10:17
>>534
それって本来はピボットでやる仕事だな
元のデータがきちんと正規化してあれば、いちいちコピペしなくても店舗ごとに分析できる
537525:2010/11/23(火) 00:02:04
>>534
IF文とVLOOKUP使えば解決すると思うんだよね。
もし千葉店舗なら○○値が出て、もし埼玉店舗だったら□□値が出てるとしたら
その○○、□□を制御出来ればコピペマクロも失敗しないと思うんだけどね。
538名無しさん@そうだ選挙にいこう:2010/11/23(火) 00:27:05
>>534
手作業と組み合わせるから失敗する
何もかも全部マクロでやればいい
539名無しさん@そうだ選挙にいこう:2010/11/23(火) 14:48:44
エクセル2007でデフォルトの表示を変えるには
どうしたらいいですか?

例えば、Uは下線を引く Dは2重下線を引くで
デフォルトではUのみ表示されていて、Dは隠れていますが
Dをデフォルトで表示させて、Uは隠れさせたいのです。
540名無しさん@そうだ選挙にいこう:2010/11/23(火) 15:07:08
>>539
リボンに並んでるボタンを入れ替えるには専用のフリーウェアが必要
541名無しさん@そうだ選挙にいこう:2010/11/23(火) 15:11:24
>>540
そのフリーウェアを教えてください。
542名無しさん@そうだ選挙にいこう:2010/11/23(火) 17:55:04
>>539
クイックアクセスツールバーに追加して常に表示させておくという手もあるよ。
543名無しさん@そうだ選挙にいこう:2010/11/23(火) 18:32:04
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル(excel) ファイル パスワード 解除 マクロ

同一のパスワードがかかったエクセルファイルが50個ほど、定期的に送られてきます。
1日に何度も開くため、その都度パスワードを入力するのが非常に面倒です。
一括で50個全部のパスワードを解除できる方法はないでしょうか。

検索したところ、唯一参考になりそうなページがこれでしたが自力では無理でした。
ttp://questionbox.jp.msn.com/qa4453228.html

どなたかよろしくお願い致します。
544名無しさん@そうだ選挙にいこう:2010/11/23(火) 19:47:05
>>543

出来ることから始めよう
少しだけ楽になればそれでいいだろう?
マクロの記録をかけて、ファイルを開いてパスワード入力するとこまで記録させて
あとはそのマクロを編集すればよい
ファイル選択のあたりが、直接ファイル名になってるはずだから
そのマクロを実行するとそのファイルだけしか使えないけど
編集してファイル名を変数に修正して、ファイルを開いて選択した奴をその変数にぶち込むようにすれば
「ファイルを開く」の代わりにそのマクロを実行するだけで済む
545名無しさん@そうだ選挙にいこう:2010/11/23(火) 20:09:12
>>544
完璧な回答だね!すごいや!
546534:2010/11/23(火) 22:08:42
みなさんありがとう。
みなさんの言うとおりやってみます。
547名無しさん@そうだ選挙にいこう:2010/11/23(火) 22:14:43
仕事上での売掛計算の合計値として
SUMIF関数を使いたいのですが
条件設定が完全一致ではなく
一部一致で計算してくれる方法は無いですか?

現在、同一セル内に『人名(企業名) カード会社名』を表記してるのですが
セル内にあるカード会社だけを抜き出して、合計するようにして欲しいのです。

例えば
A1『田中 JCB』 B1『5000円』
A2『佐藤 JCB』 B2『3000円』
A3『●●●商事』 B3『2000円』
A4『大山 VISA』 B4『2000円』
A5『村上 JCB』 B5『500円』
という風にあるとして
JCBだけを合計したい場合です。

現状だとセル内を JCB だけにすると合計値を計算してくれますが
それ以外の文字が入っていると計算してくれないのです。
どうしたらいいですか?
548複乳:2010/11/23(火) 22:18:44
>>547
=SUMIF(A:A,"*JCB*",B:B)
ワイルドカード使うといいよ
549名無しさん@そうだ選挙にいこう:2010/11/23(火) 22:27:47
>>548
うほっほほほほほほぉおおおおおおおお
うぁりぃいがとぉおおおおございますぁあああああああああああああああ
これで仕事の能率が上がり、仕事の終了時間が早くなります(`・ω・´)
550複乳:2010/11/23(火) 22:28:39
ワロタ。良かったね
551382:2010/11/23(火) 23:44:03
>>464

遅くなってしまって申し訳ありません。
急遽出張で飛ばされていました。
大変不快な思いをさせたことを深くお詫び申し上げます。

改めて
http://ourfilehost.net/up/file1/upload.php?id=2205
に横列だけ再現いたしました。
出力先も作りましたのでご査収ください。

尚464でおっしゃられたファイルを送っていただけると
大変勉強になりますので、よろしければお願いしたいのですが、
可能でしょうか?
また明日の22時頃に顔を出させていただきます。
失礼いたしました。
552名無しさん@そうだ選挙にいこう:2010/11/24(水) 00:41:29
>>541
Custom UI Editor Tool
2007から画面のデザインがXMLになったので、ファイルを直接編集すれば
かなり自由に外観を変更することができるようになった
553543:2010/11/24(水) 11:00:21
>>544
回答ありがとうございます。
申し訳ありませんがVBAの知識がないため、この部分の具体的な方法が分かりません。
>ファイル名を変数に修正して、ファイルを開いて選択した奴をその変数にぶち込むようにすれば

>>543のリンク先にあるように「フォルダ すべてのブック VBA」で検索しましたが
やはりよく分かりませんでした。

また、「パスワードの入力を楽にしたい」のではなく、
希望としては「同一フォルダに入った全ファイルのパスワード一括解除(なしで開ける状態にしたい)」なのですが・・・。
分かりづらくすみません。

あと念のため、>>545は自分のレスではありません。
554名無しさん@そうだ選挙にいこう:2010/11/24(水) 12:01:05
>>553
ほい

Sub xxx()
  ChDir ("C:\ExcelData")  '処理するフォルダを指定
  With Application
    .DisplayAlerts = False  '上書きの警告メッセージを出さない
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    .EnableEvents = False
    .Interactive = False
    fname = Dir("*.xls")
    While fname <> ""
      Workbooks.Open Filename:=fname, Password:="ぱすわーど"  'パスワードを指定して開く
      ActiveWorkbook.SaveAs Filename:=fname, Password:=""  'パスワード無しで上書き保存
      ActiveWorkbook.Close
      fname = Dir()
    Wend
    .DisplayAlerts = True
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
    .EnableEvents = True
    .Interactive = True
  End With
End Sub
555543:2010/11/24(水) 13:31:16
>>554
ありがとうございます!!!!!
素晴らしい、感激です。
556名無しさん@そうだ選挙にいこう:2010/11/24(水) 18:20:12
すいません。
例えば
『=SUMIF(D35:D50,"*クーポン*",E35:E50)+SUMIF(N35:N50,"*クーポン*",O35:O50)+SUMIF(X35:X50,"*クーポン*",Y35:Y50)+SUMIF(AH35:AH50,"*クーポン*",AI35:AI50)』
とあった場合
これをもっと短くするにはどうしたらいいですか?

それともこれを短くすることは出来ないのでしょうか?
557464:2010/11/24(水) 19:01:13
>551
内容がだいぶ変わってしまったのでビックリしてます。いくつか質問を・・・

Q1 年月の部分(O1セル以降の部分)の数字は2バイト文字で間違いないですか?
    また、>385でアップされていたファイルでは西暦4桁年になっていましたが、
    >551では西暦年の下2桁または1桁になっていますが、間違いないですか?
Q2 9年11月より前の部分(件数がない)は、無視していいですか?
    いまさら2009年中の集計はないでしょ? というのは、集計処理の際、
    集計対象列を設定する処理を Find関数 を使って行うことから、存在し
    ない列があってはまずいです。
Q3 前にもおたずねしましたが、データは右へ右へと伸びていくんですか?
    アップされたファイルには10年11月までしか見出しがありません。
    それとも、昔のデータの列をまるごと削除して左へ詰める?
Q4 シート「出力先6」(タイトル:チーム別成績分布表)は、○○万以上の人数
    や割合などの意味がわからないので、当面考えないことにします。
Q5 シート「出力先4」(タイトル:新人単月ランキング)は、計上の条件が
    「入社1年以下」ですが、単に処理日(このVBAマクロを実行する日)
    で1年以内と考えていいんですか? それとも、基準日のきまりがありますか?
    また、件数・成績は単月でいいですね?

とりあえず、このくらい。またわからないことがあったら書きます。
558名無しさん@そうだ選挙にいこう:2010/11/24(水) 19:04:00
>>556
うん、短く出来ない。
sumproductを使えば多少短くなるかも知れないけど、あんまり変わんない気がするし
559名無しさん@そうだ選挙にいこう:2010/11/24(水) 19:14:08
>>556
作業列作って振り分ければ短くなるしトレースがとれる。

かもね。
560464,557:2010/11/24(水) 22:55:09
>551
アプロダにUP済みです。2個同じものが続いているのでわかるはず。
わからなければおたずねください。
※.vbsはインポートしてください。(メモ帳で開いて2行目以降をコピペでもいいです)
561名無しさん@そうだ選挙にいこう:2010/11/24(水) 23:05:13
>>556
どうでもいいことだし、かえって分かりづらくなるかも、だけど
*クーポン*
というのをどこかのセルに入れておいて、検索条件でセルを参照させるようにするとほんの少し短くなるw
562560:2010/11/24(水) 23:26:48
>560の最後の行は
※ .VBSはインポートしてください。(以下同文
です。なぜ消えたんだろう
563名無しさん@そうだ選挙にいこう:2010/11/25(木) 01:20:18
VBAで質問なんですが、よろしいでしょうか。

ちょっとやってみたいことがあって、イベントを試してみています。
で、実験してみたのはこんな感じ。

@実験の内容
Msgクラスのインスタンスからイベントを発行すると、
2つある別のクラスのインスタンスからそれぞれイミディエートウィンドウに
メッセージを出すというもの。

○標準モジュール
・宣言部
  Msgクラスをとる変数を作成
・Mainプロシージャ
  Msgクラスのインスタンス作成
  Class1クラスのインスタンス・Class2クラスのインスタンスの作成
  Class1.Aメソッド実行

○Msgクラス
・Mメソッド
  イベントMessege(String)を発行

(続きます)
564563:2010/11/25(木) 01:21:37
○Class1クラス
・宣言部
  Msgクラスをとる変数をPublic WithEventsで作成
・Initialize
  宣言部で作成したMsgクラスのインスタンスを代入
・Messegeイベントのレシーバ
  イミディエートウィンドウに「Class1: 'Str'」を出力('Str'はイベントの引数)
・Aメソッド
  Msg.Mメソッドを実行

○Class2クラス
・宣言部
  Msgクラスをとる変数をPublic WithEventsで作成
・Initialize
  宣言部で作成したMsgクラスのインスタンスを代入
・Messegeイベントのレシーバ
  イミディエートウィンドウに「Class2: 'Str'」を出力('Str'はイベントの引数)

@結果。
実行するとClass1の出力はされるのですが、Class2の方にはされません。

@質問
1.Class2にもイベントをレシーブするようにするにはどうしたらよいでしょうか。
2.上の実験では何が問題だったのでしょうか。

よろしくお願いいたします。
565複乳:2010/11/25(木) 02:41:12
>>563
うん、わからんね。プログラム板のVBAスレ行った方がいいかも。
あとクラス使うならVBAよりVB2010の方が楽だよ
566382:2010/11/25(木) 03:05:09
>>557

A1 前回UPした385のように西暦4桁でお願い致します。
変に意識してしまい、変更してしまいました。

A2 9年11月以前は件数が見当たりませんでした。
多分製作者が10年から追加したものと思われます。

A3 右へ伸びていくのか製作者と連絡がとれず
過去のデータを検索中でございます。
出来るだけ早く見つけ出し回答させていただきます。

A4 出力先6は無視していただいてかまいません。
説明が下手で申し訳ありませんでした。

A5 基準日はありません。
処理月を基準に1年以内でお願いいたします。
成績・件数ともに単月でお願いします。

遅くなって申し訳ありませんでした。
よろしくお願いいたします。
567名無しさん@そうだ選挙にいこう:2010/11/25(木) 15:23:12
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 初心者
【4 VBAでの回答の可否】 可
ユーザーフォームでテキストボックスを作りそこに入力した値を基に
別のテキストボックスに顧客名を表示させようとしています。
TextBox1 に入力した値を VLookup でTextBox1_2 へ表示という風にです。
問題はテキストボックスが1〜100まであるので下のような記述を100個しなければ
ならないのでしょうか?
それとも何か別に簡単な方法があるのでしょうか教えて下さい。

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then
Me.TextBox1_2.Value = ""
Else
On Error GoTo ExitER
Me.TextBox1_2.Value = WorksheetFunction.VLookup(Val(TextBox1.Value), Range("顧客リスト"), 2, False)
Exit Sub
ExitER:
MsgBox "一致する口座番号がありません"
Me.TextBox1_2.Value = ""
End If
End Sub
568複乳:2010/11/25(木) 18:00:31
>>567
オブジェクトを配列に入れる
http://questionbox.jp.msn.com/qa172927.html
コレクションと組み合わせるといい
分からなければControlsと組み合わせるとループで処理できる。

けどtextboxは一つにして、改行で区切ってsplitで配列に格納、ループで処理したほうがいいと思う
569名無しさん@そうだ選挙にいこう:2010/11/25(木) 18:54:41
【1 OSの種類         .】 Windows VISTA
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 一定の範囲 割合
http://loda.jp/0tm/?id=43

「時間シート」のA列にはパケットの飛来時間の間隔が入っています。「個数シート」には時間間隔の個数が書いてあります。
「時間シート」で時間間隔の範囲をB列のように0.1秒ごとに分けて、C列にある各範囲の割合を求めてグラフにしたいのですが、どのようにすればうまく表せることができるでしょうか?

求めたいことを「個数シート」で言うと、0.0~0.1秒の範囲を求めたいときは"A2:A478"(個数は"B2:B478")にあたるので、E2には490パケット/1226パケット=39.96%がでるようにしたいです。

わかりづらい説明で申し訳ないですが、どうかお願いします。
570名無しさん@そうだ選挙にいこう:2010/11/25(木) 20:21:05
【1 OSの種類         .】 XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 変換 html css 条件付書式

選択したセル内容をhtml(テーブル)に変換したいです。
今使っているのが「ConvHTML」というアドイン?なのですが、条件付書式で指定した色が反映されたhtmlは作成してくれません。
条件付書式で指定した背景色も反映されるソフト、アドインを教えて欲しいのですが無いでしょうか?
571複乳:2010/11/25(木) 20:43:01
>>569
sumproductで数える。2007だとCOUNTIFSでいいんだろうけど、俺が持ってないや
ttp://loda.jp/0tm/?id=45
572名無しさん@そうだ選挙にいこう:2010/11/25(木) 22:11:14
【1 OSの種類       】 XP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか  】 少し
【4 VBAでの回答の可否 】 可

初歩的な質問で恐縮ですが、よろしくお願いします。

セルに関数を設定しても、一発で正しい結果が反映されず、
そのセルをF2キーなどでいじって、やっと正しい結果が反映する状態です。
関数の計算元となるセルを変更して、即、関数のセルに反映するには
どうしたらいいでしょうか?
573名無しさん@そうだ選挙にいこう:2010/11/25(木) 22:20:14
>572
ステータスバー(画面の下の方)に 再計算 って表示されていませんか?
セルの内容が変更されたときに、関係する計算式を再度計算し直す「再計算」が手動になっていると思われます。
EXCEL 自動再計算 でググると、いろんなページで説明してくれます。
例えば・・・
http://excel.onushi.com/purpose/sheet-calculate.htm など
574名無しさん@そうだ選挙にいこう:2010/11/25(木) 22:48:09
>>573
レスありがとうございます!
自動計算になっているのに、反映されなかったので色々調べてみました。
Application.Volatileを書き加えたら、うまく行きました。
575名無しさん@そうだ選挙にいこう:2010/11/25(木) 22:49:01
>>570ですが自己解決しました。
ConvHTMLのver 2.0が公式以外のサイトにあったのでそれを使いました。
失礼しました。
576563:2010/11/26(金) 01:37:03
それでは、プログラマ版で聞いてみます。
・・・そういえば、環境書いてなかったですね。済みません。

あと、VB2010はインストール不可の環境なので使えないのです。
577名無しさん@そうだ選挙にいこう:2010/11/26(金) 02:17:54
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

SUMIFSで、名前を条件に使いたい、どうすればよいでしょうか?
たとえば、
合計範囲:B1:B5
条件範囲:A1:A5
条件範囲の値が、C1:C3のいずれかと一致するセルの合計を出す。
=SUMIFS(B1:B5,A1:A5,C1,A1:A5,C2,A1:A5,C3)
とすればよいのですが、ただ、条件の数が増減するので、できれば名前で指定したいのです。
また、条件の数の増減時に数式の変更が必要ないものでお願いします。
578577:2010/11/26(金) 02:49:22
自レスで申し訳ありません。例中のものは動きませんね。間違えていました。

フィールドを作って、DSUMを使うことで一応解決することができました。
できれば、フィールドを使わずに名前を使いたいです。
579577:2010/11/26(金) 02:54:21
すみません。解決しました。

テーブルを作成し、そのテーブルを参照することでできました。
条件が増えても、テーブルを拡張することで対応できそうです。
580名無しさん@そうだ選挙にいこう:2010/11/26(金) 12:21:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007

セルの書式設定で
1000.00→1,000
1000.10→1,000.1
1000.22→1,000.22
と出るようにしたいのですが、どのように書式設定を行えばよいのでしょうか?
581名無しさん@そうだ選挙にいこう:2010/11/26(金) 13:18:38
>>580
標準でいいんじゃねーの?
582名無しさん@そうだ選挙にいこう:2010/11/26(金) 13:19:41
>>580
まずセルの書式を「#,##0.00」にする
次に条件付き書式で条件を「=A1=INT(A1)」にして、書式を「#,##0___」(後半は半角スペース3個)にする
最後にフォントを「MS ゴシック」に変える
583名無しさん@そうだ選挙にいこう:2010/11/26(金) 13:19:45
Excel2007から条件付書式で表示形式を設定できるらしいので
値に応じて振り分けるようにすればいいと思います
584名無しさん@そうだ選挙にいこう:2010/11/26(金) 13:19:54
コンマ区切りしたいんでは
585584:2010/11/26(金) 13:20:51
スマン584は無しで
586名無しさん@そうだ選挙にいこう:2010/11/26(金) 13:40:20
>>580
ユーザー設定 #,##0.## で良さそうだよ。
587580:2010/11/26(金) 14:12:35
回答ありがとうございます。
>>582の方法で、やりたいことが実現できました。
588569:2010/11/26(金) 16:28:57
>>571

ありがとうございました!
助かりましたm(_ _)m
589名無しさん@そうだ選挙にいこう:2010/11/26(金) 17:18:12
>>580
>>582
惜しいね。
書式を「#,##0_._0_0」が正解。

MSPゴシックでも揃うぜ。
590名無しさん@そうだ選挙にいこう:2010/11/26(金) 17:20:04
>>586
それじゃ整数のとき小数点が付く
591名無しさん@そうだ選挙にいこう:2010/11/26(金) 17:22:27
>>589は誤解されるといけないから補足しとく。
まずセルの書式を「#,##0.00」にする
次に条件付き書式で条件を「=A1=INT(A1)」にして、書式を「#,##0_._0_0」にする
ってことな。
592名無しさん@そうだ選挙にいこう:2010/11/26(金) 17:36:09
おっと1000.10のとき困るじゃねーか。訂正だな。
まずセルの書式を「#,##0.0?」にする
次に条件付き書式で条件を「=A1=INT(A1)」にして、書式を「#,##0_._0_0」にする。
593名無しさん@そうだ選挙にいこう:2010/11/26(金) 17:56:22
まずセルの書式を「#,##0.??」にする。
とした方が分りやすいかもねぇ。
小数点下3けたならまずセルの書式を「#,##0.???」にして
以下」同じ手順で「#,##0_._0_0_0」
「#,##0_._8_9_3」でもえーよ。数字は文字幅一緒だから。
594名無しさん@そうだ選挙にいこう:2010/11/26(金) 19:35:21
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 いいえ(きのうから勉強はじめました)
【4 VBAでの回答の可否】 否(VBAでないと無理であればVBAでの回答お願いします)

ttp://www1.axfc.net/uploader/File/so/54761
PASS: kari
(うpしたファイルは2007ですが、実際に作業するのは2000です)

左側の表に不合格者の一覧、右側の表に合格者の一覧があります。
ただ、たとえば2回受験して1回目不合格、2回目不合格といった人は
左側の不合格者の表、右側の合格者の表両方に含まれています。
これを、「完全に不合格な人」だけを抜き出して表にするにはどうしたらいいでしょうか?
595名無しさん@そうだ選挙にいこう:2010/11/26(金) 19:48:21
>>594
例えばE3に
=COUNTIF(G:G,B3)
として、下にコピー。これで結果が「0」の人が「完全不合格」

ただ、これは何回も受験して何回も不合格の人は重複して抜き出されるね。
596594:2010/11/26(金) 20:00:47
×1回目不合格、2回目不合格→○1回目不合格、2回目合格、でした

>>595
おお!抽出できました!どうもありがとうございます!
597名無しさん@そうだ選挙にいこう:2010/11/27(土) 11:28:10
2007以降のオートフィルターって使いにくい。
1個選択したい時に、事前に「すべて選択」を押さないで良い方法ってないの?
598名無しさん@そうだ選挙にいこう:2010/11/27(土) 21:21:11
関数を使って
A1セルに数字が入力されるとC1からC5までのセルを塗りつぶす
もしくはC5までのセル内の文字の色を変える
ってできますか?
できるなら教えて下さい。
599名無しさん@そうだ選挙にいこう:2010/11/27(土) 21:36:35
>>598
条件付き書式で
c1〜c5セルに
「数式が」「=ISNUMBER($A$1)」と入れる

条件付き書式のやり方については、検索するべし
600名無しさん@そうだ選挙にいこう:2010/11/28(日) 01:13:39
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい・
【4 VBAでの回答の可否】 可・
【5 検索キーワード     】 and 関数 計算式

セルに数式を入れたいことが質問内容です
エクセル表にA列に数値データが入っています。 そのA列データに係数B列記を掛けて C列に
C1=A1*B1のように数式を入れることはできます。 しかし、私はC列に数値データで数機をいれたいです。
たとえば A1=3 B1=2 C1=3*2 ようにC1に A1とB1から「値」を拾って、その値のかけ算をいれたいです。
いろいろ、調べたんですがマクロなしで、できますか? 
もし簡単にできるのでしたらご教授お願いします
601名無しさん@そうだ選挙にいこう:2010/11/28(日) 03:11:29
>>600
よくわからないです・・
C1=A1*B1(一応確認ですがC1の内容が「=A1*B1」ということですよね)とすれば
A1の3とB1の2をかけられます。多分>>600さんの説明がおかしいです
602名無しさん@そうだ選挙にいこう:2010/11/28(日) 07:28:20
>>600
C1をコピーした後、形式を選択して貼り付けではだめなん?
C10000まであったとしても1回で簡単にできるよ

そのくらい知っていて聞いているんだろうから的が外れた回答かも。
603名無しさん@そうだ選挙にいこう:2010/11/28(日) 08:55:04
>>599
やってみます。ありがとうございました。
604複乳:2010/11/28(日) 12:32:56
>>600
文字列と考えればいいよ。
その例だと、C1は「="="&A1&"*"&"B1"」
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
605複乳:2010/11/28(日) 12:34:58
それを形式を選択して貼り付けの値でコピーする。それを計算された状態で表示させる方法は本物の人が教えてくれるよ。
606名無しさん@そうだ選挙にいこう:2010/11/28(日) 12:36:08
>>597
やっぱりだめ?誰か答えて。
607名無しさん@そうだ選挙にいこう:2010/11/28(日) 15:18:08
>>597>>606
フィルターをかける時に、何も表示されないような条件をセットするようなVBAを組んでおく。
608名無しさん@そうだ選挙にいこう:2010/11/28(日) 17:04:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003

質問させてください。
設定した基準値と各参照値A,Bと比較した後に
”買い””売り””見送り”の3種類のいずれかを表示できるように書き上げたつもりなのですが、
覚えのない”0”という値が時々返ってきます。
(サンプルでは、F16、18、25、28がコレにあたります)

何が原因でそうなってるか自分でも分からず、詰まってしまいました。
原因が分かる方、どなたかアドバイスお願いします。

http://loda.jp/0tm/?id=48
609名無しさん@そうだ選挙にいこう:2010/11/28(日) 17:31:43
>608
最後の評価式が空だからだろ
IF(a=b,c,)とすると、a<>bのとき、常にFalse(=0)が返る
610名無しさん@そうだ選挙にいこう:2010/11/28(日) 17:48:21
>>608
数式の一番最後の”偽”が設定されていません。
611608:2010/11/28(日) 18:47:02
ありがとうございます。
合点がいきました。

ただ、私の勉強不足もありましてあれ以上後ろに式を追加すると
「引数の限界・・・」と行った具合のエラーメッセージが表示されてしまいます。

偽の値を設定するにもどう書けばいいのか思いつかない次第です。
重ね重ねで恐縮ですが、アドバイスをもらえないでしょうか?
よろしくお願いいたします。
612名無しさん@そうだ選挙にいこう:2010/11/28(日) 19:27:35
最後の"見送り"の位置が違うだけだよ。
613名無しさん@そうだ選挙にいこう:2010/11/28(日) 21:12:26
>>611
F16の数式の最後。"aaa"が追加したところ。
(中略) $2,D14>F$2),"売り","aaa")))),"見送り")
色々if分岐があるけど、全ての条件でなければこの"aaa"になるっぽい

あと
IF(AND(C17<=F$2,C16<=F$2,C15<=F$2),"買い",
IF(AND(C17<=F$2,C16<=F$2,C15>F$2),"買い",
IF(AND(C17<=F$2,C16>F$2),"買い"
の三行は
IF(C17<=F$2),"買い"
にまとめられたりするから、もっと式短くした方がいいと思う
614名無しさん@そうだ選挙にいこう:2010/11/28(日) 21:19:06
>>607
vbaでは無理でしょ(´・ω・`) やっぱりダメか(´・ω・`)ショボーン
615名無しさん@そうだ選挙にいこう:2010/11/28(日) 21:45:47
windows7,excell2007ユーザーです。

本当に初歩的な質問で恐縮なんですが、A列に日付をずーっと並べて、
今日の日付の行だけ色を変えたいのです。
2007以前のバージョンだとそういうことができたみたいなんですが、
2007だと行単位で色を変えることができない。(日付のあるセルだけ
なら変えられる)。
そういうものなんでしょうか。なんかやりにくくなってるような気がします。
616名無しさん@そうだ選挙にいこう:2010/11/28(日) 21:53:30
>>615
いや、できるから。
B1に「数式を使用して・・・」で
=$A1=TODAY()
上下左右に書式のみコピー
617名無しさん@そうだ選挙にいこう:2010/11/28(日) 21:54:06
上下左右じゃねーか。上下右か・・
618名無しさん@そうだ選挙にいこう:2010/11/28(日) 22:40:27
相談じゃなくて申し訳ないですけど、以前Excelを使って地図を書いてみよう!みたいな
書籍を見かけた気がして、ググっても見つからず。ご存知の方いますか?
619名無しさん@そうだ選挙にいこう:2010/11/28(日) 23:50:27
>>601
説明が下手で申し訳ございません。
>>602
値のはりつけだとだめです。 セルの中に数式が残っていて欲しい
>>604
ありがとうございます。私が欲しい結果と違ったので 教えて頂いた式を改造して以下のようにしました。

="="&A1&"*"&B1&""

そうすると 表示は A1=3 B1=2 の場合 C1の表示は「=3*2」となりました
私がやりたいことは、C1の表示が「6」 でC1セルをクリックしたら 数式で「=3*2」
としたかったんです。

もし、回答に対する質問と判断されたらもうわけございません
620名無しさん@そうだ選挙にいこう:2010/11/29(月) 00:49:48
>>619
多分オプション設定をいじっている

2003しか無くて申し訳ないが
メニューのツール→オプション→表示タブ→ウィンドウオプション
で「数式」にチェックが入ってない?(2007だと違う場所にこのオプションがあると思うけど)
デフォルトでは外れてて、初期の状態が
>C1の表示が「6」 でC1セルをクリックしたら 数式で「=3*2」
になってるんだ
もしかしたらテンプレートか何かいじったんじゃないかな
621名無しさん@そうだ選挙にいこう:2010/11/29(月) 01:44:34
エスパー
>>600はC列の数式をA列とB列の値を使って自動的に書き換えたい
それはVBAを使わないと無理
622名無しさん@そうだ選挙にいこう:2010/11/29(月) 08:08:43
>>619
数式と値の表示を切り替えたいってことか?
キーボードショートカットか、クリックならVBAだな
http://www2.odn.ne.jp/excel/waza/file.html#SEC18
623名無しさん@そうだ選挙にいこう:2010/11/29(月) 15:38:31
【1 OSの種類         .】 Windows*xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】エクセル ログイン 

エクセルの中でログインの機能みたいなのを作って、個人を認証するようにしたいんですけどどうすればいいでしょうか?簡単に関数を使って作成していって最後にボタンで登録(認証)みたいにしたいんですけど、報告書で個人事に使用できるようにしたいんで。
624名無しさん@そうだ選挙にいこう:2010/11/29(月) 18:38:37
>>623
ログインなんてあったっけ?
パスワードでもつけて個人ごとにシート・ブックを分けて、
別ブックでまとめるとか
625名無しさん@そうだ選挙にいこう:2010/11/29(月) 20:12:10
>>623
Workbook_Openイベントでパスワードダイアログ表示
マクロに読み取りパスワードかける
626464:2010/11/29(月) 21:18:45
>551
例のところにうpしました。探してもわからなければ、おたずねください。
627382:2010/11/30(火) 00:30:38
>>626
感謝してもしきれないくらいです。
ありがとうございます!

自分自身でも作れるように
日々精進させていただきます。

改めてありがとうございました!
628615:2010/11/30(火) 08:03:20
>>616
ありがとうございます。一度やってみますね^^
629464,626:2010/11/30(火) 14:59:15
>627
ちょっと修正があります。19,20行目(インポートした後で)の
sort_key1 = sh_s.Range("B6").Value & 2 ←最後の2を tate_i_strt に変更 
sort_key2 = sh_s.Range("B7").Value & 2     同上
にしてください。
出力側のソート部分は変数で指定してたけど、入力側の最初のソートの部分で変更しそこねてました。

あと、疑問点をふたつ・・・
その1 出力先1シート「単月チームランキング」には「グループ名」の列は不要では?
チームの中にグループがあり、グループに個人が属する訳だから、例えるならば、都道府県別
ランキングになぜか市町村名の欄があるようなもの。
その2 出力先3シート「グループ単月ランキング」にはチーム名の欄はあるけどグループ名の欄が
なかったので、B列はグループ名とみなしています。
630名無しさん@そうだ選挙にいこう:2010/11/30(火) 15:11:20
excel2003で会社の日別成績グラフを作ったのですが
支店が5つあり、それぞれに予算・実績・挙績で15本の折れ線グラフになっています
15本ということで若干みずらくなっているのでデータテーブルで数字を載せたいと思ったのですが
挙績だけデータテーブルを表示する方法はありませんか?
631名無しさん@そうだ選挙にいこう:2010/11/30(火) 23:11:38
falseってどう読むのが正解?
”ファルス””フォルス””フォールス”

632複乳:2010/11/30(火) 23:16:16
>>631
フォールスです
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
633名無しさん@そうだ選挙にいこう:2010/12/01(水) 00:33:48
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel vba 複数条件

a b c d e
名前 産地 備考 値段 個数
りんご 青森 直送 200 2
りんご 青森 倉庫経由 180 1
りんご 福島 直送 200 1
みかん 愛媛 直送 100 1
みかん 愛媛 倉庫経由 80 2
もも 岡山 直送 150 1

sheet1に上のような表があり、
sheet2に名前(a列)、産地(b列)が完全合致、備考(c列)が部分合致した行のデータを
引っ張ってくるような形にしたいのですが、どうでしょうか?

例えばsheet2に
a b c
りんご 青森 経由と入力すると、d1に180、e1に1が入力される感じです。
みかん 愛媛 直送なら、d1に100、e1に1です。

実際の表にはe1以降のデータもあり、それも引っ張ってきたいです。
634複乳:2010/12/01(水) 01:26:17
>>633
そのためにオートフィルタという便利な機能があるのじゃ
単に知らなかっただけ?それともそういうふうにしたいこだわりがある?
                
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
635名無しさん@そうだ選挙にいこう:2010/12/01(水) 02:35:35
Select Caseで出来て、Ifで出来ないことってありますか?
636複乳:2010/12/01(水) 03:10:11
>>633
・文字列を結合させてvlooklup
D列に一列挿入して、「りんご青森直送」というセルを作る
sheet1!d3=A3&B3&C3
で、シート2でvlookup
=VLOOKUP(A1&B1&C1,Sheet1!D:F,2,0)

・VBAで検索。A列をforloopで検索、ABC列が探してるものと同じなら・・
って感じで

・2007か2010を導入してsumifs関数。

・SUMIFSを2003で実装
ttp://takashixxx.blog88.fc2.com/blog-entry-27.html

vlookupが一番楽とは思う
637名無しさん@そうだ選挙にいこう:2010/12/01(水) 03:40:24
>>635
ない
638名無しさん@そうだ選挙にいこう:2010/12/01(水) 22:46:39
>>636
有り難うございます。
vlookupで試して見たのですが、
c列の文字が合致していないとエラーが出てしまいます。

633で情報不足していたようで申し訳ないのですが、
備考蘭には実際には英数文字を含めて文字列が入っており、
その中でキーワードとして単語を抽出したくて「部分合致」した検索結果が欲しかったです。

なぜc列が必要かと言うと、a列とb列だけの検索では重複する列が数多くあり、
c列を加えることで重複しなくなるからです。

もしお暇ならご教授お願いします。
639複乳:2010/12/02(木) 01:03:02
>>638
*おおっと*部分一致か、ゴメン。vlookupは使えないな
http://www1.axfc.net/uploader/Sc/so/179269.xls
説明が長いのでアップロードしておいた

test1シートについて
F-H列で、検索したい結果通りなら1が返るようにする
その三列で合計が3ならIJで結果が返り、IJの一行目に答えが返ってくる
IJ列はA-E列と同じだけ伸ばしておいてね。先に65535行目まで入れておいてもいいけどね

test2シート
やってる事は同じ。少し見やすいように変えて、式も1セルにまとめてある

条件は色々増えるようだから、多分test1を改良するのがいいと思う
640名無しさん@そうだ選挙にいこう:2010/12/02(木) 08:11:09
>>639
検索値にヒットした別列の合計が欲しいならDsum関数があるけど。
レコード引っ張りたいならDget関数。

テーブルでデータ保存されてるならDatabase関数おすすめ
641名無しさん@そうだ選挙にいこう:2010/12/02(木) 08:54:47
EXCEL2010です。

小計、中計、大計と集計する時、
3つのキー項目を指定する方法を教えて下さい。
リボンに小計(1項目しか指定できない)しかないのですが・・・
642名無しさん@そうだ選挙にいこう:2010/12/02(木) 12:12:39
>>640
ありがとう。データベース関数覚えてないや
なんか苦手なんだよなぁ
>>641
集計機能での集計。
ttp://www11.plala.or.jp/koma_Excel/contents3/mame3025/mame302502.html
ピボットでの集計。
ttp://www1.axfc.net/uploader/Img/so/101737.jpg
ピボツト使えるように夏他方がいいとは思う
643名無しさん@そうだ選挙にいこう:2010/12/02(木) 14:53:57
誰かexcel2007以外で日付の表示形式を試してくれない?
2010/12/2を平成22年12月2日と表示するなら表示形式はggge"年"m"月"d日"が普通だと思うが
rr"年"m"月"d日"でも同じように表示されることをたった今知ったんだが、これってExcel2003などでも同じ?
また英語版Excelだとrrは何になるのかなぁ。
644名無しさん@そうだ選挙にいこう:2010/12/02(木) 15:42:27
Excel2003でも同じ
645fuku:2010/12/02(木) 17:27:04
2003。rだと22、rrだと平成22が表示されるね
それぞれもう一度見るとeeとgggeeに変わってる
理由は探したけど見つからなかった
646名無しさん@そうだ選挙にいこう:2010/12/02(木) 17:58:49
>>644-645
サンクス。
なるほどgggeeに変わってたのか、そこまで気がつかなかったわ。
647名無しさん@そうだ選挙にいこう:2010/12/02(木) 20:51:00
ちなみにbbbbは仏暦ね。今は2553年だよ〜。こんなのをエクセルで求める人がいるとは思えないけど
648名無しさん@そうだ選挙にいこう:2010/12/02(木) 20:53:47
仏は仏教に関連?それともフランスに関連?
649名無しさん@そうだ選挙にいこう:2010/12/02(木) 21:01:51
フランスはないでしょwwww
650648:2010/12/02(木) 21:22:59
釣れたwwwwwwww
651名無しさん@そうだ選挙にいこう:2010/12/02(木) 21:31:06
開発チームにSGI関係者がいたら池田大作歴とか作るかもな。
652名無しさん@そうだ選挙にいこう:2010/12/02(木) 21:33:19
>>650
馬鹿?
653名無しさん@そうだ選挙にいこう:2010/12/03(金) 00:37:54
「=1+1」という式を設定したセルの値を、
単純に「2」にするにはどうすればいいですか?
654名無しさん@そうだ選挙にいこう:2010/12/03(金) 00:39:45
くだらねえ。馬鹿が住み着いてしまったようだね。
せっかくの良いスレだったのに。
655名無しさん@そうだ選挙にいこう:2010/12/03(金) 01:31:39
>>653
形式を選択して貼り付け、値
656名無しさん@そうだ選挙にいこう:2010/12/03(金) 01:36:58
>>648-650
ワロタ
>>653
コピーして値で貼付け
ショートカットキー作りたいなら
http://www.relief.jp/itnote/archives/002211.php
657名無しさん@そうだ選挙にいこう:2010/12/03(金) 05:04:52
マクロの自動記録について教えて下さい。

自動記録でマクロを組んだのですが、入力されないページがあります。
sheet1です。自動記録の内容は以下の通りです。

sheet4に外部データの取り込み→テキストファイルのインポート→
sheet4にインポートされたデータを並べ替えや、書式設定をしてsheet1
とsheet2に入力します(コピペです)。

完了後、マクロの記録を終了します。

その後、そのマクロを実行したのですが、sheet2には正常に入力されて
(表示されて)いました。しかしsheet1は何も入力されて(表示されて)お
らず、空のセルのままです。

どのような原因が考えられるでしょうか?

sheet1とsheet2に入力(コピペ)したのは数字のみです。それぞれ同じ
数字ですが、並べ替えなどはしていますから順番通りには並んでいま
ん。

先にコピペしたのはsheet1のほうです。完了後、今度はsheet2にコピペ
しました。sheet1のコピペ完了後、sheet2にいく前(移動する前)に何か
操作するべきだったでしょうか?例えば上書きボタンを押すべきだった
など・・・。上書きボタンは押していませんでした。マクロの記録中な
ので押すべきではないと思いました。全ての操作を完了してから最後に
押しました。

Excel2000です。
解決方法を教えて下さいますようお願い申し上げます。
658名無しさん@そうだ選挙にいこう:2010/12/03(金) 06:45:21
自動記録の内容をマクロではなく文章で一生懸命説明しようとしてる○カ
659fuku:2010/12/03(金) 07:25:49
>>657
・ctrl+zで戻した
・別のモノをコピーした
・別の作業をしてコピーの内容が消えた
っていうかそれだけじゃ分からない。
もっかい記録したら?
アップロードしてくれたら調べるよ
まずはステップイン(F8)で確認するといいと思う
>>658
なるほど、>>658のことですね!よくわかりました。ありがとうございました。
660名無しさん@そうだ選挙にいこう:2010/12/03(金) 18:31:35
XPとEXCEL2kでうs
ソニー銀行の人生通帳のような支払予定カレンダーを自作したいと思ってます。
別のシートに年月とクレカ会社の出納簿のようなものがあるので、
カレンダーシートで年月を指定して出納簿から該当のデータを支払日のところに呼び出すってイメージです。
VBAもがんばります。よろしくお願いします。
661fuku:2010/12/04(土) 01:23:38
>ソニー銀行の人生通帳のような
と言われても見たことない人が多いと思うけど。俺も見たこと無いけど。
VBAでfornextを使ってvlookupみたいなものを作って、別シートから引っ張ってくるのが分かりやすいと思う
それか、簿記をちょっと覚えて貸借対照表/損益計算書作った方が早いし勉強にもなりそう
662複乳:2010/12/04(土) 01:27:34
>ソニー銀行の人生通帳のような

わたしも見たことないな
                
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
663名無しさん@そうだ選挙にいこう:2010/12/04(土) 02:14:50
俺も見たことないわ

想像すると、家計簿に何十年も先の予定まで書くみたいな物じゃないのかな
はっきり言っちゃうと、予定通りに進む人生なんて実際にはありえないから

まあ、予想からどれだけ外れたかを振り返って楽しむ物、という考え方もあるけどね
いい大人の作った「よげんのしょ」みたいなね
664名無しさん@そうだ選挙にいこう:2010/12/04(土) 09:00:11
人生通帳って名前は大層ですが、そんな大したもんじゃないです。
一部のクレカ情報をひっぱってきてカレンダーに支払を一覧表示してくれるものです。
一部しか対応してないのが不便なので自分で入力してやりたいなと思いました。
665名無しさん@そうだ選挙にいこう:2010/12/04(土) 09:02:47
666名無しさん@そうだ選挙にいこう:2010/12/04(土) 09:21:40
Excel2010。10MBくらいのシートがやけに重くなってコピペするたびにしばらく
止まったり、異常終了するようになった。しらべてみたら、条件付き書式が
ひとつのセルに同じものが数十個もついてるのがわかった。先月分をコピペ
して追加してるうちに重複して増えたらしい。

ぜんぶ削除するとびっくりするくらい快適動作。困ったときにはお試しください。
667名無しさん@そうだ選挙にいこう:2010/12/04(土) 09:24:13
条件付き書式が無制限に増えたからこういうケースも増えるのかな
でも、なんで数十個もついたのか分からない
668fuku:2010/12/04(土) 10:09:21
>>664>>665
カレンダーなあ。
http://excel-calendar.seesaa.net/article/117268135.html
欲しいならテンプレ使った方がいいと思うよ
もしくはその人生通帳のサイトに要望出すとか。もしかしたら通るかも。
作りたいっていうなら手伝うけど、VBAは何もわかりませんってレベルならやめておいた方がいいわ
669複乳:2010/12/04(土) 10:13:01
>>664>>665
手伝ってあげましょう。ちょっと待っててね。
                
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
670名無しさん@そうだ選挙にいこう:2010/12/04(土) 12:21:59
>>668
ありがとうございます。
日付と支払先・額がイメージできればいいのでカレンダーそのものは適当でいいです。
出納簿が月ごとになってて、そこからカレンダーで指定した月のデータをひっぱってきて
該当する支払先(日付)のところに入れるって感じです。
VLOOKUPでいいような気がするのですがなんかうまくいきませんです。
VBAは、マクロの記録して適当にいじったりはできますが、ゼロから記述は無理です。
671名無しさん@そうだ選挙にいこう:2010/12/04(土) 12:44:19
シートを月ごとにわけるのはやめとけ 管理が面倒になるだけ
入力と出力はわけるのが基本
672670:2010/12/04(土) 13:06:16
シートは月ごとじゃないです。
月ごとに1行の出納簿のシートと、カレンダーのシートの2枚です。
673名無しさん@そうだ選挙にいこう:2010/12/04(土) 15:57:46
>>672
月に一行はダメ
一行に出金か入金一つにしないと
イメージとしては、銀行の紙の通帳と同じ並べ方にする

Excelってのは縦一列に並んだ数字を処理するのが一番得意な構造になってるから、
今はまだ理解できないと思うけど、とりあえず言われた通りにしとけ
674fukuk:2010/12/04(土) 16:44:34
>>670
ttp://www1.axfc.net/uploader/File/so/55123.xls
fornextでvlookupみたいなものってこんな感じで作ればいいわ
応用次第で何でも作れるわ
あとちょっとあなたは説明が下手すぎる。もう少し他人の立場に立って説明して頂戴
675670:2010/12/04(土) 19:07:39
>>673
通帳と同じ並べ方ですか・・
まずそこから考え直さないといけないんでしょうか・・

>>674
たしかに説明下手で通じてないと思います。すいません。

あらためて書かせていただきますと
・現在、クレカの出納簿っぽいものをつけています。(要改造)
・それを利用して、1週x4行的なカレンダーっぽいのをつくれないかと思いました。
(日付の並びは固定でよい)

ひと月1列で、支払日が会社ごとに決まっているので
例えば平成22年12月10日にA社の支払いなら、
カレンダーで「平成22年12月」を指定(選択)すると、出納簿のシートを見て、
「平成22年12月」の行の、左から何番目か(A社の支払額の列)を、
カレンダーの10日のところに張るだけでいいんでないかなと思いました。
676670:2010/12/04(土) 19:21:17
みなさんすいません、できました。
範囲指定と列番号間違ってましたm(_ _)m
677名無しさん@そうだ選挙にいこう:2010/12/04(土) 19:26:17
それだと、何かの理由で月に2回以上支出や入金があったときに、
明細を残せないことになるね。
678670:2010/12/04(土) 19:40:09
そうなんですよね。要改善ですね。
クレカなので月1回の請求と支払が前提です。
679670:2010/12/04(土) 19:49:37
出納簿はクレカが5社も6社もあっても縦一列でやるべきなんでしょうか?
年月と項目と金額で3列かな。
それを>>674さんご指摘の方法で抽出すると。
なんか入力から難しくなりそうな悪寒がしますが・・
680名無しさん@そうだ選挙にいこう:2010/12/04(土) 20:21:34
>>679
その通り。列を増やして、そこに会社名を入れるのが基本

ただ、余計なことを言わせてもらえばクレカを6枚も持つのはちょっとどうかと思う
持つだけならいいとしても、普段から使うのはせいぜい2〜3枚にしとかないと…
681名無しさん@そうだ選挙にいこう:2010/12/04(土) 21:02:02
ピボットテーブルの引き算について教えてください。
集計アイテムとか集計フィールドとかを使うと思うんですが。

日付 区分 金額
1/1  入金 500
1/1  出金 300

というテーブルを元に

日付 入金 出金 残額
1/1  500  300  200

というピボットテーブルはできますか?
いまは出金を-300にして500+(-300)=200で表示してます。
682名無しさん@そうだ選挙にいこう:2010/12/04(土) 21:43:18
>>681
ピボットだけだと無理だと思う
ピボットテーブルを作ったあと、残額の列だけ手動で数式を追加するか、
ピボットテーブルを作る前に作業列に出金をマイナスした物を入れて、そこからテーブルを作るか
683名無しさん@そうだ選挙にいこう:2010/12/05(日) 19:14:50
学校勤務で成績処理で悩んでいるので、質問させてください。

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


観点別評価でA1〜A4にそれぞれA・B・Cの評価が入っている状態です。
AAAAなら5、AABBなら4、BBBBなら3…と評定を出す基準が決まっているのですが、
A5に評定を自動で表示させる技はあるでしょうか?
数字を合計して判別する方法はわかったのですが、アルファベットの個数からの判別は可能でしょうか。
よろしくお願いします。
684名無しさん@そうだ選挙にいこう:2010/12/05(日) 19:47:22
>683
A6セルに下記の式を入れると、3桁の数列(文字なので数字とは書きません)が出ます。
左から"A"の個数、"B"の個数、"C"の個数を連結しただけのものです。
=COUNTIF(A1:A4,"A")&COUNTIF(A1:A4,"B")&COUNTIF(A1:A4,"C")
A1:A4の4個のセルがすべてAなら、"400"・・・という風に組み合わせを調べると全部で15個
400,310,301,220,211,202,130,121,112,103,040,031,022,013,004(見落としはないかな?)
です。それぞれに応じた評定を指定してVLOOKUPとかHLOOKUPとかと組み合わせればできると思う。
今はとりあえず、ここまで。
685684:2010/12/05(日) 20:20:37
>683
続きです。例としてC1:D15の範囲に表を作ります。C列は400,310,301,220,211,202,130,121,112,103,040,031,022,013,004を
あらかじめ書式を文字列にしておいたセルに入力して昇順に並べ、D列はとりあえず上から連番(1〜15)を入れておきます。
A5セルに計算式 =VLOOKUP(A6,C1:D15,2,0) を入れると、A,B,Cの個数に応じた評定が表示されるはずです。
A1:A4の内容を変化させて、問題がないようであれば、D列の内容を本来設定したい評定の内容にしたらいいです。

A6セルを使わず、A5セルで直接全部処理したいのであれば、式が長くなるけど
=VLOOKUP(COUNTIF(A1:A4,"A")&COUNTIF(A1:A4,"B")&COUNTIF(A1:A4,"C"),C1:D15,2,0)
こんな感じでいいと思います。(当方、Excel2003で確認済)
686名無しさん@そうだ選挙にいこう:2010/12/05(日) 20:54:28
>>684>>685
>>683です。
ありがとうございます!!できました!!
これで2学期の成績間に合います!!

ここの人ほんと凄いです…。
関数もっと勉強します。
687684,685:2010/12/05(日) 20:59:27
>686
実際に使うときは、A,B,Cの個数の組み合わせと評定の表(例ではC1:D15の部分)の範囲は
$C$1:$D$15 みたいに、絶対座標指定(って言うのかな?)をしてください。
コピーしても内容がズレません。
あと、くれぐれも間違いのないようにお願いしますよ。大事な生徒さんの将来を左右するかも
しれないので。
688名無しさん@そうだ選挙にいこう:2010/12/05(日) 23:22:13
質問です。
NO.54623を54623のように数字だけにしたい時はどうすればいいですか?
検索しようがないと言うか、お願いします。
689名無しさん@そうだ選挙にいこう:2010/12/05(日) 23:28:49
>>688
関数で?
=SUBSTITUTE(A1,"NO.","")*1

直接だったら、置換とか
690名無しさん@そうだ選挙にいこう:2010/12/05(日) 23:31:43
>>689すいません。複雑じゃなくてただ数字だけにしたくて。
A2にTEL88544だったら88544だけ数字を取りたいです。
691名無しさん@そうだ選挙にいこう:2010/12/05(日) 23:38:05
>>690
置換じゃだめなの? TELだかNO.だかをブランクに置換すればOK
692名無しさん@そうだ選挙にいこう:2010/12/05(日) 23:46:58
>>691すいません。置換って意味ですか。検索してみます。ありがとう。
693名無しさん@そうだ選挙にいこう:2010/12/05(日) 23:53:20
>>690
数字の前のアルファベットが「TEL」の他にも何種類もあるのかな?

数字の前のアルファベットの文字はバラバラだけど文字数が固定されているのであれば
LEN関数とLEFT関数またはRIGHT関数を使えばいけるかも
「TEL88544」ならアルファベット3文字なので
数式=RIGHT(A2,(LEN(A2)-3) で88544だけ抜きだせる。

他には抜き出したい部分が数字のみで構成されているのなら>>691の言うとおり
置換でA〜Zをブランクに変えていけば最大26回で数字だけが残る。

勘違いしてたらごめんなさい。
694名無しさん@そうだ選挙にいこう:2010/12/06(月) 00:15:23
>>693サンクス 文字としてならrightとかでいいんですけど数字が左寄りになってしまうので。
数字入れるとセルの中で右寄りになりますからね。それでいいました。
すいません。TELってのは例で言っただけでそれ自体には意味はありません。
ありがとうございました。
695名無しさん@そうだ選挙にいこう:2010/12/06(月) 06:56:53
>>694
rightでも数式の最後に*1を>>689のように付け加えれば数値扱いになって右寄りになるよ
ただし電話番号みたいにあたまが0だと消えちゃうけど
696名無しさん@そうだ選挙にいこう:2010/12/06(月) 08:06:41
>>673
> Excelってのは縦一列に並んだ数字を処理するのが一番得意な構造になってるから、
> 今はまだ理解できないと思うけど、とりあえず言われた通りにしとけ

こういう暗黙のルールみたいなのってどこかに一覧ないですか?
697641:2010/12/06(月) 08:37:18
>>642
レスありがとうございます。

ご回答のホームページ(集計機能での集計)の2番目に書かれている
「並べ替え」(集計キーを3つ指定できる)の画面(相当のもの)を
EXCELe2010で表示するには、どうすれば良いのでしょうか?
698名無しさん@そうだ選挙にいこう:2010/12/06(月) 10:44:14
【1 OSの種類         .】 Windows7 x64
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 わからない
【4 VBAでの回答の可否】 できれば否、使用しないと無理ならば可
【5 検索キーワード     】 Excel 数え上げ 集計


Excelの表組みが、例えば、

| 3 | Firefox  |
| 2 | Opera  |
| 6 | Firefox  |
| 1 | Chrome |

となっているものを、Firefoxはいくつか、Opera、Chromeはいくつかを数え上げて

| 9 | Firefox  |
| 2 | Opera  |
| 1 | Chrome |

のように集計結果(同一文字列の行を足し合わせたもの)を出力したいのですが、
よろしければどういった方法で行えばいいのか、教えてください。よろしくお願いします。
699fuku:2010/12/06(月) 11:07:44
>>696
「データ 正規化」でぐぐれ
他にはデータベースソフト(アクセスなど)を一度使ってみるといいかも知れない
第○正規化とか色々あるけど、第一正規化だけでも知っておけば全然違う
やりすぎると手間がかかるので、まあ程々に。
>>697
2010は手元にないんだよなぁ。2003以前だと
↓の二枚目の画像の通り、データ→並び替え、になるんだけど。無いのかな
ttp://www.ncm07.jp/EXCEL-database/blog/excel_coffee_break/2010/07/post-45.html
700名無しさん@そうだ選挙にいこう:2010/12/06(月) 11:56:18
>>698
ピボットテーブルを使う
701名無しさん@そうだ選挙にいこう:2010/12/06(月) 13:23:09
画面サイズが1366x768だと、Excel 2010の全画面表示で何行目まで表示されますか?
702名無しさん@そうだ選挙にいこう:2010/12/06(月) 19:59:11
>>698
関数ならsumifを使う。

上でも出ているけど、ピボットテーブルが最強に便利
703名無しさん@そうだ選挙にいこう:2010/12/06(月) 21:09:33
経過時間を、「◯日と△時間□分◇秒」と表示させたいのですが、どういうユーザー定義にすればいいんでしょうか?

       A
1| 2010/11/14 23:33:15 |
2| 2010/11/23 12:46:09 |

例えばこういったセルがあったときに、「A2-A1」を計算すると、差分が出てきますよね?
そこで、[h]:mm:ss のユーザ定義を使うと、差分が「△時間□分◇秒」で表示出来ると思うのですが、
それを、「◯日と△時間□分◇秒」 という表示にしたいのです・・・
704名無しさん@そうだ選挙にいこう:2010/12/06(月) 21:15:31
>>703
d"日と"hh"時間"mm"分"ss"秒"
705fuku:2010/12/06(月) 21:21:07
>>701
まぁ35前後だと思いますが、PC屋の店頭の機械さわらせてもらうのがいいと思います
人によって色々、メニューバーの有無や拡大率、行の幅を変えている可能性が有りますので
偶然同じ環境であったとしても違う結果が返ってくる可能性が有りますので
706名無しさん@そうだ選挙にいこう:2010/12/06(月) 21:22:41
>>704
ありがとうございます、出来ました。助かります。
707kafu:2010/12/07(火) 16:53:52
お願い致します。
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可、極力なしでできればと思います。
【5 検索キーワード     】 Excel 重複 
  A
1りんご
2すいか
3なし
4めろん

上記入力していく際、A5に再度すいかと入力した場合に重複したキーワードのセルに色が付いたり
ポップアップで教えてくれたりという機能はありますでしょうか?
抽出が出来る事は分かっております。
何卒宜しくお願いします。
708名無しさん@そうだ選挙にいこう:2010/12/07(火) 17:56:33
>>707
条件付き書式で
=(COUNTIF(A:A,A1)>1)
709kafu:2010/12/07(火) 18:15:39
>>708
ありがとうございました。感謝です。
早速試してみます。
710名無しさん@そうだ選挙にいこう:2010/12/07(火) 18:29:09
>>708逆にBにもすいか、めろんとかあったらどうなるんですか?
=(COUNTIF(A:B,A1)>1)とかですか?
711fuku:2010/12/07(火) 18:52:50
>>707
条件付き書式で「数式が」
=1<COUNTIF($A$1:A1,A1)
A1に入れて、適宜下にコピー

ちなみに値や数式が入っていても、
コピーで値を貼付けの書式で条件付き書式を設定できる
枠線とか消えるけど
712名無しさん@そうだ選挙にいこう:2010/12/07(火) 20:53:25
初歩的な関数の使い方や入力の仕方などに
関する質問はここではNGですか?
713名無しさん@そうだ選挙にいこう:2010/12/07(火) 21:07:42
>>712
とくにルールはないけど回答者は気まぐれ
714名無しさん@そうだ選挙にいこう:2010/12/07(火) 21:13:10
【1 OSの種類         .】 WindowsVista 64
【2 Excelのバージョン   】 Open office
【3 VBAが使えるか    .】 使えない
【4 VBAでの回答の可否】 できれば否、使用しないと無理なら可能
【5 検索キーワード     】 @open office 標準偏差 Aopen office 残差
A
1.8
4.2
5.8
6.1
この4行をグラフにし、散布図にします。そのあと、トレンド線(回帰直線)を挿入します。
このトレンド線(回帰直線)までの残差を数値で出すことは可能でしょうか?また、標準偏差の数値を出すことは可能でしょうか?
715名無しさん@そうだ選挙にいこう:2010/12/07(火) 22:34:59
>>713
分りました、ありがとうございます。
716名無しさん@そうだ選挙にいこう:2010/12/07(火) 22:59:26
>714 OpenOffice,Calcに関する質問は↓へどうぞ ここはExcelのスレです。
LibreOffice/OpenOffice.org 総合相談所 8
http://hibari.2ch.net/test/read.cgi/bsoft/1288762209/l50
717714:2010/12/07(火) 23:18:39
>>716
わざわざ誘導ありがとうございます。そちらで質問してきたいと思います。申し訳ありませんでした
718名無しさん@そうだ選挙にいこう:2010/12/09(木) 12:32:24
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ユーザーフォーム 自動実行

ある処理をマクロでさせているのですが、実行するかどうかをユーザーフォームを使って、
はい、いいえで選択させています。
これを、なにも押さなければ、10秒後に自動実行みたいに変えたいと思います。

Application.Ontimeでやろうとしたのですが、うまくできません。
よい方法があれば教えてください。
719名無しさん@そうだ選挙にいこう:2010/12/09(木) 12:53:49
>>718
フォームをモードレスにする
720名無しさん@そうだ選挙にいこう:2010/12/09(木) 17:16:58
ユーザーフォームをモードレスで立ち上げるようにしてみましたが、うまくできません。

Application.OnTimeでやるには、根本的に間違ってる気がしてます。
こんな感じでコード書いてますが、いいえを押しても押さなくても、10秒後には実行されてしまいます。
コードを見ると当然のように思いますが・・・ ほかに方法がわかりません。

Private Sub UserForm_Initialize()
Dim waittime
waittime = Now() + TimeValue("00:00:10")
Application.OnTime waittime, "実行するマクロ"
End Sub

Private Sub はい_Click()
Call 実行するマクロ
Unload ユーザーフォーム
End Sub

Private Sub いいえ_Click()
Unload ユーザーフォーム
End Sub
721名無しさん@そうだ選挙にいこう:2010/12/09(木) 18:08:35
>720
10秒後に実行するのは「実行するマクロ」ではなくて、実行するかどうかチェックするマクロ
ではないでしょうか?
フォームを表示した時点でマクロの変数か、どこかのセルに「実行する」状態をセットし、併せ
て10秒後に「実行するかチェックするマクロ」を実行するようにしておきます。

フォームの「はい」をクリックしたら「実行しない」状態をセットしてから実行したいマクロを
実行し、「いいえ」をクリックしても「実行しない」状態をセットしてフォームを閉じるように
したらいいのではないでしょうか?
なにもしない状態で10秒経過すると「実行するかチェックするマクロ」が起動し、「実行する」
状態をチェックし、本来の実行したいマクロを呼び出す訳です。
722名無しさん@そうだ選挙にいこう:2010/12/09(木) 19:17:32
ページ全体にあるhttp・・・とうアドレスを全部リンクしたいんですができますか?
リンクの仕方自体はわかったのですが、大量に一度にというのがわかりません。
723名無しさん@そうだ選挙にいこう:2010/12/09(木) 19:45:17
>>722
データの区切り位置でそのままOKにすればリンクが貼られるよ
724名無しさん@そうだ選挙にいこう:2010/12/09(木) 21:53:49
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ユーザーフォーム 自動実行

【添付図】 ttp://deaimail.from.tv/up/src/up3425.jpg
ユーザーフォームのイメージボックスでの質問です。
添付図のようにイメージボックスに表示させる画像ファイルを選択し、表示させた後
テキストボックスに書かれた文字をファイル名にして画像をデスクトップに
保存させたいのですが、

保存させるときの記述で
Image1.picture.saveas filename := ・・・の後の表記をどのように書けば良いか分かりません。
どなたか知恵をお貸しください。
725名無しさん@そうだ選挙にいこう:2010/12/09(木) 21:59:44
>>724
TextBox1.Text
とかじゃないの?
726名無しさん@そうだ選挙にいこう:2010/12/10(金) 01:15:04
IFERRORかよ。
>>165はExcel2007以降ってどっか書いてる?
さすがに最近は2003以前のユーザーより多いのかねぇ。
727名無しさん@そうだ選挙にいこう:2010/12/10(金) 01:16:25
誤爆すまん、ここは総合相談所だった。
728722:2010/12/10(金) 01:26:19
既にエクセルにあるアドレスということです。
729名無しさん@そうだ選挙にいこう:2010/12/10(金) 02:22:11
>>728
URLが大量にあるんならVBA使った方が早い

Sub aaa()
  With ActiveSheet
    For Each c In .UsedRange.Cells
      If Left(c, 7) = "http://" Then
        .Hyperlinks.Add Anchor:=c, Address:=c
        c.Font.Underline = xlUnderlineStyleSingle
        c.Font.ColorIndex = 41
      End If
    Next
  End With
End Sub
730名無しさん@そうだ選挙にいこう:2010/12/10(金) 06:37:16
>>728
=HYPERLINK(A1)で下にコピー

731名無しさん@そうだ選挙にいこう:2010/12/10(金) 07:57:20
いまどき2007つかってないひとなんているの?
732名無しさん@そうだ選挙にいこう:2010/12/10(金) 09:04:49
職場はまだ2000と2003。2007は使いにくかったので導入していない
バンドルでついてこない限り買い換える理由がない
スライサーとかsumifsとか便利そうな機能はあるんだけどねー
無くても何とかなるしなぁ
733名無しさん@そうだ選挙にいこう:2010/12/10(金) 09:23:56
今日日2010だろjk
734名無しさん@そうだ選挙にいこう:2010/12/10(金) 09:40:50
俺は2010使うときだけコンパネで日付を1年戻して使ってるぜ。
評価期間が過ぎたとか怒られるんでね。
735名無しさん@そうだ選挙にいこう:2010/12/10(金) 11:59:47
うちはPC3台に入ってるのが2003(モバイル)、2007(自分のデスク)、2010(親の)とバラバラ
どれもまんべんなく使ってて、それぞれ一長一短て感じだけどな
736名無しさん@そうだ選挙にいこう:2010/12/10(金) 12:29:50
構造化テーブルつかうと もう古いバージョンに戻れないよね
737名無しさん@そうだ選挙にいこう:2010/12/10(金) 12:37:16
>>736
だな。便利だもんねぇ。
738名無しさん@そうだ選挙にいこう:2010/12/10(金) 13:45:28
>>737
kwsk
739名無しさん@そうだ選挙にいこう:2010/12/10(金) 16:25:46
>>738
ぐぐればいくらでも出てくるだろ?
740名無しさん@そうだ選挙にいこう:2010/12/10(金) 16:42:53
>>739
出てこないから聞いておるのだ
741名無しさん@そうだ選挙にいこう:2010/12/10(金) 17:45:29
あまり詳しくは書かれてないが一応ヘルプにも載ってるぜ。
Microsoft Office Excel 2007 の新機能→テーブルの拡張。

俺はセル範囲を指定しなくて済むので重宝してる。
742名無しさん@そうだ選挙にいこう:2010/12/10(金) 17:56:03
>>741
持ってないから聞いておるのだ
743名無しさん@そうだ選挙にいこう:2010/12/10(金) 18:03:46
>>740
嘘つけ
出てくる
744名無しさん@そうだ選挙にいこう:2010/12/10(金) 18:06:03
>>742
おまえには無理だから知らなくていい
745名無しさん@そうだ選挙にいこう:2010/12/11(土) 03:58:21
重複する行だけを削除する方法はどうすればいいのでしょうか?

AAA
ABB
ABC
AAA
ABB

というデータがあった場合、これを、

AAA
ABB
ABC

と、重複しているものだけ消して一つにまとめたいのですが・・・
746名無しさん@そうだ選挙にいこう:2010/12/11(土) 04:19:31
>>745
Excelのバージョン書いてね
747745:2010/12/11(土) 06:35:41
すみません。Excel 2007です。
748名無しさん@そうだ選挙にいこう:2010/12/11(土) 07:35:23
>>747
データで重複の削除
749名無しさん@そうだ選挙にいこう:2010/12/11(土) 07:39:03
いまどき「すみません」なんて正しい日本語使えるとは感心だ。
2007なら重複の削除ってあるだろ?
750728:2010/12/11(土) 17:44:37
レスくれた人ありがとうございます。

729さんの方法でなんとか全部にリンクできました。
751745:2010/12/11(土) 21:11:24
ありがとうございます。出来ました。
752名無しさん@そうだ選挙にいこう:2010/12/11(土) 21:25:26
URLが大量にあるんならVBA使った方が早い

Sub aaa()
  With ActiveSheet
    For Each c In .UsedRange.Cells
      If Left(c, 7) = "http://" Then
        .Hyperlinks.Add Anchor:=c, Address:=c
        c.Font.Underline = xlUnderlineStyleSingle
        c.Font.ColorIndex = 41
      End If
    Next
  End With
End Sub

↑これでリンクできたんですが、いままでと違ってクリックしてもリンクの
色が変わらなくなってしまいました。対処法をお願いします。
753名無しさん@そうだ選挙にいこう:2010/12/12(日) 01:25:27
>>752
この2行削除してもう一度実行
c.Font.Underline = xlUnderlineStyleSingle
c.Font.ColorIndex = 41
754名無しさん@そうだ選挙にいこう:2010/12/12(日) 02:20:35
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 ×

   A列   B列
1  名前  購入品
2  小林  茶碗
3  遠藤  帽子
4  安田  バット
5  安田  PS3
6  小林  パソコン
7  樋口  PS3
8  小林  茶碗
9  安田  指輪

こういう表があったとして、名前ごとの購入品の種類数を出すにはどうすれば良いのでしょうか?
755名無しさん@そうだ選挙にいこう:2010/12/12(日) 03:21:17
>>754
C1=A1&B1ってしてC列で重複データを削除したあとA列をピボットで集計
756名無しさん@そうだ選挙にいこう:2010/12/12(日) 10:04:55
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 ○

毎月、カテゴリーごとの予算額と実績の差異を直近4ヶ月分出さなければならないのですが、
引っ張ってくるEXCELデータが予算額と実績しか記述されておらず、
わざわざ手動で=実績−予算額を求め、ピボットで集計している状態です。
これを効率よく求める方法はありますでしょうか?

引っ張ってくるEXCELデータの例は下記になります。
(例)4月分
カテゴリー 名前  4月予算額 ・・・7月予算額 4月実績・・・7月実績
果物    りんご 500円      500円   500円    800円 
果物    ばなな 500円      400円   300円    400円
野菜    トマト 100円      600円   600円    300円
  5月分
カテゴリー 名前  5月予算額 ・・・8月予算額 5月実績・・・8月実績
果物    りんご 500円      500円   500円    800円 
果物    ばなな 500円      400円   300円    400円
野菜    トマト 100円      600円   600円    300円
757名無しさん@そうだ選挙にいこう:2010/12/12(日) 10:20:02
>>755
俺だったらわざわざ重複削除したりしない
名前縦、購入品横で購入品数をピボットで集計すれば、
購入品数の手動COUNTで種類数は出る
758名無しさん@そうだ選挙にいこう:2010/12/12(日) 10:39:48
>>756
>手動で=実績−予算額を求め、ピボットで集計
この作業をマクロで記録して保存
次からこのブックにコピーしてマクロで一発じゃないのん
759名無しさん@そうだ選挙にいこう:2010/12/12(日) 11:07:33
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

写真サイトやニコニコ動画などで使われているキーワードタグのような
データ形式をExcelで再現する場合、定番の方法などありますでしょうか?

つまり、任意にタグを追加できて、
そこから重複検索するのに適したデータ形式を求めています。

タグ用の列を10個なり固定で持たせればOKな気がするのですが
もしもっといい方法がありましたらよろしくお願いします。
760名無しさん@そうだ選挙にいこう:2010/12/12(日) 11:38:22
固定で持たせると増えたときが面倒だし減ったときに無駄
ファイル名−タグ1
ファイル名−タグ2
みたいに縦2列がいいと思う
761名無しさん@そうだ選挙にいこう:2010/12/12(日) 12:03:34
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 office 2007
【3 VBAが使えるか    .】 使えない
【4 VBAでの回答の可否】 できれば否、使用しないと無理なら可能
【5 検索キーワード     】 excel 範囲 操作 関数

範囲名(外部インポートしたもの)からその範囲の一行目
(フィールド行)のみを取得できないでしょうか?
最終目的はVLOOKUPの取得列のインデクス指定を
MATCH({フィールド名記述セル},{フィールド行},FALSE)とすることで
動的に行うことです。フィールド行の範囲を手動で指定するのではなく
FirstRow({範囲名}) ←実際にはない関数だと思います
で一行目が返ってくるような範囲の選択操作が行えないかと思い
最初の質問をしました。vba利用や外の解決手段でもかまいません。
762複乳:2010/12/12(日) 12:21:51
今年もお世話になりました
来年もよろしくお願いします
よいお年を
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
763名無しさん@そうだ選挙にいこう:2010/12/12(日) 12:35:56
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 検索したけど、解決できませんでした。excel2010 ポップアップ 関数 入力

EXCEL 2010をWin7とビスタの2台で使っています。
Windows7のとき、関数を手入力すると関数の入力要素が表示されます。
たとえば、=eomonthと入力すれば、(開始日、月)みたいにカッコつきで表示されるため関数入力が非常に楽にできます。

 一方、ビスタで使うときは、=eomonthと入力しても、カッコつきの入力要素が表示されないために上手く
関数入力ができないです。おそらくビスタOSの設定に起因しているとも思うのですが、関数を手入力したときに
カッコつきで入力要素が表示されるようにすることは可能でしょうか。

ご存知の方いらしたら、ぜひご教授いただきたいです。
どうぞ、よろしくお願いいたします。
764名無しさん@そうだ選挙にいこう:2010/12/12(日) 12:55:22
>>761 構造化テーブルをつかう
765759:2010/12/12(日) 12:57:08
>>760
>固定で持たせると増えたときが面倒だし減ったときに無駄
まさしくその通り
なるほどタグに特化すれば縦2列も悪くなさそうです。

ただ記入日などの固定データを増やすと
データの重複が多くなってしまうので
そこは割り切るしかなさそうですね。
766名無しさん@そうだ選挙にいこう:2010/12/12(日) 13:15:49
>>765
そういうのはタグとは別にテーブルをつくる
ファイル名かファイルIDでリレーションさせればいい
767763:2010/12/12(日) 13:44:36
解決しました。
768759:2010/12/12(日) 13:59:28
>>766
イメージできてきました。
ありがとうございます。
769名無しさん@そうだ選挙にいこう:2010/12/12(日) 15:34:22
Excel 2007

1000行4列のデータがあり、そのうち1000行3列のデータでグラフを作成したいのですが、
マウスのドラッグで選択範囲を指定するとスクロールに時間がかかります。

一気に前データ範囲を指定する方法はないですか?
770名無しさん@そうだ選挙にいこう:2010/12/12(日) 15:44:43
>>769
範囲が正確にわかってるなら、先にグラフを挿入してから「データの範囲」を開いて「A1:C1000」みたいに
キーボードから打ち込めばいい
Ctrl+Endで一気にラストまで飛ぶとか、Ctrl+Homeでシートの先頭にジャンプする機能なんかもあるから
そういうのを活用する
データがA1から始まってるんなら、まずラストに飛んでから、Shift+Ctrl+Homeで一気に選択できる
771>>769:2010/12/12(日) 15:45:33
意外とみんな知らない基本技
[Ctrl]+[Shift]+"*"
772>>769:2010/12/12(日) 15:46:27
で、Shift押しながら[←]1回
773名無しさん@そうだ選挙にいこう:2010/12/12(日) 15:52:34
結構ショートカットキーは好きだけど、>>771のは知らんかった。
CurrentRegionって感じなのね
774名無しさん@そうだ選挙にいこう:2010/12/12(日) 16:13:10
できました。
ありがとうございました
775名無しさん@そうだ選挙にいこう:2010/12/12(日) 18:35:18
[Ctrl]+[Shift]+"*"

なにもおこらないんですが
776名無しさん@そうだ選挙にいこう:2010/12/12(日) 19:04:33
>>775
テンキーの*じゃないよ。
777名無しさん@そうだ選挙にいこう:2010/12/12(日) 20:46:46
ABCDのうちABCを選択したい場合はCtrl+*、Shift+左
BCDを選択するにはB1を選択したあとShift+Ctrl+End
778名無しさん@そうだ選挙にいこう:2010/12/12(日) 21:51:09
>>776
じゃあなんの*?
779名無しさん@そうだ選挙にいこう:2010/12/12(日) 21:53:40
>>778
:(け)
780名無しさん@そうだ選挙にいこう:2010/12/12(日) 22:00:08
[Ctrl]+[Shift]+[け]
781名無しさん@そうだ選挙にいこう:2010/12/12(日) 22:21:21
フルキーの*はShift押さないと出ないからな
まあ正確に書くなら「Ctrl + Shift + : 」または「Ctrl + *」ってとこかな
782名無しさん@そうだ選挙にいこう:2010/12/12(日) 22:52:27
Excel2007の、ピポットテーブルのフィールドの設定に
「行方向の比率」がリストの中にないのですが、何か理由はありますか?
(データによりリストに出ないことがあるなど)

フィールドの設定ウィンドウの、計算の種類の下にあるリストBOXの一覧に
ないということです。列方向の比率はあります。
783名無しさん@そうだ選挙にいこう:2010/12/13(月) 00:03:12
「Ctrl + Shift + : 」 「Ctrl + *」ってフィルタオプションのリスト範囲じゃ効かないのね。
矢印2回かぁ。
784名無しさん@そうだ選挙にいこう:2010/12/13(月) 07:14:04
質問です。
色々なワードが並んだデータがあり、このデータをある法則で置換したいのですが、その法則が、

Me、2000、XP、Vista、7 という名前のセルは「Windows」
Panther、Tiger、Leopard、Lion という名前のセルは「Mac」

としたいです。これをExcelで行うにはどの機能を使えばいいでしょうか?
(Excelでなくてもいいのですが、Excelで行うのが適切なのかな、と)

OSはWindows7、バージョンはExcel 2007、VBAは使用したことは無いですが、
使わなければ不可能ならば、可です。よろしくお願いします。
785名無しさん@そうだ選挙にいこう:2010/12/13(月) 10:11:57
>784
>(Excelでなくてもいいのですが、Excelで行うのが適切なのかな、と)
実際の処理対象となるデータは何ですか? CSVファイル? 単なるテキストファイル?

実際の処理対象のワードって数百種類?数千種類?
例にあげられた程度で、本当に「置換」するだけでいいのなら 検索/置換だけで済みますよ。
[Ctrl]+[H] で検索文字列、置換文字列を指定するだけ、>784ならばこれを9回繰り返すだけ。
786名無しさん@そうだ選挙にいこう:2010/12/13(月) 11:40:11
わが社の40過ぎたおっさん社員にエクセル仕込みたいのですが、一体どうすりゃ良いでしょう。
おっさんのレベルは、文字は打てる、ファイルとフォルダって何が違う?関数なにそれ?ってくらいです。
787名無しさん@そうだ選挙にいこう:2010/12/13(月) 12:09:10
>>786
Excelに限らず、人に何かを教えるには「教える」という技術が必要
Excelがどんなに詳しくても教える技術がなければ無謀
教え方が悪いと教えられる方も混乱するだけ

どうしてもやらなくちゃいけないのなら、
何から順番に教えるかってのが結構重要なので、
初心者向けの入門書を買ってきて、それを教科書として
最初のページから順番にやらせてみたら?
788784:2010/12/13(月) 13:17:10
>>785
レスありがとうございます。
データはテキストファイルですが、カンマ区切りなのでExcelでも読める状態です。

例は、2種類しかあげていませんが、手動の置換を繰り返すのは骨が折れる数あります。

Me、2000、XP、Vista、7 : 「Windows」
Panther、Tiger、Leopard、Lion : 「Mac」
Firefox、Chrome、Opera : 「Browser」
Google、Yahoo!、Bing : 「Search」
...

のような感じで数百個あり、理想としては、A列に「置換先のワード」、B列以降に「マッチさせるワード」を置いて、
そのシートを元に置換を行えたらな、と思ったのですが・・・
789名無しさん@そうだ選挙にいこう:2010/12/13(月) 13:45:39
>>788
本来ならsedとか使う領域だな
ExcelでやるならVBA使わないと無理
790名無しさん@そうだ選挙にいこう:2010/12/13(月) 13:47:21
>>788
カンマ区切りになってるなら1セルに1単語になると思うんで
A列に「置換先のワード」、B列以降に「マッチさせるワード」を置いた表を作って
Vlookupで参照したらどうだろう
791784:2010/12/13(月) 14:01:49
>>789>>790
ありがとうございます。

色々Excelで試してみたんですが、もしかして、正規表現使って秀丸のreplaceマクロで処理すれば・・・
と思ってやってみたら、そっちで出来そうでした orz

レスありがとうございました。
792名無しさん@そうだ選挙にいこう:2010/12/13(月) 14:07:18
>>791
excelにこだわらないんならフリーソフト使ったほうがいいんでは
ttp://www.ne.jp/asahi/hishidama/home/tool/textconv.html
793784:2010/12/13(月) 14:18:39
>>792
ありがとうございます。いいですね!見てみます。
794名無しさん@そうだ選挙にいこう:2010/12/13(月) 15:15:25
>>753
目的の動作ができました。m(_ _)m
795名無しさん@そうだ選挙にいこう:2010/12/13(月) 15:45:53
質問です。

A5 9
A6 11
A7 4
A8 7
A9 2 と特定のセル範囲に数字があってそれを横に

C3 D3 E3 F3 G3
2  4  7  9 11   と並べ替えたいのですがどのようにすればいいですか?
RANK関数しかないでしょうか?
796795:2010/12/13(月) 15:47:58
すいません EXCEL2007です
797名無しさん@そうだ選挙にいこう:2010/12/13(月) 16:04:28
>>796
ソートしたあと行列を入れ替えて貼り付け、とか
798名無しさん@そうだ選挙にいこう:2010/12/13(月) 17:20:07
行列を入れ替えて貼りつけてからソート。
これなら元のデータが残るぜw
799名無しさん@そうだ選挙にいこう:2010/12/13(月) 17:25:45
その程度のデータ数ならSMALL関数でもいいな。
=SMALL($A5:$A9,COLUMN(C1))
ただし数千、数万だったら重くて駄目だからやはりソート。
800名無しさん@そうだ選挙にいこう:2010/12/13(月) 17:42:31
あまり横に長いと見渡せないからあってもせいぜい数十までだろうな。
SMALLで十分だな。
801名無しさん@そうだ選挙にいこう:2010/12/13(月) 18:38:14
みなさんありがとう>>795です。
>>799くぐりました。 コラムの所は番号でいいんですね。
しかしコラムって初心者には難しですねw ありがとう。
802名無しさん@そうだ選挙にいこう:2010/12/14(火) 12:08:19
条件付き書式によってセルの色を変えた後、
その色を固定することって出来ますか?

例えば「A列で重複しているセルを赤く」という条件付き書式にした場合、
重複セルを消して重複していないように変えると、色が消える訳ですが、
一度着色したら、重複を消しても色が残るようにしたいです
803名無しさん@そうだ選挙にいこう:2010/12/14(火) 12:22:15
書式で貼りつけ
804fuku :2010/12/14(火) 13:04:24
>>802
マクロ以外無理。
http://oshiete.goo.ne.jp/qa/2415760.html
以前これの完成版をどこかで見たが忘れた。ぐぐって探してくれ
805名無しさん@そうだ選挙にいこう:2010/12/14(火) 13:56:58
>>802-804
作業列と反復計算使えば条件付き書式のみでも出来なくはないが、いつも反復計算にしてるわけにはいかないから実用的じゃねーな。
ブックレベルで設定出来ればいいが出来ないからな。
806名無しさん@そうだ選挙にいこう:2010/12/14(火) 14:13:46
Excel 2007で「重複の削除」を、大文字小文字を区別して行いたいんですが、
どのようにすればいいのでしょうか?
807名無しさん@そうだ選挙にいこう:2010/12/14(火) 15:05:28
質問させてください。

1月 2月 3月 ・・・
a1  a3  a1
a5  a7  a4
a23 a44 a20
a44     a21
       a23

のようなデータが一年分あり、a1 から a100 までの、月の内訳を出す為に

   1月 2月 3月 ・・・ Total
a1  1      1 ・・・  2
a2           ・・・  0
a3     1     ・・・  1
a4         1 ・・・  1
a5  1        ・・・  1
...                ...

のような表を作成したいのですが、ピボットテーブルによって、
・ALL(a1からa100が並んだ行) → 行ラベル
・1月〜12月 → 値ラベル、データの個数

としても、正しく内訳が出来ません。何が間違っているかわかりますか?
もしくは、別の方法があれば教えてください。よろしくお願いします。
808名無しさん@そうだ選挙にいこう:2010/12/14(火) 15:34:14
>>807
元のデータを↓みたいにしないといけないんじゃないの?

月 データ
1月 a1
1月 a5
1月 a23
1月 a44
2月 a3
2月 a7
2月 a44
3月 a1
3月 a4
3月 a20
3月 a21
3月 a23
809名無しさん@そうだ選挙にいこう:2010/12/14(火) 15:59:49
初心者です
只今PCに最初から導入されているエクセルソフトが諸事情で使用出来ないため
キングソフトのoffice2010を購入しインストールして使用しております
その際貼り付け等した場合に『かばん』が表示されると思うのですが、このソフトは
表示されません。かばんの表示方法を教えていただけませんか?
これをクリック出来ないと作業が進みません…
よろしくお願いいたします
810名無しさん@そうだ選挙にいこう:2010/12/14(火) 16:13:40
>809 スレ違いです、こちらでおたずねください。
【MS互換】KINGSOFT Office Part4【VBA対応】
http://hibari.2ch.net/test/read.cgi/bsoft/1239522563/l50

ところで かばん って何?
811名無しさん@そうだ選挙にいこう:2010/12/14(火) 16:57:28
excel 2000で計算書を作っています。数量のランク付けをしているのですが
順番を連番にしたいのですが、色々調べてもできません。
どなたか教えて下さい、お願いします。

例 
3 270
1 90
1 90
4 400

↑ これを
2 270
1 90
1 90
3 400

この式に変えたいです。例は4行としましたが、計算書では 50行はあります
812名無しさん@そうだ選挙にいこう:2010/12/14(火) 17:00:11
法則がよくわからない
813名無しさん@そうだ選挙にいこう:2010/12/14(火) 17:15:13
スイマセン

No  数量
3   270
1    90
1    90
4   400

↑ これを

No  数量
2   270
1    90
1    90
3   400

rankでやるとNoが同じ90の数字があると1134となり2番がなくなります。
それを1123とランク付けしたいのです

814名無しさん@そうだ選挙にいこう:2010/12/14(火) 17:16:10
>811,813
元データから「重複なしにしたデータの並び」を作り、rank関数で順位付けしてから
match/indexで元データの方に順位を引用したらできそう。
815名無しさん@そうだ選挙にいこう:2010/12/14(火) 17:42:32
個数の逆数を個数ぶん足してを繰り返す
=ROUND(SUMPRODUCT(($B$1:$B$4<B1)*1,1/COUNTIF($B$1:$B$4,$B$1:$B$4)),0)+1
とか

ROUNDは演算誤差対策だからなくてもいけるかも
816814:2010/12/14(火) 17:51:47
>811 作業列を2列(E、F)使ってやってみました。
E1セルに =IF(COUNTIF($B$1:$B1,B1)>1,"",B1)
F1セルに =RANK(E1,E:E,1)
と入れて、それぞれデータ最下行までフィルコピーします。
E列は重複なしになり、F列には求めたい順位が表示され、重複データの行には #VALUE! と表示されます。
A1セルに =IF(ISERROR(F1),INDEX(F:F,MATCH(B1,E:E,0)),F1) と入れて、データ最下行までフィルコピー
すると、求めたい結果になるはずです。(当方Excel2003)

>815 スゴイですね!
817名無しさん@そうだ選挙にいこう:2010/12/14(火) 18:09:47
>>815
ありがとうございます。
さっそくやってみて出来たんですが
行間にスペースがあるとエラーがでます。表にスペースをなくせばいい事ですが

>>816さんもありがとうございます。1度試してみます

818名無しさん@そうだ選挙にいこう:2010/12/14(火) 18:19:04
並び変えれば簡単
説明を書きづらいので式をB列にした。
数量
 90 1
 90 =IF(A3<>A2,B2+1,B2)または=B2+(A3<>A2)
270
400
値貼りつけしてから元の並びに戻せばいい。
元に戻すには作業列に連番をあらかじめ振っておけばいい。
50行じゃなくて5000行のときはこう汁。
819名無しさん@そうだ選挙にいこう:2010/12/14(火) 19:38:19
シートの最下方にある一定の範囲のデータを削除したら
空白セルの行が大量に残ってしまったのですが、
これらを消す方法はあるのでしょうか。

今データがある最終行の下の余白部分は多くても
5行ぶんくらいまでにしたいのですが・・・
印刷とかではなく、ただ見栄えを考慮してのものです。

行選択で選択した一定の行数を削除しても特に変化が
ないので困っています。よろしくお願いします。
820名無しさん@そうだ選挙にいこう:2010/12/14(火) 19:40:51
1 hogehoge
2 hoge
3 hoge-
4 hohoge
・・・

のように1から100まで、対応した文字列が入ったデータに対して、

3
4
6
10
12

のように、数字が指定されたデータで、「リストにある数字の行だけを抽出する(それ以外の行は削除する)」
という動作を行いたいのですが、どうすればいいでしょうか?
821名無しさん@そうだ選挙にいこう:2010/12/14(火) 20:41:02
質問です。2007です。

りんご  あまい  赤  青森
りんご  ふつう  青  千葉
みかん  あまい 橙  愛媛
すいか  あまい  青 千葉
すいか  ふつう  青  茨城
すいか  あまい  緑  栃木 ってあります。 それを
   
1りんご  あまい  赤  青森
2りんご  ふつう  青  千葉
3
4
5
6みかん  あまい 橙  愛媛
7
8
9
10
11すいか  あまい  青 千葉
12すいか  ふつう  青  茨城
13すいか  あまい  緑  栃木
14
15
 みたいに5単位で分けて整列したいんですが
どのような方法がよろしいでしょうか?
お願いします。
822名無しさん@そうだ選挙にいこう:2010/12/14(火) 21:01:19
>821
りんご の行が5行だったときは、みかん はどこから始まるの?
6行目から?それとも11行目から?

実際のデータ量はどの程度?しょっちゅう同じようなことするの?
823821:2010/12/14(火) 21:13:45
>>822りんごとかみかんは最大で5までです。
みかんは6行目からです。すいかは11行目からです。最大が5なので5単位で。
実際は5でなく20ぐらいありますが、例で短めに5単位にしました。
しょっちゅう使います。
824822:2010/12/14(火) 22:42:39
>821,823 当方Excel2003なので、ひょっとするとうまくいかないかも知れません
行をあけるのではなく、下の方に行番号を振って、最後にソートする方法です
Option Explicit
Dim tate As Long, tate_e As Long, tate_strt As Long, tate_end As Long
Dim yoko_key As Integer, yoko_line As Long
Dim sv_key As String, j As Long, k As Integer
Sub ex821()
 yoko_key = 2    'キー項目の列番号
 yoko_line = 10   'ソート用一連番号を振る列番号
 tate_strt = 2   'データ先頭行
 tate_end = Range("B65535").End(xlUp).Row   'データ終了行
 tate = tate_strt
 tate_e = tate_end + 1   '空白行用一連番号出力開始行
 j = 1: k = 1         'j:一連番号、k:1〜5のループ用
 Cells(tate, yoko_line).Value = j
 sv_key = Cells(tate, yoko_key).Value
 Do
  tate = tate + 1
  j = j + 1
  If tate > tate_end Then
   Exit Do
  End If
続きます
825822:2010/12/14(火) 22:48:01
続きです
  If Cells(tate, yoko_key).Value = sv_key Then
   Cells(tate, yoko_line).Value = j
   k = k + 1
  Else
   Do While (k < 5)   '5行単位で一連番号を振るための処理
    Cells(tate_e, yoko_line).Value = j
    j = j + 1
    tate_e = tate_e + 1
    k = k + 1
   Loop
   k = 1
   Cells(tate, yoko_line).Value = j
   sv_key = Cells(tate, yoko_key).Value
  End If
 Loop
 MsgBox ("ソート開始します")
 ActiveSheet.Range(Cells(tate_strt, 2), Cells(tate_e, yoko_line)).Sort _
  Key1:=Cells(tate_strt, yoko_line), Order1:=xlAscending
End Sub

1件目のデータが2行目から始まるものと仮定しています。
ソートのための行番号を10列目(J列)に設定しています。適当に変えてください。
ソートの前にメッセージボックスを表示して一時中断するので、クリックする前に
行番号がどのように振ってあるか、見てください。
※ソート範囲にA列は含めていません。

826fuku:2010/12/14(火) 23:00:09
>>819
deleteじゃなく右クリック→削除
保存して再度立ち上げると戻るはず
そうじゃなければ新規ブックに残った部分だけコピーしちゃえ
>>820
上のリストをAB列、下のリストをC列とすると
D1=IF(COUNTIF(C:C,A1)=1,A1,"")
E1=IF(COUNTIF(C:C,A1)=1,B1,"")
>>821
インデックスを設定してvlookupで引っ張る。VBAの方が良さ層だけどねぇ
http://www1.axfc.net/uploader/Sc/so/183448.xls
リストをB-Eに。A1=1、A2=CEILING(A1,IF(B2<>B1,5,1))+1
F列からI列下にも適当に=IF(ISERROR(VLOOKUP(ROW(),$A:$E,COLUMN()-4,0)),"",VLOOKUP(ROW(),$A:$E,COLUMN()-4,0))
827822:2010/12/14(火) 23:02:26
>実際は5でなく20ぐらいありますが、例で短めに5単位にしました
の部分を見落としていました。

20行単位に変更するには、
Do While (k < 5)   '5行単位で一連番号を振るための処理

Do While (k < 20)   '20行単位で一連番号を振るための処理
に変更してください。
828822:2010/12/14(火) 23:11:05
修正箇所がまだあったorz
Excel2007からは最大行数がだいぶ増えていました。

tate_end = Range("B65535").End(xlUp).Row   'データ終了行
の B65535 はExcel2003までの行数の最大値を元にしているので、適当に変更してください。
829名無しさん@そうだ選挙にいこう:2010/12/14(火) 23:17:25
>>828物凄くありがとう。君はいい奴すぎる。
僕の質問は簡単かなと思ったけど空白になる部分もあるから難しいんですね。
オートフィルでやってコピペしていたんですけどかなり手間を食うので。
毎回これだと大変なので助かります。
ちょっと参考にして勉強してみます。
830名無しさん@そうだ選挙にいこう:2010/12/15(水) 00:41:57
>>828
最大行数、列数はRows.Countとか書けばバージョンの違いは気にしなくてよくなる
Range("A" & Rows.Count) みたいに
831819:2010/12/15(水) 00:46:21
>>826
ありがとうございます。
右クリック削除しても下からまた新たに追加されて
いるのか、結局できなかったので質問しました。
新規シートにコピー→元を削除 でできました。
感謝です。
832名無しさん@そうだ選挙にいこう:2010/12/15(水) 04:27:57
質問です。
Excel2003で下のURLにあるマクロをURLの説明どおりに登録していたところ、
初めてVBエディタを触ったので、これどうやって保存すんの?とかいじってる内に
オブジェクト名をプロシージャというところと同じ名前(koukan)
にしてしまったのですが、この2つを同じ名前にすると
マクロ名が「Book1!koukan.koukan」となっていてショートカットキーを登録しても
使えない状態になりました(マクロを直接実行すると問題なく実行できます)。
オブジェクト名を別のものに変えるとマクロ名は「koukan」になっていて
ショートカットキーも使えました。

最初からオブジェクト名をいじらなければ良かっただけの話なんですが
この2つは同じ名前じゃまずい理由とかあるんでしょうか?
マクロ自体初めて触るので訳の分からない質問だと思いますが
なんか気になるのでよろしくお願いします。

ttp://soudan1.biglobe.ne.jp/qa74186.html
833fuku:2010/12/15(水) 11:22:58
>>832
確かに機能しないねぇ。名前を変えればokなのにね
理由はサッパリわからん。
どうしても気になるなら、プログラム板のVBAスレに行ってみるといい。誰かわかる人いるかも
あと質問は4-7行目だけでわかるぞ
834名無しさん@そうだ選挙にいこう:2010/12/15(水) 14:19:41
【1 OSの種類         .】 WindowsVista SP1
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 シート名 変更 レジストリ

WindowsVistaでOffice2010を使っていますが、シート名が薄い
というか灰色なので、どのシートがアクティブが分かり辛いです。

そこで、試しにシートの色を白にした所くっきり見えるようになったので
デフォルトのシート色を白にできれば…と思ったのですが方法がわかりません。
どなたかシート名を黒く見やすくする方法を教えて下さい。

ちなみにVistaですがぼやけた文字が見づらいので、Windowsクラシックの
テーマを使用しています。
835834:2010/12/15(水) 14:36:09
すみません自己解決しました。

実は、「"3D オブジェクト"の色を変えれば良い」という情報は見かけたのですが
『それはVista表示の話で、クラシック表示にしているから関係ないな』
と思っていたのですが、よくみたらクラシック表示の項目にも"3Dオブジェクト"があり、
それを灰色から白に変えたらアクティブシートの表記が「白地に黒文字」の
状態になり、見やすくなりました。お騒がせしました。
836名無しさん@そうだ選挙にいこう:2010/12/15(水) 18:19:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】

1500と4000の二つの数値を足していって出る全ての数値を表にしたいのですが、
1500
3000
4500
5500
6000

のように、コレをエクセル関数で作成する事は可能でしょうか?
837名無しさん@そうだ選挙にいこう:2010/12/15(水) 18:27:27
こんにちは。
競馬で3連単ってありますが
あれってエクセルだとどういう仕組みなんでしょうか?

    A   B   C
1   4    2    4
2    5    4    8
3    7    8    11

だとしたら 4→2→8みたいに数字が重複しないで
何通りになるのか知りたいです。
お願いします。

エクセルは2007です。
838名無しさん@そうだ選挙にいこう:2010/12/15(水) 19:22:19
z=ax+by  (a=1500、b=4000、xとyは0〜無限大の正数)をどうしろと? 
839名無しさん@そうだ選挙にいこう:2010/12/15(水) 19:32:40
>>836
無理
vbaならある程度までは。
840fuku:2010/12/15(水) 22:44:18
>>836
みんな意地悪ねぇ。それともわかんないのかしら?
A1=IF(INT(ROW()/3)=ROW()/3,ROW()/3,0)
B1=IF(INT(ROW()/8)=ROW()/8,ROW()/8,0)
C1=IF(0<(A1+B1),ROW()*500,0)
ABCを下にいっぱいオートフィル
でC列をコピー、貼付け。並び替えで0を削除。やってる事は1/500にしてAB列で行数で倍数の判定、Cで500倍よ
ウフフ
>>837
ギャンブルはよくわかんないけど3練炭がどうとかは「行列」や「組み合わせ」、「3連単 組み合わせ」で検索してお勉強するといいわよ
四則演算の範囲だから電卓でやったほうが早いわよ
841名無しさん@そうだ選挙にいこう:2010/12/16(木) 20:45:16
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】


管理費を計算するため1月〜12月までをD〜P列に割り振った表を作り、
そこに計算のための各月の電力使用量を月ごとに入力しています。

1月分ならD列に、5月分ならH列に入力・・・といった感じです。
毎月入力している値(使用量)は累計のものです。

で、その量をもとに単価をかけて算出しているのですが、今は
当月分の使用量(今月は12月なのでP列) - 先月分の使用量(O列)
とわざわざ引いてから計算を行っています。

該当する列に入力した値に対して、その一つ左の列の値を参照して引く

このような数式を、管理費を算出するための別のシートのセルに入力したいと思っています。
どのようにすればいいのでしょうか。よろしくお願いします。
842841:2010/12/16(木) 20:46:22
すいません、上の方法だと来月分(1月-12月)だけは
データが表の左端と右端にあるからできなくなっちゃいますね・・・
申し訳ありませんが、何かいい方法がありましたらよろしくお願いします。
843名無しさん@そうだ選挙にいこう:2010/12/16(木) 21:57:37
いい方法はないと思うよ。自分で書いているとおりにつくるしかない。
844名無しさん@そうだ選挙にいこう:2010/12/16(木) 22:11:18
>841,842
表の形式を変えてもいいの?
連続するものはできるだけ縦方向に並べた方がいいけど、Excel2007からは
列数(横方向)が大きくなったから、横方向でもかまわないか。

>当月分の使用量(今月は12月なのでP列) - 先月分の使用量(O列)
>とわざわざ引いてから計算を行っています。
使用量じゃなくて、メータの累積電力量のことだと思うけど、今月の数値から
前月の数値を引いて当月の使用量を求めようとするなら、今年の12月の次、
来年1月以降は左に戻るんじゃなくて右へ伸びるようにしないといけないよ。
12列で順繰りにするなら、累積使用電力量を入力じゃなくて、当月の使用量
を入力するようにすべき。検針の紙に表示されているから簡単でしょ。


845名無しさん@そうだ選挙にいこう:2010/12/16(木) 22:30:49
>>841
”串刺し計算”を応用したレイアウトにすればいいとおもいますよ。

あとD列からP列って13ヶ月じゃね?
846名無しさん@そうだ選挙にいこう:2010/12/16(木) 22:40:09
>>841
電気代ぐらいならD2-P2に表示させて、累計をD3-P3に入れた方が見やすいと思うけどなぁ
あとは折り返して、D4-P4と下に伸ばしていいと思うけどね
847名無しさん@そうだ選挙にいこう:2010/12/16(木) 22:57:29
>>837
馬の数をnとしてn*(n-1)*(n-2)通り
848名無しさん@そうだ選挙にいこう:2010/12/16(木) 23:14:53
>841,842
今ある形の表にそのままあてはめると、こんな形になります。
http://www1.axfc.net/uploader/Img/so/102905.gif 画面ハードコピーしたものです

Sheet2の方で引き算までして当月分の使用量を出しておき、元の表の方はVlookupで
引用してます。vlookupのためのキーは、4桁年と2桁月を組み合わせた6桁の数字です。
Sheet2は縦方向に累積消費電力量を入力していきます。年が改まってもずーっと下方向に
データを入力し続けていきます。
849名無しさん@そうだ選挙にいこう:2010/12/16(木) 23:21:06
>>840
>>836へのアンサーすばらしい返答ですが
9500(4000*2+1500)が出ないですねぇ。
850名無しさん@そうだ選挙にいこう:2010/12/16(木) 23:27:06
質問です。2007です。
a1からn24まで数式とか値を残してその範囲以外をクリア、セルの書式もクリアするにはどうすればいいでしょうか?
851名無しさん@そうだ選挙にいこう:2010/12/17(金) 00:35:42
>840,849
なんで9500がでないんだろう、と考えてみたら単純な事でしたね。
1500と4000の数の組み合わせは、どちらも500の倍数なので
1500×a+4000×b=(3×a+8×b)×500
(ただし、aとbは0以上の正数だけど、a,bが同時に0はない)

>840さんの式だと 3の倍数と8の倍数 を拾っているだけなので
(3×a+8×b)が19になる場合(a=1、b=2)を飛ばしてました。
他にも漏れはいくつも見つかります。11,14,17,19,20,22・・・

漏れができるだけないようにするには、ひとつのシートすべてのセルの
計算式を =(COLUMN()-1)*3+(ROW()-1)*8 で埋め尽くして、別のシートで
×500の計算でもさせるしかないでしょう。まずは256列×256行
程度で試してみたらいいですね。

852名無しさん@そうだ選挙にいこう:2010/12/17(金) 00:59:07
>850
最初にA1:N24も含む、クリアしたい範囲全体を選択してから、次に
CTRLキーを押しながら除外したい範囲(A1:N24)をドラッグで選択
してみたらどうですか?
853名無しさん@そうだ選挙にいこう:2010/12/17(金) 02:07:21
>>836>>849>>851 うわぁゴメン。ひどい回答だった
お詫びに正しい(ハズの)答え
http://www1.axfc.net/uploader/Img/so/102923.jpg
3と8、500の倍数で考えると出てこないのはG1-G13の部分のみ
7000以降は500の倍数ごとに全部作れるわ。
できない方から考えれば一瞬でできる問題だったわ

>>850 シートごとコピーして全体をクリア、該当箇所だけコピーとか
854名無しさん@そうだ選挙にいこう:2010/12/17(金) 04:51:10
>>850
A1:N24を別シートにコピーするのが一番早い
855名無しさん@そうだ選挙にいこう:2010/12/17(金) 18:30:27
画面のスクロールなんですけど、横スクロールを楽にする方法ってないですかね??
今はホイールクリックで右にずらしたりしてるんですけどすごいコントロールしにくい・・。
例えば、キーボードの何かのキーを押しながらホイール回すと左右に動く。みたいなことはできないんでしょうか??

今のマウスがかなり気に入ってるので買い換えるってのはナシで・・
856841:2010/12/17(金) 18:30:58
>>843-846>>848
返事がおそくなってしまって申し訳ないです。
みなさん回答ありがとうございました。

今回は>>848さんのアドバイスを参考に
アレンジして作ることにしました。
色々な案をくださったこと本当に感謝します。
857名無しさん@そうだ選挙にいこう:2010/12/17(金) 18:50:59
>>855
すいませんぐぐったら簡単に出てきました・・・orz
858名無しさん@そうだ選挙にいこう:2010/12/17(金) 20:03:14
>>852ちょっと出来なかったです。
>>853-854 ありがとうございます。ちょっと頭になかった考え方でしたw
859名無しさん@そうだ選挙にいこう:2010/12/18(土) 13:14:43
こんなサイトか本はないですか?

ExcelからWordに資料の一部をコピペして再利用することは頻繁にあると思うんです。
それだけじゃなく、Web資料からExcelやWordに文書をコピペして再利用することもあるでしょう。
これらの「文書」を扱うときのスキルというかコツみたいなのが紹介されてるサイトや本はないですか?

具体的に申すと、WebからコピペしてExcelに貼り付けたけど、よけいな飾りがついてるのをはずしたり、フォントがバラバラなので統一したり、
表をはりつけたはいいが余白が大きすぎるなどもっとシンプルにしたい、
さらには、正規表現(少ししかしりませんがしくみが分かればかなり便利そう)という検索や置換のときにものすごく便利なシステムがあるのですが
この正規表現のしくみ、あるいは検索や置換のコツなど、
そういうスキルを身につけたいのです。
860fuku:2010/12/18(土) 18:06:46
>>859
>ExcelからWordに資料の一部をコピペして再利用することは頻繁に
無い
メモ帳に貼りつけてからコピーすれば修飾は取れる
正規表現の置換は別のソフトでやってた。あんまり使わないしなぁ
861複乳 (=859):2010/12/18(土) 18:43:48
>>860
おひさしぶりです、レスありがとうございます。
メモ帳の技、こんどためしてみます。

ところで正規表現のこことを詳しく学びたいのですが、どのソフトが便利でしょうか?
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
862名無しさん@そうだ選挙にいこう:2010/12/19(日) 09:00:17
A1のセルへ始業時間「8:00など入力」B1のセルへ終業時間「17:30など入力」し
C1のセルへその残業時間を「1.5時間」などと表示させる為の方法を教えて下さい
姉から頼まれて余裕顔で受けたんですが全くわかりません
もう二度とかっこつけませんので助けて下さい
863名無しさん@そうだ選挙にいこう:2010/12/19(日) 09:16:17
引き算
864複乳:2010/12/19(日) 11:09:00
>>862
C1セルは「=(B1-A1)*60」にして、
C1セルの「セルの書式設定」で「表示形式」タブの分類を「標準」にしてやる。

      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
865複乳:2010/12/19(日) 11:11:42
あるいは
C1セルは「=(B1-A1)*60」にして、
C1セルの「セルの書式設定」で「表示形式」タブの分類を「ユーザ定義」にして右側の種類のところに「#.#時間」と書いてやる。

      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
866名無しさん@そうだ選挙にいこう:2010/12/19(日) 11:12:38
>>862
タイムカードの再現は意外にめんどくさい。初心者が最初にはまる課題の一つ。
まず、終業時間が決まってないと残業時間は出せない。これは16:00に固定でいいの?
それとも始業時間+8:00で計算するの?
次に、結果は「1:30」ではなく「1.5時間」と表示すればいいの?

とりあえず終業16:00で1.5時間表記でいいんなら
C1の数式を
=(B1-"16:00")*24
としてからセルの書式を
G/標準"時間"
にする
867名無しさん@そうだ選挙にいこう:2010/12/19(日) 11:14:10
こら複乳
60倍してどうすんだよ
それから計算したいのは残業時間だっつってるだろ
質問をよく読め
868名無しさん@そうだ選挙にいこう:2010/12/19(日) 11:28:26
こんなざっくり質問に的確に答えてくれてありがとうございます
以前もお世話になりましたがやっぱ凄いッス

>>866
定時は9:00-17:00です(早出も残業で)

結果は後者の「1.5時間」の表示でしたいんです

教えてもらった通りにやってみます
本当に助かります
869名無しさん@そうだ選挙にいこう:2010/12/19(日) 11:37:34
EXCEL2007で条件付書式の範囲を=A:Dとしています
はじめはAからD列まで書式が適応されているのですが、
値を変更などの操作をしていると、設定した範囲が変わって適応されていないセルが発生します。
操作をしても変わらないように出来ませんか?
870名無しさん@そうだ選挙にいこう:2010/12/19(日) 11:41:03
追記
ごめんなさい
早出も計算するとなるとややこしくなるようです
871名無しさん@そうだ選挙にいこう:2010/12/19(日) 12:11:00
>>870
要は基準労働時間が8時間で、早出でも残業でも超過分は残業時間になるんでしょ。
遅刻は考慮しない完全フレックスタイム制、A1に出社時間、B1に退社時間として
C1=(B1-A1-(8/24))*24
C1の書式 0.0 "時間"
でどう?
872名無しさん@そうだ選挙にいこう:2010/12/19(日) 12:23:42
今の残業話と競馬の3連単って意外と難しいんだよなw
873名無しさん@そうだ選挙にいこう:2010/12/19(日) 12:34:24
3連単がなんなのかよくわからんが、順列組み合わせなら専用の関数がある
ttp://www.kogures.com/hitoshi/webtext/stat-pc/index.html

874名無しさん@そうだ選挙にいこう:2010/12/19(日) 12:40:14
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
勤務時間を管理するシートをExcelで作成して使用しています。
アルファベットと記号の2文字で勤務シフトを定義しています(A1、G3など)
VLOOKUP関数で出勤時間、勤務時間などを呼び出すようにしているのですが、
「F1」というシフトだけ#N/Aのエラーが出ます。

以下詳しい内容です

=IF(C1="";"";VLOOKUP(C6;$N$7:$O$25;2))
C列にシフトを入力するとN7〜O25の範囲で2列目を拾うようにしたつもりです
VLOOKUPの範囲の「F1」を他のもの(F2など)に置き換えるときちんと表示されます
全角、半角もチェックして問題なし、セルの書式も他のセルと同じになっています
原因がさっぱりわからなくて困っています、指摘事項などありましたらレスお願いします
875名無しさん@そうだ選挙にいこう:2010/12/19(日) 12:53:43
>>874
なんで;を使っているのか分かんないけど、完全一致の「0」がないのが間違い

=IF(C1="","",VLOOKUP(C6,$N$7:$O$25,2,0))
876名無しさん@そうだ選挙にいこう:2010/12/19(日) 13:01:37
>>875
;はOOoだな。
877名無しさん@そうだ選挙にいこう:2010/12/19(日) 13:13:06
>>876
へ〜はじめて知った。じゃあ検索の型はいらない?それともやっぱりいるのかい?
878名無しさん@そうだ選挙にいこう:2010/12/19(日) 13:26:32
B列の文字を参照してA列に指定した点数の合計を出す表を作りたいのですが、
どういった関数を使えばよいでしょうか。

A列 B列
得点 正/否
5 ○
3 ○
5 ×
10 ×

合計 8
879名無しさん@そうだ選挙にいこう:2010/12/19(日) 13:29:29
>>877
必要だった。エラーも同じN/Aエラーになったし、正解だろうね
>>874
N7:O25をN列基準に並び替えしてもいける。けど普通は>>875だね
880名無しさん@そうだ選挙にいこう:2010/12/19(日) 13:33:54
>>878
自己レスですが・・・
SUMIFでしたね、
度忘れしてました。
881名無しさん@そうだ選挙にいこう:2010/12/19(日) 13:49:13
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 抽出,重複

1. A , Bの父
2. C , Bの母
3. D , Aの父
4. F , Gの子
5. H , Iの妻
6. I , Jの祖父

上記のようなデータがあります。
同世帯のデータだけを抽出してまとめるにはどうすればいいでしょうか?
よろしくお願いします。
上の例だと、(1,2,3),(5,6)は同世帯になります
882名無しさん@そうだ選挙にいこう:2010/12/19(日) 14:10:50
>881
VBA使うしかないと思うけど、実際のデータはどういう風になっているんですか?
  A列 B列 C列
1 a   b   父  aはbの父の意味
こんな感じであれば、D列以降に関係するA列のデータを元データの行のところに追加していってできると思う。

元データに住所があれば、住所をキーにして一発なんだけど・・・

883名無しさん@そうだ選挙にいこう:2010/12/19(日) 14:12:02
C列に世帯番号を手入力でつくる
884名無しさん@そうだ選挙にいこう:2010/12/19(日) 14:43:45
>>881
A列とB列に含まれるアルファベットを相互に検索して、同じ物があればグループ化すればいいんでしょ
C1=LEFT(B1,1)
D1=MATCH(A1:C:C,0)
E1=MATCH(C1:A:A,0)
F1=MATCH(C1:C:C,0)
とやって、D列〜F列に出てきた結果を長〜いIF分でまとめればいい

VBAでやった方が早いかな
885名無しさん@そうだ選挙にいこう:2010/12/19(日) 16:03:26
>>871
ありがとうございます

条件は全くその通りです
が、その式でA1に「9:00」B1に「17:00」と入力したら
C1へ「−8時間」と表示されました
886885:2010/12/19(日) 16:06:18
↑申し訳ありませんわたしの勘違いです
>>871
助かりました
887868:2010/12/19(日) 16:55:14
なんどもすみませんがもう一つだけ(汗)
どうやら条件がもう一つあって
終業時間が15:00以降の場合
昼休憩が1時間入るらしいのです
要するに
終業時間が15:00を超えた場合12:00−13:00の1時間を引きたいのですが
(基本的には始業時間が5:00前になることと、
終業時間が23:00を超えることが無い前提で)
どうかお助け下さい
888名無しさん@そうだ選挙にいこう:2010/12/19(日) 17:10:31
>887
就業時間が15:00を超えた場合って、15:00は含まないということであれば
=IF(B1>(15/24),(B1-A1-((8+1)/24))*24,(B1-A1-(8/24))*24) でいいと思います。
(8+1)の部分は12:00〜13:00の1時間を引いている部分です。
889881:2010/12/19(日) 17:15:19
レスありがとうございます。

実際のデータは>>882の言われるようになっています。
  A列 B列 C列
1 a   b   父  aはbの父の意味

項目はもっと多いですが、住所のように同世帯を一発で判断
できるような項目はありません。
また、例が悪かったかもしれませんが、同世帯のデータが続けて並んでいる
わけではなく、バラバラの1000〜2000件のデータの中から、1,2,3
のようにA列またはB列に名前が重複しているデータをまとめて抽出して、
それを一つの世帯として世帯番号を付けようと考えています。
同姓同名もありますので、そのあたりの修正は手作業になりますが、
そこに至るまでを自動で行いたいのです。

>>882
>D列以降に関係するA列のデータを元データの行のところに追加していって
すみませんが、いまいちどういうことかわかりません。

>>883
それを自動でやりたいので・・・

>>884
Excel関数もいまいち理解せずに質問してしまってますが、
上で言ったデータの形式ではC1=LEFT(B1,1)は不要ですね?
そして、D1=MATCH(A1:C:C,0) 以下ですが、
matchでは下のように同じ列にBが三度以上出る場合に
使えないのではないでしょうか?
A,B,父
C,B,母
D,B,祖父
よくわかってないので見当はずれのことを言ってたらすみません
890684:2010/12/19(日) 18:32:22
>889
vbaで作ってみました。当方Excel2003なので不具合が出るかも知れません。
Option Explicit
Dim tate As Long, tate_strt As Long, tate_end As Long
Dim yoko_key1 As Integer, yoko_key2 As Integer, yoko_setai As Integer
Dim key_2 As String, setai_no As Long, c As Range
Sub excel_889()
 tate_strt = 2    'データ開始行
 tate_end = Range("A" & Rows.Count).End(xlUp).Row  'データ終了行
 yoko_key1 = 1   'A列
 yoko_key2 = 2   'B列
 yoko_setai = 5   'E列
 setai_no = 1     '世帯番号の初期値

 tate = tate_strt
 Do Until (tate > tate_end)
  key_2 = Cells(tate, yoko_key2).Value
  If (Cells(tate, yoko_setai).Value = "") Then  '世帯番号がない
   If (key_2 <> "") Then
    Set c = Range(Cells(tate_strt, yoko_key1), Cells(tate_end, yoko_key1)).Find(key_2)
    If Not (c Is Nothing) Then
     If Cells(c.Row, yoko_setai).Value > 0 Then  'すでに世帯番号がある場合
      Cells(tate, yoko_setai).Value = Cells(c.Row, yoko_setai).Value
     Else
      Cells(tate, yoko_setai).Value = setai_no
      Cells(c.Row, yoko_setai).Value = setai_no
      setai_no = setai_no + 1
     End If
続きます
891890:2010/12/19(日) 18:39:57
>890の続きです (684は以前の書き込みなので関係ありません)

    Else   '相手方が見つからない場合でも世帯番号を付与
     Cells(tate, yoko_setai).Value = setai_no
     setai_no = setai_no + 1
    End If
   Else    '単身世帯の場合でも世帯番号を付与
    Cells(tate, yoko_setai).Value = setai_no
   
 setai_no = setai_no + 1
   End If
  End If
  tate = tate + 1
 Loop
End Sub

この処理では、E列に世帯番号を1から付与しています。関係の列(想定ではC列ですが
プログラムには利用していません)に関わらず、B列の内容でA列を検索しています。
B列の内容がA列から探し出せない場合は、単身世帯とみなしています。
892名無しさん@そうだ選挙にいこう:2010/12/19(日) 18:59:09
>>890
A2-A4にABC、B2にBだけいれたけど全くうまくいかんぞ
縦に123456・・とだけ続く
893890,891:2010/12/19(日) 19:09:54
>892 Do〜Loopの部分だけを、編集を加えずにそのまま貼り付けるので、これで試してみてください。
当方ではちゃんと1,1,2と出力しました
Do Until (tate > tate_end)
key_2 = Cells(tate, yoko_key2).Value
If (Cells(tate, yoko_setai).Value = "") Then '世帯番号がない
If (key_2 <> "") Then
Set c = Range(Cells(tate_strt, yoko_key1), Cells(tate_end, yoko_key1)).Find(key_2)
If Not (c Is Nothing) Then
If Cells(c.Row, yoko_setai).Value > 0 Then 'すでに世帯番号がある場合
Cells(tate, yoko_setai).Value = Cells(c.Row, yoko_setai).Value
Else
Cells(tate, yoko_setai).Value = setai_no
Cells(c.Row, yoko_setai).Value = setai_no
setai_no = setai_no + 1
End If
Else '相手方が見つからない場合でも世帯番号を付与
Cells(tate, yoko_setai).Value = setai_no
setai_no = setai_no + 1
End If
Else '単身世帯の場合でも世帯番号を付与
Cells(tate, yoko_setai).Value = setai_no
setai_no = setai_no + 1
End If
End If
tate = tate + 1
Loop
894名無しさん@そうだ選挙にいこう:2010/12/19(日) 19:25:30
>>893
先に断って置くと私は質問者ではないです
で、すいません。>>892は勘違いで確かに動きました
が、
ttp://squid.axfc.net/uploader/Img/l/1185853427/Img_103141.jpg
ここのGとIですね。一緒の世帯のはずですが別扱いになってます。
こういう状態がなければ問題ないと思いますが
895893:2010/12/19(日) 19:43:48
>894
確認しました、ご指摘ありがとうございます。
E〜G〜I〜L〜・・・という風にどんどん先へ先へリンクしていくのを追って同一の世帯番号を振るのが今後の課題ですね。
ちょっと考えて見ます。(再帰処理になるのかな?)
896874:2010/12/19(日) 20:02:38
無事解決しました、>>875さんありがとうございました
>>876さんのご指摘どおりOOoでした
職場ではExcelで作ったのですが自宅にはないのでOOoで開いてコピペしたのですが
まさか微妙に表記が異なるとは…
その辺も含めて勉強になりました、ありがとうございました
897895:2010/12/19(日) 20:30:46
>894 これでどうでしょう?
Do Until (tate > tate_end)
 key_2 = Cells(tate, yoko_key2).Value
 If (Cells(tate, yoko_setai).Value = "") Then '世帯番号がない
  If (key_2 <> "") Then
   Set c = Range(Cells(tate_strt, yoko_key1), Cells(tate_end, yoko_key1)).Find(key_2)
   If Not (c Is Nothing) Then
    If Cells(c.Row, yoko_setai).Value > 0 Then 'すでに世帯番号がある場合
     Cells(tate, yoko_setai).Value = Cells(c.Row, yoko_setai).Value
     Call oikake(c.Row, Cells(c.Row, yoko_setai).Value)
    Else
     Cells(tate, yoko_setai).Value = setai_no
     Cells(c.Row, yoko_setai).Value = setai_no
     Call oikake(c.Row, setai_no)
     setai_no = setai_no + 1
    End If
   Else '相手方が見つからない場合でも世帯番号を付与
    Cells(tate, yoko_setai).Value = setai_no
    setai_no = setai_no + 1
   End If
  Else '単身世帯の場合でも世帯番号を付与
   Cells(tate, yoko_setai).Value = setai_no
   setai_no = setai_no + 1
  End If
 End If
 tate = tate + 1
Loop 続きます
898897:2010/12/19(日) 20:31:51
続きです
'リンク先をおいかける処理
Private Sub oikake(wk_tate As Long, wk_no As Long)
Dim cc As Range, key_11 As String, key_22 As String
 key_22 = Cells(wk_tate, yoko_key2).Value
 Set cc = Range(Cells(tate_strt, yoko_key1), Cells(tate_end, yoko_key1)).Find(key_22)
 If cc Is Nothing Then  'リンク先がない
  Exit Sub
 Else
  If Cells(cc.Row, yoko_setai).Value = wk_no Then  '堂々巡りを防ぐ
   Exit Sub
  Else
   Cells(cc.Row, yoko_setai).Value = wk_no
   Call oikake(cc.Row, wk_no)  '自分自身を呼ぶ(再帰処理)
  End If
 End If
End Sub
899897,898:2010/12/19(日) 20:34:09
注意 >897 は、Do〜Loopの部分だけをupしてます。(その前後は変更なしのため)
900897,898:2010/12/19(日) 20:37:45
>898 の key_11 As String は不要でした
901881:2010/12/19(日) 21:57:20
>>895

色々とありがとうございます。

試してみたのですが、うまくいきませんでした。
簡略化のためにA列、B列だけでデータを作成実行したところ
以下のような結果になりました。

・B列が同じ場合を同一世帯と認識していない
・先へ先へのリンクがうまくいっていない
というような問題があると思います

  A列 B列 E列  正解?
1 a   b   1   1
2 c   b   2   1
3 d   e   3   2
4 f   a   1   1
5 g   h   4   3
6 i   e   5   2
7 j   k   6   4
8 l   m   7   5
9 n   f   8   1
902890,900他:2010/12/19(日) 22:18:13
>901
データbがA列に存在しないためと思います。
>894さんの指摘は、ttp://squid.axfc.net/uploader/Img/l/1185853427/Img_103141.jpg の状態で
E〜G〜I〜L〜・・・という風に B列のデータからA列のデータの向きにリンクするというもので、
これは897,898で対応していますが、リンク先(B列)がA列に存在しなければ対応していません。
Set cc = Range(Cells(tate_strt, yoko_key1), Cells(tate_end, yoko_key1)).Find(key_22)
の yoko_key1 を yoko_key2 の場合も調べたらいいのかな?(検索範囲はtateより下で)

明日の今頃まで待ってもらえれば対応を考えたいと思いますが、他にアイデアがある方、よろしく。
903fuku :2010/12/19(日) 22:23:36
>>881 これでどうだ。相変わらずfornextばっかの処理だ。いけるか。
http://www1.axfc.net/uploader/File/so/55821.xls
Sub unko()
bango = 0 '世帯番号
gyo = Range("A65535").End(xlUp).Row
For i = 2 To gyo
Columns("D:E").ClearContents
If Cells(i, 6) = "" Then '番号振り分け前なら以下の処理
Range("d" & i & ":" & "e" & i).Value = Range("a" & i & ":" & "b" & i).Value
bango = bango + 1
Cells(i, 6) = bango
For k = i + 1 To gyo 'DE列を検索して、一つでもあれば世帯とみなしDE列に書き込む。
If (Application.WorksheetFunction.CountIf(Range("D:E"), Cells(k, 1)) + _
Application.WorksheetFunction.CountIf(Range("D:E"), Cells(k, 2))) > 0 Then
Range("d" & k & ":" & "e" & k).Value = Range("a" & k & ":" & "b" & k).Value
Cells(k, 6) = bango
End If
Next
End If
Next
End Sub
904902:2010/12/19(日) 23:08:01
>901 データbがA列にないなら、書き込めばイイ! ということで解決しました。以下ソース全部を分けて書き込みます。
Option Explicit
Dim tate As Long, tate_strt As Long, tate_end As Long
Dim yoko_key1 As Integer, yoko_key2 As Integer, yoko_setai As Integer
Dim key_2 As String, setai_no As Long, c As Range
Dim er_cnt As Long, kensaku_area As Excel.Range '追加
Sub excel_889()
tate_strt = 2 'データ開始行
tate_end = Range("A" & Rows.Count).End(xlUp).Row 'データ終了行
yoko_key1 = 1 'A列
yoko_key2 = 2 'B列
yoko_setai = 5 'E列
setai_no = 1 '世帯番号の初期値
er_cnt = 0 '追加
Set kensaku_area = Range(Cells(tate_strt, yoko_key1), Cells(Rows.Count, yoko_key1))
tate = tate_strt
Do Until (tate > tate_end)
 key_2 = Cells(tate, yoko_key2).Value
 If (Cells(tate, yoko_setai).Value = "") Then '世帯番号がない
  If (key_2 <> "") Then
   Set c = kensaku_area.Find(key_2)
   If Not (c Is Nothing) Then
    If Cells(c.Row, yoko_setai).Value > 0 Then 'すでに世帯番号がある場合
     Cells(tate, yoko_setai).Value = Cells(c.Row, yoko_setai).Value
     Call oikake(c.Row, Cells(c.Row, yoko_setai).Value)
    Else
     Cells(tate, yoko_setai).Value = setai_no
     Cells(c.Row, yoko_setai).Value = setai_no
     Call oikake(c.Row, setai_no)
続きます
905902:2010/12/19(日) 23:13:45
続きです
     setai_no = setai_no + 1
    End If
   Else '相手方が見つからない場合でも世帯番号を付与
    Cells(tate, yoko_setai).Value = setai_no
'ここから3行追加 tate_end行の次から リンク切れのデータを世帯番号と併せて書き込む
    er_cnt = er_cnt + 1
    Cells(tate_end + er_cnt, yoko_key1).Value = Cells(tate, yoko_key2).Value
    Cells(tate_end + er_cnt, yoko_setai).Value = setai_no
    setai_no = setai_no + 1
   End If
  Else '単身世帯の場合でも世帯番号を付与
   Cells(tate, yoko_setai).Value = setai_no
   setai_no = setai_no + 1
  End If
 End If
 tate = tate + 1
Loop
End Sub
'リンク先をおいかける処理
Private Sub oikake(wk_tate As Long, wk_no As Long)
Dim cc As Range, key_22 As String
 key_22 = Cells(wk_tate, yoko_key2).Value
 If key_22 = "" Then
  Exit Sub
 End If
 Set cc = kensaku_area.Find(key_22)
行数が制限を越えたのでさらに続きます
906902:2010/12/19(日) 23:16:20
 If cc Is Nothing Then
  Exit Sub
 Else
  If Cells(cc.Row, yoko_setai).Value = wk_no Then
   Exit Sub
  Else
   Cells(cc.Row, yoko_setai).Value = wk_no
   Call oikake(cc.Row, wk_no) '自分自身を呼ぶ(再帰処理)
  End If
 End If
End Sub
以上です。
907902:2010/12/19(日) 23:28:29
A列も探してB列も探して・・・というのがややこしかったので、
A列になければ最終行の次に書き足せばいいじゃないか!と考えました。
そうすると、Findの検索対象を最終行までとしていると具合が悪いので、
Findの検索範囲を
Set kensaku_area = Range(Cells(tate_strt, yoko_key1), Cells(Rows.Count, yoko_key1))
として、エクセルのとりうる最下行までに広げています。
本当は、列番号=1 から Range(A:A) みたいに設定したかったけど、わからなかったので
上記のようになりました。
908881:2010/12/19(日) 23:43:52
どうやら自分で考えていたよりもずっと大変な作業のようですね
お手数をおかけしています。

>>903>>904
>>901のデータで両方試してみましたが、どちらも
9行目の n  f が世帯番号6になります
これは1行目、4行目、9行目の関係から世帯番号1に
ならないといけません
>>901にはありませんが、更に10行目 o, n といった
データがあれば、これも世帯番号1になります。
(どんどん世代を遡っていきます。最大5〜6世代ほど)

すみませんがよろしければ改善をお願いします
909名無しさん@そうだ選挙にいこう:2010/12/20(月) 00:18:45
>>881
面白そうな問題なんで俺も参加させてくれ
効率よくシンプルにやるのは難しそうだから、とりあえず結果を出すことを第一目標に
これでどうかな?

Sub リストの関係性を調べる()
  rEnd = ActiveSheet.Cells.SpecialCells(xlLastCell).Row
  For r = 1 To rEnd
    Cells(r, 5).NumberFormat = "@"
    Cells(r, 5) = "," & r & ","
  Next
  For ra = 1 To rEnd - 1
    For rb = ra + 1 To rEnd
      If Cells(ra, 1) = Cells(rb, 1) Or Cells(ra, 1) = Cells(rb, 2) Or Cells(ra, 2) = Cells(rb, 1) Or Cells(ra, 2) = Cells(rb, 2) Then
        s = Cells(ra, 5) & Cells(rb, 5)
        w = ","
        For n = 1 To rEnd
          If InStr(s, "," & n & ",") > 0 Then w = w & n & ","
        Next
        For r = 1 To rEnd
          If InStr(w, "," & r & ",") > 0 Then Cells(r, 5) = w
        Next
      End If
    Next
  Next
  For r = 1 To rEnd
    Cells(r, 5) = "(" & Mid(Cells(r, 5), 2, Len(Cells(r, 5)) - 2) & ")"
  Next
End Sub
910904〜907:2010/12/20(月) 00:24:53
>908
9件目(データが2行目からなのでExcelのシートでは10行目)のn,fの世帯番号は、
こちらでは 1 になっています。(元からあるデータの最終行の次にbと世帯番号1が
書き込まれているはずです)
念のため、アプロダにソース全文upしています。
http://www1.axfc.net/uploader/Sc/so/185246.txt
911881:2010/12/20(月) 00:29:22
>>909
問題を出題しているつもりはありませんがw
参加してくださってありがとうございます。

できれば>>901のデータで試してもらえればと思います。
で、試したところやはり9行目の n , f が仲間外れに
なりました。
912909:2010/12/20(月) 00:33:24
>>911
こっちじゃちゃんとできてるよ
そちらのテスト用データで、全角と半角が混じってたり、余分なスペースが入ったりしてない?

ttp://windyakin.if.land.to/src/up38_2394.png
913909:2010/12/20(月) 00:41:29
追加
>>909の結果が出たあと、F列に世帯番号を入れる
ちゃんと>>901と一致してるよ
ttp://windyakin.if.land.to/src/up38_2395.png

Sub 世帯番号セット()
  rEnd = ActiveSheet.Cells.SpecialCells(xlLastCell).Row
  n = 0
  For i = 1 To rEnd
    If Cells(i, 6) = "" Then
      n = n + 1
      For j = i To rEnd
        If Cells(i, 5) = Cells(j, 5) Then Cells(j, 6) = n
      Next
    End If
  Next
End Sub
914881:2010/12/20(月) 00:44:14
ああああああああああ
どうやら私が>>901の元データをどこか間違えていたようです
>>903>>904>>909
どなたの案でもしっかりと動作して結果も合っていました
本当にすみません
そしてどうもありがとうございました。
915904〜907:2010/12/20(月) 00:53:54
>914
解決したようでなによりです。ただ、自分の方法だと世帯番号でソートしたときに
元データとプログラムで追加したデータの区別がつかなくなるので、
er_cnt = er_cnt + 1
Cells(tate_end + er_cnt, yoko_key1).Value = Cells(tate, yoko_key2).Value
Cells(tate_end + er_cnt, yoko_setai).Value = setai_no
の次に Cells(tate_end + er_cnt, ここに適当な列番号).Value = "追加したデータであることを示すもの"
を加えるといいかも。 それじゃ、みなさんお休みなさい。
916名無しさん@そうだ選挙にいこう:2010/12/20(月) 01:25:45
予言
追加の仕様が書き込まれる
917名無しさん@そうだ選挙にいこう:2010/12/20(月) 01:33:22
素人質問で申し訳ないのですが、
excelが必要になったので購入しないとあかんのです。

2010の単品を買う予定ですが、
32ビットと64ビット両方に対応してるのでしょうか?
それとも32ビット対応製品の64ビット対応製品の2つあるのでしょうか?
当方XPなので32ビット製品が欲しいのです。
知ってる方いらっしゃったらよろしくお願いします
918名無しさん@そうだ選挙にいこう:2010/12/20(月) 01:37:42
>>917
1つの箱に2種類入ってるよ
919名無しさん@そうだ選挙にいこう:2010/12/20(月) 02:55:18
>>918
解答ありがとうございます!
助かりました!

ヤフオクで箱付き買えば問題ないみたいですね。
920名無しさん@そうだ選挙にいこう:2010/12/20(月) 04:44:16
Sheet1に、

A - 1
B - 2
C - 3

のようにアルファベットと数字が関連付けられているセルの並びがあったとします。

Sheet2には、

C
A
B

とアルファベットだけが入っているとき、Sheet2のアルファベットの隣のセルに、
Sheet1で関連付けられた数字を表記するには、どうすればいいのでしょうか?
921名無しさん@そうだ選挙にいこう:2010/12/20(月) 06:06:33
>>919
ヤフオクはほどんど問題あり品だよ
922名無しさん@そうだ選挙にいこう:2010/12/20(月) 09:26:40
>>920
えーと、「関連付ける」の意味がよくわからないんだけど、
Sheet1の方は1つのセルの中に「A - 1」というデータが入ってんの?
それとも2つのセルに「A」「1」というデータが別々に入ってんの?
923名無しさん@そうだ選挙にいこう:2010/12/20(月) 13:08:45
>>914
笑った。お疲れ様。おやすみ。ちょっと楽しかったです。
924名無しさん@そうだ選挙にいこう:2010/12/20(月) 13:19:08
色の表示に関して質問させてください。

つい最近バージョンを2007版にしたのですが、
ネットカフェにあるspeedsheetで開いたところこの時を境に
表に色づけしていた部分がすべて無効化されていました。
(それまでの2003の形式では普通に表示されていました)
実際にxlsxには対応していない云々のメッセージもありました。

1.会社によってはexcel以外の疑似ソフトを使っているところもあるのでしょうか?
2.同じexcelの場合でも2003以前のバージョンだと色によっては対応していないために
  表示されなくなってしまうケースを危惧しておく必要がある・・・ものなのでしょうか?

これら2点について教えてくださると助かります。
よろしくお願いします。
925名無しさん@そうだ選挙にいこう:2010/12/20(月) 16:34:37
>>924
2003と2007とOOoは互換性低い

単純に数字が並んでるだけならいいけど、
色を付けたり図形をかいたりすると、化けたり崩れたりする
926名無しさん@そうだ選挙にいこう:2010/12/20(月) 19:24:09
>>924
1.可能性は十分にある。不安なら電話で聞いたら?
2.普通シート見出しに色なんて付けないからどうでもいいと思う
余計なことするから対応がどうとか考えないと行けなくなる
と言っても業務上の慣習などで必要な場合は
「シート見出し 色 バージョン」あたりでぐぐって勉強する事
927924:2010/12/20(月) 21:08:17
>>925-926
お二人ともありがとうございます。
アドバイス大変参考になりました。

省けるところは省くようにしながら
もう少し自分で調べてみたいと思います。
928862:2010/12/20(月) 22:00:41
みなさんご協力ありがとうございました
全て上手くいきました
929名無しさん@そうだ選挙にいこう:2010/12/20(月) 22:31:42
お聞きしたいのですがマクロはctrl+?でやりますけど
これをセルの中にボタンみたいなのを作ってクリックしたらマクロが出来たりするもんでしょうか?
930名無しさん@そうだ選挙にいこう:2010/12/20(月) 22:36:50
>929 ? マクロが出来るんじゃなくて、マクロを実行させることはできますよ
931名無しさん@そうだ選挙にいこう:2010/12/20(月) 22:41:56
>>930二つのキーを押さずに一つのキーであるいはクリックのやり方を教えてください。
932名無しさん@そうだ選挙にいこう:2010/12/20(月) 22:48:17
>931
VBA基本(シートにボタンを作る。)
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_130_02.html

など、excel マクロ ボタン でググると、いろいろでてきます。
933名無しさん@そうだ選挙にいこう:2010/12/20(月) 22:57:19
>>932ありがとう
934名無しさん@そうだ選挙にいこう:2010/12/21(火) 03:49:11
1
2
3
4
....

と並んでるセルがあったとき、「その行とその上の数の最小公倍数(LCM)」を求めたいのですが、
どのように指定すればいいのでしょうか?

(つまり、1の行には「1の最小公倍数」、2の行には「1と2の最小公倍数」、
 3の行には「1と2と3の最小公倍数」、4の行には「1と2と3と4の最小公倍数」、のように、
 徐々に選択範囲を増やしていく動作)
935920:2010/12/21(火) 06:37:14
すみません、遅レスになってしまうんですが、

>>922
隣合わせのセルに、「A」と「1」が入っていて、その下に「B」と「2」、「C」と「3」という風に並んでいます。

A 1
B 2
C 3

という感じです。このシートを使って、

C
A
B

という別のシートを、

C 3
A 1
B 2

という風にしたい(対応した数字をつけたい)のですが・・・どういう処理をすればいいのか・・・
936名無しさん@そうだ選挙にいこう:2010/12/21(火) 06:43:27

>>935

VLOOKUP関数等
937名無しさん@そうだ選挙にいこう:2010/12/21(火) 12:19:02
先日は残業計算の件でお世話になりました

ちょっとまたお聞きしたいのですが
わたしの会社の(設計部門)の人たちが使っているエクセル
の画面が普通じゃないんです

どう普通じゃないかというと
セルが狭いんです
横のアルファベットのセルの幅がすっごい狭いんです
設計の他の人もみんなそうなんですが
これってなんかりてんがあるのですか?
遠目ですが碁盤みたいになってて凄く見づらいような・・・
938名無しさん@そうだ選挙にいこう:2010/12/21(火) 13:07:24
>>937
複雑な表作るときはその方が楽なんよ
そのかわり計算とか並べ替えとか面倒だけど
939名無しさん@そうだ選挙にいこう:2010/12/21(火) 13:50:08
なるほど
それならわたしには無縁ですね・・・

ちなみにあれはそういう複雑な表を作るデフォルトモードがあるんですか?
それとも手動で幅値を自分の使いやすい値に設定するんですか?
940fuku:2010/12/21(火) 14:08:14
>>934
A列に1,2,3,4,・・と入ってるとして、B1=1 B2=LCM(A2,B1) 下にオートフィル・・であうのか?バカだからわかんねーぜ^p^
↓のマクロなら確実
Sub Macro1()
siki = "a1"
For i = 1 To 29
Cells(i, 2).Formula = "=lcm(" & siki & ")"
siki = siki & ",a" & i + 1
Next
End Sub
>>937
クレイジーだと言われてる ttp://news4vip.livedoor.biz/archives/51390007.html
ただ履歴書や扶養控除申告書のような、罫線がいろんなところにあるモノを作るならそれなりに作りやすいよ。
普段からそれは無いと思うけど、設計の人がエクセルで図を作るのに慣れてるならそれはそれでいいと思う。使い易いのが一番。
941名無しさん@そうだ選挙にいこう:2010/12/21(火) 19:24:14
質問です。2007です。

a1 b1 c1
a2 b2 c2
a3 b3 c3
a4 b4 c4

それぞれに数式があるんですが場合によってエラーになり#N/Aが画面に出てきます。
それはいいんですが、見た目的に#N/Aを画面から消したいのです。
数式の前のiferrorを一つずつつけるのは大変なのでいっぺんに数式の前に
iferrorをつけることは出来ますか?
=iferror(数式,"")でエラーが出たら画面を空欄にしたいです。
942名無しさん@そうだ選挙にいこう:2010/12/21(火) 20:18:49
>941
VBAでそれぞれの数式を変換するといいです。下記のマクロをシートに登録してやってみてください。
(当然、バックアップはとってくださいね)当方はExcel2003なので、変換後は#NAME?となってしまいましたが、
式そのものは =iferror(数式,"") の形になっています。
Sub excel_941()
  For Each c In UsedRange
    If Left(c.Formula, 1) = "=" Then  '=で始まるのは計算式
      siki_old = c.Formula
      siki_new = "=IFERROR(" & Right(siki_old, Len(siki_old) - 1) & ","""")"
'      MsgBox (siki_new)    '置き換え後の式を表示して確認するときにコメントをはずす
      c.Formula = siki_new
    End If
  Next c
End Sub
943名無しさん@そうだ選挙にいこう:2010/12/21(火) 20:32:18
>>942
Mid(siki_old, 2)
944名無しさん@そうだ選挙にいこう:2010/12/21(火) 20:47:38
>>942ありがとうございます。
助かります。
945名無しさん@そうだ選挙にいこう:2010/12/21(火) 23:56:03
>>934
>>940
マクロ使わないで数式のみなら
B1に =LCM($A$1:A1)
でオートフィルでいいんじゃね?
うち分析ツール入れられない環境だから試してないけど。
946fuku:2010/12/22(水) 01:49:49
>>945
それだけでできたorz とても悲しい
947名無しさん@そうだ選挙にいこう:2010/12/22(水) 15:46:34
ペリー?
948名無しさん@そうだ選挙にいこう:2010/12/22(水) 16:22:36
【1 OSの種類】 WindowsXP sp3
【2 Excelのバージョン】 Excel2002 sp3
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード】 検索キーワード「エクセル マッチング コピー」

こんにちは。

シート1のA列とシート2のA列を参照し、
それらの文字列が合致した行のみ
シート2のB、C列をシート1のB、C列にコピーする。
空欄の行同士は合致してもコピーせず、無視する。

という作業のやり方がまったく分からず困っています。
どのように進めるのが良いものでしょうか。。。
ちなみに扱う文字列は半角数字です。

ご指導のほど、お願いいたします。
949名無しさん@そうだ選挙にいこう:2010/12/22(水) 16:55:53
>>948
「コピー」という動作はマクロ使わないとできないと思うが表示するだけなら
B1に 
=IF(OR($A1="",シート2!$A1=""),"",IF(EXACT($A1,シート2!$A1),シート2!B1,""))
とコピーしてオートフィルして値の貼り付け。
950948:2010/12/22(水) 17:26:17
>>949
ありがとうございます。
しかし申し訳ありません!大切なことを書いていませんでした。

シート1、シート2それぞれのB列は
それぞれ順不同で並んでおり、保有している行数も異なるのです。
以下のようなご説明で伝わりますでしょうか。

●シート「2」
A列|B列
0012|バナナ
0023|みかん
0003|メロン
0091|ぶどう

●シート「1」
A列|B列
0001|
0003|メロン ←A列の文字列がシート2にも存在するので、B列がコピーされた
0004|
0091|ぶどう ←同上
0002|

どうぞよろしくお願いいたします。
951名無しさん@そうだ選挙にいこう:2010/12/22(水) 17:34:31
>>950
VLOOKUP
952名無しさん@そうだ選挙にいこう:2010/12/22(水) 17:40:35
>>950
=IF(ISERROR(VLOOKUP($A1,シート2!$A:$C,COLUMN(),0)),"",VLOOKUP($A1,シート2!$A:$C,COLUMN(),0))
↑はB、C列に表示させることを想定した式なのでうまくいかないようなら

B列に
=IF(ISERROR(VLOOKUP($A1,シート2!$A:$C,2,0)),"",VLOOKUP($A1,シート2!$A:$C,2,0))
C列に
=IF(ISERROR(VLOOKUP($A1,シート2!$A:$C,3,0)),"",VLOOKUP($A1,シート2!$A:$C,3,0))
とコピーしてオートフィル後値の貼り付け。
953950:2010/12/22(水) 17:46:38
>>951
>>952
ありがとうございます!
あとでやってみます&VLOOKUP勉強してみます。

夜、自宅からだとアクセス規制で書き込みできないので、
結果報告やお礼は休み明け(次スレ?)になってしまうと思います。。。
すみません。
954名無しさん@そうだ選挙にいこう:2010/12/22(水) 20:02:09
文字列が50行くらいあって、それぞれの行につき最初の5文字を消去する(つまり50行すべてて最初の5文字が消える)方法はありますか?
ありそうな気はしてるんですがExcelでできますよね?
特定のソフトじゃなく汎用性のあるExcelでできればそれでしたいです。Wordでもいいけど。

実はこれいがいにも文字列に関するさまざまな操作スキルを学ぶにはどうしたらいいですか?
955954:2010/12/22(水) 20:05:02
データの区切り位置?
956名無しさん@そうだ選挙にいこう:2010/12/22(水) 20:06:36
955ので左端の文字列は消去できました。

こんなスキルって、Excelでもできますかね?例えば右端3文字消去とか
957名無しさん@そうだ選挙にいこう:2010/12/22(水) 20:09:18
例えば数行にわたってA列とB列をコピペすると
ペースト先が「タブで」分断されてるんです。
そのままくっつけるにはどうすればいいでしょうか?
958957:2010/12/22(水) 20:11:19
いまC列に 「=a1&b1」 として、それをオートフィルで下すべて適用して
C列のほうをコピペする方法を思いついたけど
A列B列をコピーした状態で、それをタブじゃなくくっついた状態で着地させる方法ってないものなんでしょぅか?
959名無しさん@そうだ選挙にいこう:2010/12/22(水) 20:31:20
>>954
LENとRIGHTを組み合わせてできる
基本云々に関しては、サイトを端から端まで読めとしか言えない(人によって使う機能が違いすぎるから)
ttp://www.relief.jp/itnote/
ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html
ここの二つのサイトはオススメ。
>>957
・一度メモ帳にコピペし、タブを置換、更にコピー
・右クリックでテキストとして貼付け
色々あるよ。エクセル外の文字列置換なんかはベクターでソフトごと探した方が早い場合もある
960名無しさん@そうだ選挙にいこう:2010/12/22(水) 21:19:58
>>958
無理
VBAでクリップボードの内容を書き換えるとか思いつくけど、
それなら最初からデータのコピー自体をVBAでやった方が早いし
961名無しさん@そうだ選挙にいこう:2010/12/22(水) 21:21:02
こんばんは。
果物を仕分けしたら下のようになりました。

りんご 12  青
みかん 11  オレンジ
りんご  5  赤  
ぶどう  4  紫  ってあるとします。

りんごの5個の時の色が赤と出したいのですが、
indexでりんごをA1からA4の間でりんごを探すと青が出てしまいます。
りんごと5個の時の色を出したい時はどういう数式がいいでしょうか?
積とかじゃなくて出来ますでしょうか?

ちなみにエクセル2007です。
962名無しさん@そうだ選挙にいこう:2010/12/22(水) 21:55:27
積っていうか りんごと5を連結したのをキーにしてVLOOKUP()でいいじゃん
963名無しさん@そうだ選挙にいこう:2010/12/22(水) 22:57:15
>959
LENとRIGHTを組み合わせなくても、>943(>942のより簡潔な方法)で示している通り、
MID(元の文字列のセル参照、6)でいけると思います。
964名無しさん@そうだ選挙にいこう:2010/12/22(水) 23:02:51
>>961
>>962の言うようにVlookup用のキーをつくるのが簡単だと思う。
作業列作りたくないならINDEXとMATCH組み合わせる。
あとはDGET関数を使うとかかな。
http://excel.onushi.com/function/dget.htm
965名無しさん@そうだ選挙にいこう:2010/12/22(水) 23:22:47
>>962  >>964 ありがとうございます。
くぐりたくてもその関数が分らないので助かります。とにかくありがとうです!
966名無しさん@そうだ選挙にいこう:2010/12/22(水) 23:31:45
>>965
INDEXとMATCHの組み合わせの場合

A1からC4までデータが入ってるとして
りんご 12 青
みかん 11 オレンジ
りんご 5 赤
ぶどう 4 紫

D1に りんご E1 に 5 と入力
F1に =INDEX(A1:C4,MATCH(D1&E1,A1:A4&B1:B4,0),3)
と入力たあとセル内にカーソルがある状態で Ctrl+Shift+Enter で確定
967名無しさん@そうだ選挙にいこう:2010/12/23(木) 11:17:24
>>966おお、やってみました。
Altキーと間違えていました。上手く行きました。ありがとうです。
968954:2010/12/23(木) 11:48:38
こんにちは

>>959
ありがとうございます。複乳さんですね。調べてみます。

>>963
ありがとうございます。それは便利ですね。やってみます。
969名無しさん@そうだ選挙にいこう:2010/12/23(木) 13:02:12
セル内のある条件を満たした文字列を消去したいのですが、どうすればいいでしょうか?
その条件とは、○○・・・・□□□の部分をいっぺんに消したいんです。・・・は任意の文字で、文字数は決まってません。
具体的にセルを例示すると

01abc0112xyzapple
02abc032xyzorange
03abc00100xyzlemon
04abc010xyzmelon
05abc07xyzstrawberry

のセルたちを

01apple
02orange
03lemon
04melon
05strawberry

にしたいのです。
970名無しさん@そうだ選挙にいこう:2010/12/23(木) 13:32:47
置換で一種類ずつ消してったほうが地道に速いかもね
971名無しさん@そうだ選挙にいこう:2010/12/23(木) 14:30:47
>>969
abc*xyzを置換
もっと条件が複雑ならWordで置換してからコピペという手もある
972名無しさん@そうだ選挙にいこう:2010/12/23(木) 14:34:16
>>971
ありがとうございました!
あっという間にできました。
こんなに簡単だったとは。

うわさに聞いてた*や?のなんて言うんだっけ。ただ置くだけでよかったのですね。
973名無しさん@そうだ選挙にいこう:2010/12/23(木) 14:37:00
いま文字列の作業をしてまして、
下準備として●をあるルールで挿入しました。

そして
●のところは「(1of1)」に、
●●のところは「(1of2)」に、
●●●のところは「(1of3)」に、
●●●●のところは「(1of4)」に、



<続く>

それぞれ置換したいのです。
この文字列は大量にあります。
上記のルールで一括で置換する方法はありますか?
974名無しさん@そうだ選挙にいこう:2010/12/23(木) 14:38:18
さいご●●●●●●●のところは「(1of7)」なので
まあ最悪7回置換すればいいけど、もっと簡単な方法はあるかと思って・・。
975名無しさん@そうだ選挙にいこう:2010/12/23(木) 14:39:15
今後いろんな作業(例えば●が30個がさいごの場合とか)が考えられるので
これを機会にいろんなスキルを学びたいのです。
976名無しさん@そうだ選挙にいこう:2010/12/23(木) 15:21:02
●の数を数えて、それによって数時を返すようにすれば?
かまってちゃんの匂いがプンプンするからあとは黙ってググれ。
977fuku :2010/12/23(木) 16:51:36
>>969
http://www1.axfc.net/uploader/Img/so/103436
A2=01abc0112xyzapple
B1=abc
C1=xyz
B2=FIND(B$1,A2)
C2=FIND(C$1,A2)
D2=LEFT(A2,B2-1)
E2=RIGHT(A2,LEN(A2)-C2-2)
F2=D2&E2

正規表現の置換覚えた方がいいかも
978fuku :2010/12/23(木) 17:14:29
>>973
君の作業はVBA向き。VBA学べばどんな状態になっても解決できる
>>973自体はsubstituteで置換して、LENで何箇所変わったかを取得
あとは>>977みたいに分割してくっつければok
979名無しさん@そうだ選挙にいこう:2010/12/23(木) 17:58:58
>>969
関数でなら
=CONCATENATE(LEFT(A1,2),MID(A1,SEARCH("z",A1)+1,LEN(A1)-SEARCH("z",A1)))
で。


980名無しさん@そうだ選挙にいこう:2010/12/23(木) 19:01:12
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 マクロ メール作成

マクロを使ってOutlookExpressのメールを作成はできますか?

EXCELでマクロ実行

Outlook起動(宛先、題、本文はマクロにより記入済)

手動で添付ファイルつけて送信

といった流れを実現させたいんです。
取りあえず、セルA1に宛先、B1にCC、C1にタイトル、D1〜H1に本文(改行あり)が
入っているものとして、できるのであれば回答お願いいたします。
981名無しさん@そうだ選挙にいこう:2010/12/23(木) 20:39:26
>>972
ワイルドカード
982名無しさん@そうだ選挙にいこう:2010/12/23(木) 20:42:52
2007使っています。

東京都100鈴木とか  北海道函館市500吉田貴子さんとかあるとして
それぞれ100 500とか
数字だけ抜き出すこと出来ますでしょうか?
数字は左から何番目とか決まっていません。
983名無しさん@そうだ選挙にいこう:2010/12/23(木) 20:57:21
>>982
もっと良い式あると思う

=LOOKUP(10^10,RIGHT(LEFT(A1,MATCH(9,INDEX(MID(A1,ROW($A$1:$A$50),1)*1,))),ROW($A$1:$A$50))*1)
984名無しさん@そうだ選挙にいこう:2010/12/23(木) 21:14:39
>>983サンクス しかしあんた凄いなぁ 何でこんな式が出来るんだよw
985名無しさん@そうだ選挙にいこう:2010/12/23(木) 22:23:43
>>984
あ、ごめん
=LOOKUP(10^10,RIGHT(LEFT(A1,MATCH(10,INDEX(MID(A1,ROW($A$1:$A$50),1)*1,))),ROW($A$1:$A$50))*1)
に直して。見てるといいけど。途中の9→10 に変わってる。すいません。
986fuku:2010/12/23(木) 22:47:57
>>980
「OutlookExpress vba 起動」
でぐぐればいくらでも出てくる。特にこれの一番上の検索結果ならセルのvalue当てはめるだけでとっても簡単。
コマンドプロンプト(MS-DOS)使う奴はめんどくさいからやめた方がいい
>>983
すごい。感動した。MIDに配列なのか?式の内容すらあんまりわかんねーぜ^p^
987973, 969:2010/12/24(金) 00:38:25
みなさんレスありがとうございます。

>>976 数える関数ってありましたっけ?調べてみます。そのあとも大変そうだけど。
>>978 substituteとLENの関数を使うことはわかりました。がんばってみます。VBAってそんなに便利なのですか!
>>979 すごい!でも最初数字が一桁しか出てこないのはどこか書き換える必要あり?? そういう手品みたいなマニアックな式ができるようにスキルアップしたいです。

      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
988名無しさん@そうだ選挙にいこう:2010/12/24(金) 03:00:59
うめ
989950:2010/12/24(金) 09:33:37
>>952
できました!すごいです。ありがとうございました!

まだ計算式の仕組みは理解できていないので、
今後応用できるように復習しておこうと思います。
本当に助かりました。ありがとうございました。
990名無しさん@そうだ選挙にいこう:2010/12/24(金) 09:54:46
>>985
後学のために式の意味を教えてくれ
991名無しさん@そうだ選挙にいこう:2010/12/24(金) 11:36:15
元はエクセルで作成したと思われる、
ダブルクォーテーションとカンマで数多く区切られた
テキストがメールで届きました。

これを元のセルに区切られた状態にするには、
エクセルにどのような方法で貼り付ければ良いのでしょうか?
(そのまま貼り付けただけだと、A列だけになってしまいます)
992名無しさん@そうだ選挙にいこう:2010/12/24(金) 12:07:17
>>991
貼り付けたあと区切り位置→カンマ
ダブルクォートは置換で消す
993fuku:2010/12/24(金) 12:17:28
>>990暇なので俺も考えてた。ワークシート分析→数式の検証使うといいぜ
ff23gyという文字列とする。まず、INDEXの中身から見る
index(mid("ff23gy",row($a$1:$a$50),1)*1,)
・row(a1:a50)は1-50の数字を配列で返すために使っている(COLUMN($A$1:$AX$1)でも同じ結果になる)
index(mid("ff23gy",{1;2;3; ・・(中略)・・ 49;50},1)*1,) 
・MIDで1-50文字目を一文字ずつ取り出し、配列で返す。中身は一文字ずつの文字列
index({"f";"f";"2";"3";"g";"y";"";"";・・(中略)・・"";""}*1,) 
・配列の中の文字列それぞれに*1。文字列や""はエラー値となり、数値だけが残る
index({"#VALUE!";"#VALUE!";"2";"3";"#VALUE!";"#VALUE!";・・(中略)・・"#VALUE!";"#VALUE!",) 
・index終わり。MATCH関数で並び替え無いまま第三引数を1にすると、第一引数未満・空白以外の配列の最後にある数字の場所を返す・・のか?エラーも無視するっぽい。で、LEFTでA1を切り出す
=LOOKUP(10^10,RIGHT(LEFT(A1,4),ROW($A$1:$A$50))*1)
=LOOKUP(10^10,RIGHT( "ff23" ,ROW($A$1:$A$50))*1)
・RIGHTは上のMIDと同じ。ROWで配列を返し、RIGHTでも配列を返す。{3;23;"f23";"ff23"}に*1で数値以外はエラーになる
=LOOKUP(10^10,{3;23;"#VALUE!";"#VALUE!"})
・で、これを10^10という大きい数字で検索。やはり配列の後ろから空白以外の数字で10^10未満を検索するようで、エラーも無視してくれる。MAXはエラーを返すのでここで使えない。
→23が返る。お疲れ様でした。
・難しいように見えるが、文字列を配列に格納し、最初と最後の数値をとっていた訳だな。匠の技だな。
ところで"ff03gy"だと03ではなく3だけが返ってくるけど大丈夫か。まぁいいか
994991:2010/12/24(金) 12:18:48
>>992
どうもありがとう!できました!
995名無しさん@そうだ選挙にいこう:2010/12/24(金) 12:27:18
だれか 次スレ たのむ
996名無しさん@そうだ選挙にいこう:2010/12/24(金) 12:28:53
>>990
ROW($A$A1:$A$50)は{1,2,…,50}という配列に展開される
文字列を1文字目から50文字目まで順番に切り取ってみて、
その中からLOOKUPで10^10にもっとも近い数値を検索している
数字そのものは変化しないので、結果的にもっとも桁数の多い状態の物が選ばれる

だから元の文字列が50文字を超えていたり、
含まれる数字が10桁より大きいと結果がおかしくなる
頭にゼロが付いていると文字列としては正確に切り出せない

テスト用データとして「あい12345678うえ」を用意して
10^10の部分を10^5に変えたり$A:$50を$A$5とかに変えてみると
動作の変化がわかるかと
997名無しさん@そうだ選挙にいこう:2010/12/24(金) 12:35:41
Excel2000で「PHONETIC」関数を使うのですが
「結果」として“ひらがな”がでず、入力された漢字になっています。
他に設定する箇所があるのでしょうか?
998名無しさん@そうだ選挙にいこう:2010/12/24(金) 12:37:52
仕事ではみんなに分かりやすい式を書かないとみんなが修正や編集できないから疲れるのよね。
999名無しさん@そうだ選挙にいこう:2010/12/24(金) 12:45:45
Function 数字(s)
  n = 1
  While (Mid(s, n, 1) < "0" Or "9" < Mid(s, n, 1)) And n < Len(s)
    n = n + 1
  Wend

  While "0" <= Mid(s, n, 1) And Mid(s, n, 1) <= "9"
    t = t & Mid(s, n, 1)
    n = n + 1
  Wend
  数字 = t
End Function
>>997
csvとかテキストファイルを読み込んだりデータをExcel以外の所からコピペするとそうなる
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。