10/05/24 19:34:49
▼━質問時の注意・決まり事━━━━━━━━━━
・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:名無しさん@そうだ選挙にいこう
10/05/24 19:37:06
★ルールを無視すると…
>>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:名無しさん@そうだ選挙にいこう
10/05/24 19:40:08
★ 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:名無しさん@そうだ選挙にいこう
10/05/24 19:42:40
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)
▼数式・関数
・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
・ 関数式でセルの選択状態を取得する (VBA)
・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
・ 入力したセルに結果を返す (VBA)
・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
・ 値の書き換え、値の保持 (VBA)
・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA)
・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数)
▼VBA
・ ExecuteExcel4Macroの参照で空セルと0値を区別する
・ セルの値や変数値で直接変数名を指定する (配列、コレクション)
・ VBのコントロール配列と同じような操作をしたい
(イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents)
▼ユーザーフォーム
・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む)
▼グラフ
・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
(オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
┌┐
~~
||
6:名無しさん@そうだ選挙にいこう
10/05/24 19:45:31
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。
また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。
ここに書かれてないからといって必ず出来るはずだなんて思わないように。
>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。
以上でテンプレ終わり (Excel総合相談所 89からコピペしました)
7:複乳
10/05/24 21:04:22
>>1乙
8:名無しさん@そうだ選挙にいこう
10/05/24 21:49:48
複乳の読み方を下でたしかめると「フクチチ」と出たのですが、合ってますか?
Sub gg()
MsgBox Application.GetPhonetic("複乳")
End Sub
9:前996
10/05/24 21:54:23
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 フォームコントロール 連動
御願いします。 (前997様の方法では連動しませんでした)
シート1にあるフォームコントロール(チェックボックス1)に、
チェックをつけると、
シート2にあるフォームコントロール(チェックボックス4とフォームコントロール(チェックボックス5)
も連動してチェックが付き(シート1のチェックを外すと4と5も外れる)、
かつシート2のA1セルに○を入力するといった
方法をとりたいのですが、どのように記述(VBA)したら良いでしょうか?
10:前スレ988
10/05/24 22:02:50
>>前スレ993さん、997さん
セルの色は引き継がれませんでした。
でも、全セルをコピーするのは大きな収穫でした。
ちょっとギコチないですが、それなりに動いてます。
Sub 保存()
WBN = ThisWorkbook.Name
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
For Each BTN In ActiveSheet.Shapes
BTN.Delete
Next BTN
ActiveWorkbook.Colors = Workbooks(WBN).Colors
Range("A1").Select
ActiveWorkbook.SaveAs "C:\data\" & "test.xls"
End Sub
11:名無しさん@そうだ選挙にいこう
10/05/24 22:24:55
前スレの>>979です!
前スレ>>981様、ありがとうございます!
INDEX関数を、ようやく理解することができました!本当にありがとうございます!
12:名無しさん@そうだ選挙にいこう
10/05/24 22:39:53
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel 積算 グラフ
質問です。
月次のデータと、積算データをこのようなグラフで表したいのですが、
URLリンク(markezine.jp)
シートにどういう風にデータを入力していけばいいのかと、
どのグラフを選択すればわかりません(´;ω;`)ウッ…
どなたか親切な方、お教え頂けると幸いです。m(_ _)m
13:名無しさん@そうだ選挙にいこう
10/05/24 22:47:45
>>9
フォームコントロールのチェックボックスは
Sheets("Sheet1").CheckBoxes("Check Box 1").Value
とかでアクセスする
値は xlon 又は xloff
14:名無しさん@そうだ選挙にいこう
10/05/24 22:56:19
>>12
とりあえずグラフウィザードで折れ線にしたいものも含めて積み上げ棒グラフにして
折れ線にしたい系列を選んで右クリックしてグラフの種類を折れ線
かな
15:名無しさん@そうだ選挙にいこう
10/05/25 01:59:05
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
シートが100あるのですがいちいち手入力せずに
EXCELかtxt状態の100行を貼り付けて一度に100シート名入力
できる方法はないでしょうか?
16:名無しさん@そうだ選挙にいこう
10/05/25 02:19:36
imigawakarimasen
17:名無しさん@そうだ選挙にいこう
10/05/25 02:28:00
SUIMASEN
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
ブックに100シート作りシート名を付ける場合いちいち手入力せずに
EXCELかtxt状態の100行を貼り付けて一度に100シート名入力
できる方法はないでしょうか?
18:名無しさん@そうだ選挙にいこう
10/05/25 04:29:59
A・B 2種類の数列のグラフを作った時、Aの数値が200000~2000000で
Bが100%までの数値だとAだけが見えてBは見えません
右側に%軸を追加するためにBを右クリックするにも小さすぎてなかなか選択できません
このような場合簡単に右縦軸に%軸を作成する方法はないでしょうか?
ちなみにエクセル2007です
19:名無しさん@そうだ選挙にいこう
10/05/25 05:53:15
zoomshinahare
20:名無しさん@そうだ選挙にいこう
10/05/25 07:40:10
>>17
Alt+F11キー → 開いてるブックの名前で右クリック→挿入→標準モジュール。
以下 sub ~ end sub までを全部コピペして、A列(A1~空白行の前まで)に記入。
Alt+F8で Yatuke を選択して実行。
Sub Yattuke()
' A1以下に追加したい名前を列記して、Alt+F8で Yatuke を選択して実行。
' A列(A1~空白行の前まで)に記入した内容でシートを追加するやっつけマクロ。
' やっつけなので、いろいろ不具合はあるが、とりあえず既存シートと同じ名前がなければ動く。
Dim SetSheet As String
Dim WorkRows As Integer
WorkRows = 1
SetSheet = ActiveSheet.Name
Do While Sheets(SetSheet).Cells(WorkRows, 1) <> ""
Sheets.Add
ActiveSheet.Name = Sheets(SetSheet).Cells(WorkRows, 1)
Sheets(SetSheet).Select
WorkRows = WorkRows + 1
Loop
End Sub
こういうのを求めてんのかな・・・?
21:12
10/05/25 08:21:02
>>14様
ありがとうございます!
なんとなくそれっぽいものが出来ました!
URLリンク(www.dotup.org)
出来れば、△のマークを別の記号に、たとえば○のマークに変更とかって出来たりするんでしょうか?
22:名無しさん@そうだ選挙にいこう
10/05/25 13:03:23
>>21
グラフを右クリックしてマーカーの変更、だったかな
形も色も大きさも変更できる
自分で作った画像も貼り付けられる
23:名無しさん@そうだ選挙にいこう
10/05/25 13:11:27
Excelで文字列の中に含まれた制御コードを判定したいのですが、うまくいきません。
例えばA1に改行だけを入れてB1に
=if (A1=chr(13),"改行","")
と入れて数式エラーになるのです…
どうすればいいんでしょうか
24:名無しさん@そうだ選挙にいこう
10/05/25 13:18:56
すみません。
VBがchrなので、Excel関数もてっきり、同じかと思ってました。
charにしたらうまくいったよ!幸せゲットだよ!
25:名無しさん@そうだ選挙にいこう
10/05/25 16:38:23
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel 2003
【3 VBAが使えるか .】 いいえ
はじめて質問させてもらいます。
エクセルファイルで URLがいくつも入ったデータを持っているのですが、
URLの最後のアドレス部分のみ抜き取りたいのですが、可能でしょうか?
また可能な場合どういった作業になるのでしょう?
例
URLリンク(www.yahoo.co.jp)
セルに↑のようなデータが入っています。最後の部分index.htmlだけ抽出したいのです。
どうぞよろしくお願いします。
26:名無しさん@そうだ選挙にいこう
10/05/25 16:42:33
>>20
これはいわゆるVBAっていうやつでしょうか?
VBA使わずにできる方法はないでしょうか?
よろしくお願いします
27:複乳
10/05/25 16:57:29
>>25
変なのしか出来ないな
A1=URLリンク(www.yahoo.co.jp)
B1=FIND("/",$A1)
C1=IF(ISERROR(B1),RIGHT($A1,LEN($A1)-A1),FIND("/",$A1,B1+1))
後はCを→にオートフィル、下にもオートフィル
例だとG1に出てくる
このスレのアドレス(スレリンク(bsoft板:24番)n-)だとJ1にでてくるな
vba使ったらsplitで一発なんだけど
>>26
無い
shift+F11でシートは作れるけど、名前変更はショートカットでは出来ないな
28:名無しさん@そうだ選挙にいこう
10/05/25 17:00:00
>>25
気持ち悪い方法を考えたぞ
=MID(A1,1+MAX(MOD(FIND("/",A1&"/",ROW(OFFSET(A1,1,0,LEN(A1),1))),LEN(A1))),LEN(A1))
としてctrl+shift+enter
29:25
10/05/25 17:06:29
>>27 さん
すごいっす!!
めっちゃ助かりました。ありがとうございます。
30:複乳
10/05/25 17:22:07
>>28
応用しすぎワロタ
31:名無しさん@そうだ選挙にいこう
10/05/25 23:56:01
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 検索 置換 メニューバー
↓のようにメニューバーに検索、置換それぞれ文字も入力できるようにするのはどのようにすればいいのでしょうか?
URLリンク(deliver.vector.co.jp)
32:複乳
10/05/26 14:10:58
ツールバー カスタマイズ エクセル でぐぐれ
33:名無しさん@そうだ選挙にいこう
10/05/26 21:55:00
次の表で、「見込実績」の欄に入る数字を自動化したいです。
数値が入るセルは「計画」と「実績a」~「実績d」です。
実績の欄に何も入ってないときは「計画」の値が入ります。
-------------------------------------------------
A B C D E
3 4月 5月 6月 7月
4 計画 1,000 500 2,000
5 見直
6 見込実績 1,000 500 2,000
7 実績a
8 実績b
9 付替
10 実績c
11 実績d
実績に数値が入ると、その合計が「見込実績」に入り、
「計画」との差があれば、翌月の「見込実績」に入ります。
-------------------------------------------------
A B C D E
3 4月 5月 6月 7月
4 計画 1,000 500 2,000
5 見直
6 見込実績 600 900 2,000
7 実績a 300
8 実績b 200
9 付替
10 実績c 0
11 実績d 100
よろしくお願いします。
34:名無しさん@そうだ選挙にいこう
10/05/26 22:04:25
どうせ「見直し」に数字が入ったら「見込実績」の数字を変えるんだろ?
35:33
10/05/26 22:25:13
>>34
見直しは下期になって、計画に置き換わるので、今回の質問とは関係ありません。
36:名無しさん@そうだ選挙にいこう
10/05/26 22:36:16
>33
9行目の「付替」が何を意味するかわからないけど、7行目~11行目までの計が実績と仮定します。
B6セル =IF(COUNT(B7:B11)=0,B4,SUM(B7:B11))
C6セル =IF(COUNT(C7:C11)=0,IF(COUNT(B7:B11)=0,C4,C4+B4-B6),SUM(C7:C11)) で、右にフィルコピー
「付替」を実績に含めないのであれば、COUNT(B7:B11)→COUNT(B7:B8,B10:B11)などのように変更のこと。
ただし、当方OOoのCalcで作った(;→,の変更のみ)ので、あしからず
37:名無しさん@そうだ選挙にいこう
10/05/26 22:45:11
>>25
関数やvbaなんか使わなくても
*/ を置換で消せば一発なんだが。
38:33
10/05/26 23:09:08
>>36
ありがとうございます。
B6は、=IF(AND(B7="",B8="",B10="",B11=""),B4,B7+B8+B10+B11)と
考えてみましたが、=IF(COUNT(B7:B11)=0,B4,SUM(B7:B11))の方が
シンプルでいいですね。
39:名無しさん@そうだ選挙にいこう
10/05/26 23:19:54
>33 まあおんなじだけど
B6 : =IF(SUM(B7:B11)>B9,SUM(B7:B11)-B9,B4)
C6 : =IF(SUM(C7:C11)>C9,SUM(C7:C11)-C9,C4+B4-B6)
40:名無しさん@そうだ選挙にいこう
10/05/27 00:35:24
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000
エラーが出るのでF8で検証してます。
①も②もセレクトしてくれるのに、③で
実行時エラー424
オブジェクトが必要です というエラーが出ます。
なにがマズーでしょうか?
① Cells(i, 12).Select
② Range("A65536").End(xlUp).Offset(, 2).Select
② Cells(i, 12).Copy Destination:=Range("A65536").End(xlUp).Offset(, 2)
41:名無しさん@そうだ選挙にいこう
10/05/27 00:41:22
>>32
分かりません…
42:名無しさん@そうだ選挙にいこう
10/05/27 00:45:15
エラーが出るのでF8で検証してます。
(1)も(2)もセレクトしてくれるのに、(3)で
実行時エラー424
オブジェクトが必要です というエラーが出ます。
なにがマズーでしょうか?
(1) Cells(i, 12).Select
(2) Range("A65536").End(xlUp).Offset(, 2).Select
(3) Cells(i, 12).Copy Destination:=Range("A65536").End(xlUp).Offset(, 2)
43:複乳
10/05/27 00:53:34
>>40
ならん。多分iが0か65537以上になっている
と思ったが違うかなー。
コードを全部教えて欲しい
>>41
新しいツールバー作ってボタン乗せてマクロの記録で記録したコード登録と思う
やった事ないけど
また明日
44:名無しさん@そうだ選挙にいこう
10/05/27 01:05:00
>>43
Cells(i, 12).Copy Destination:=Range("A65536").End(xlUp).Offset(0, 2) にしたら動きました。
なんででしょう???
ついでに・・・
Range(Cells(i, 15), Cells(i, 18)).Copy Destination:=Range("A65536").End(xlUp).Offset(0, 4) の値を
プラスマイナス反転させるにはどうすればいいでしょうか?
-(Range(Cells(i, 15), Cells(i, 18)).Copy) と書いたらコンパイルエラーになってしまいました(><)
45:複乳
10/05/27 01:35:12
>>44
知らん
一旦変数に入れて*-1
もしくはcells(1,1).value=-cells(1,2).value
toka
46:複乳
10/05/27 09:45:47
>>41
何でわかんねーンだよw
URLリンク(www1.axfc.net)
こんな漢字
>>44
知らんってのはoffsetの件ね
引数は0でも入れておいたほうがいいんじゃない
-(Range(Cells(i, 15), Cells(i, 18)).Copy)
に関しては、rangeはオブジェクトっていって色々な要素を持つ
Range(Cells(i, 15), Cells(i, 18))のvalue(値)なのかrow(行)なのかhidden(表示/非表示フラグ)わからない
そのどれをマイナスにするか分からないし、そもそも記述もテキトーすぎる
言いたいことは分かるんだけどな
47:名無しさん@そうだ選挙にいこう
10/05/27 21:57:53
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A12にオンラインで株価を取得する関数が入っているのですがOLで繋がっている時は
数値が表示されますが通信を切断すると関数の文字列に変わってしまいます。
なのでその値のみをB12に自動的にコピーしたいのですがどのような関数を用いれば良いでしょうか?
宜しくお願いします。。。
48:名無しさん@そうだ選挙にいこう
10/05/27 22:06:20
値でコピーする
自動的にするためにはVBAしかない
49:名無しさん@そうだ選挙にいこう
10/05/27 22:11:25
>>47
>>48に追加するとマクロの記録程度でできるから試してみれば?
50:名無しさん@そうだ選挙にいこう
10/05/27 22:27:33
>>46
ありがとうございました。
メニューバーに文字を打ちたいのです!
マクロですか?
51:名無しさん@そうだ選挙にいこう
10/05/27 22:29:29
やはりVBAですよね・・・ちょっと調べてみます
52:33
10/05/28 00:15:59
33です。
36の例で試してたら、4月5月が0のとき6月は3,500になるべきが
2,500になってしまいます。
-------------------------------------------------
A B C D E
3 4月 5月 6月 7月
4 計画 1,000 500 2,000
5
6 見込実績 0 0 2,500
7 実績a 0 0
8 実績b 0 0
9
10 実績c 0 0
11 実績d 0 0
39の例だと、予想外の数字が・・・
-------------------------------------------------
A B C D E
3 4月 5月 6月 7月
4 計画 1,000 500 2,000
5
6 見込実績 0 1,500 1,000 1,000 -1,000 1,000
7 実績a 0 0
8 実績b 0 0
9
10 実績c 0 0
11 実績d 0 0
再度お助けを。
53:名無しさん@そうだ選挙にいこう
10/05/28 00:21:32
意味のない引き算してる
多分1000を変えたらその金額も変わる
54:33
10/05/28 00:37:22
自己解決しました。
55:名無しさん@そうだ選挙にいこう
10/05/28 22:30:50
>>53
w
56:名無しさん@そうだ選挙にいこう
10/05/29 00:23:09
>>44
…Offset(, 2)はダメで…Offset(0, 2)なら動く
なんて事はないよ。問題は別にある。
貧乳も余計なアドバイスしない方がいい。
あと、インタプリタにコンパイルエラーは無いし
マイナスのオブジェクトも存在しない。
57:名無しさん@そうだ選挙にいこう
10/05/29 00:40:10
>インタプリタにコンパイルエラーは無いし
へぇ~
URLリンク(uproda.2ch-library.com)
58:名無しさん@そうだ選挙にいこう
10/05/29 01:17:56
恐れ入りますが、お詳しい方宜しくお願いします。
日付 1日 2日 3日 4日 5日
10 10 15 20 10
15 10 20 15 20
10 10 10 10 10
日計 35 30 45 45 40(オートSUM済)
累計 35 65 110 155 195
当日の累計を出す際ですが、自動的に前日の累計に今日入力した
日計を足す操作方法を教えてください。前任者は、前日の累計を
クリックして横に引っ張ったまま、今日の日計の部分をクリック
すると加算された累計が出ると言うのですが、何度やっても出来
ないので、自分で計算して手入力してます。初歩的なことで、
恐縮ですが、お願いします。
59:38
10/05/29 01:27:56
申しワケありません。日付の下の数字が、全部左に寄ってしまった・・・
60:名無しさん@そうだ選挙にいこう
10/05/29 05:08:15
"日付"がA1セルに入ってるとして、
累計の左から=B5, =B7+C5と入れてオートフィル・・・じゃダメなの?
61:Cherry ◆d/pQlCc6hA
10/05/29 05:51:54
>>58
「累計」が6行目だとして、
B6=SUM($B5:B5)、右にオートフィルでいかがでしょう。
62:名無しさん@そうだ選挙にいこう
10/05/29 20:32:09
>>58
=SUM(B5,A6)
63:名無しさん@そうだ選挙にいこう
10/05/29 20:38:52
>>58
累計の出し方も分からないなら見込みがないからやめた方がいいかもね。
上のセルと左のセルを足すだけだろ?
いちいち最初から合計するやつはヴァカ。
64:名無しさん@そうだ選挙にいこう
10/05/29 21:04:04
【1 OSの種類 .】 WindowsXP SP4
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】Dim hogehoge As Worksheet
【やりたいこと】
・他のブックのシートを書き出したい。
セルA2に任意のブック「piyo.xls」のアドレス「c:\hoge\piyo.xls」を入力しておき、 ブック「piyo.xls」のシート名をセルA4以下に書き出したい。
【やってみたこと】
↓これだと、このマクロのあるブックに含まれるシートがセルA4以下に書き出されてしまう。
Sub MCR_FindSheetName()
Dim tempSheet As Worksheet
Range("A4").Select
For Each tempSheet In Worksheets
With ActiveCell
.Value = tempSheet.Name
.Offset(1).Select
End With
Next
End Sub
65:名無しさん@そうだ選挙にいこう
10/05/29 21:39:27
>>64
そりゃ、ブックを何も指定してないから・・・
サンプル
Sub MCR_FindSheetName()
Dim tempSheet As Worksheet
Dim r As Range
Set r = ActiveSheet.Range("A4")
Workbooks.Open (Range("a2").Value)
For Each tempSheet In Worksheets
With r
.Value = tempSheet.Name
Set r = .Offset(1)
End With
Next
End Sub
66:名無しさん@そうだ選挙にいこう
10/05/29 21:57:47
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 フーリエ級数+Excel,マクロなど:似たことをしようとしているページは見つけましたがよくわからずです
【やりたいこと】
フーリエ級数の計算をExcelにやらせたいと考えています。具体的には元の関数f(x)に対して成り立つフーリエ級数 f(x)=a0/2 + Σ[k=1→∞](ak*coskx + bk*sinkx) を計算させるというものです。
ただフーリエ係数のうちa0を含めakは0であることが既知ですので、f(x)=Σ[k=1→∞](bk*sinkx)のみの計算をしようとしています。
現在
・B1から下(B列)にはθ[rad]、-π~πを360個のセルで
・C1から下(C列)にはk (ex) C1セルには1、C2セルには2・・・
・O1から下(O列)にはbk (ex) O1セルにはb1、O2セルにはb2・・・
が計算済みとなっています。ここでQ列からフーリエ級数の計算をさせようと考え、
Σ(bk × sinkθ) ですから
Q1セルに =$O$1*SIN($C$1*B1) → 下向きにオートフィル
と入力しました。これでb1*sin(1*θ)のみのΣになりますよね?続いてR列には第二次までにしようと考え、
R1セルに =$O$1*SIN($C$1*B1)+$O$2*SIN($C$2*B1) → 下向きにオートフィル
と入力しました。これでb1*sin(1*θ)+b2*sin(2*θ)になりますよね?
これをS,T,U・・・と高調波を増やしながら演算させていきたいのですが、このように「計算項をどんどん増やしていく」という作業が当方わかりません。
理想としては kを指定するセルがあって、ここに100などと入力すると100次高調波までΣされたものが△1セルに出力される、なんてことをしてみたいのですが、関数では実現不可能なのでしょうか?
マクロを使っても構いません。当方マクロの知識がなく、途方に暮れております。
何か質問があれば迅速な回答を心がけますので、よろしくお願いいたします。
67:名無しさん@そうだ選挙にいこう
10/05/29 22:45:51
複合参照を使う。それまでの計算結果を使う。
たとえば、1行目のB~J列に1~9。A列2~10行目に1~9を入れて
B2に =$A2*B$1 として下と右にオートフィルすれば九九の表ができます。
B列はそのままでC2に =B2+$A2 として下と右にオートフィルしてもできます。
2行目はそのままでB3に =B2+B$1 として下と右にオートフィルしてもできます。
68:64
10/05/29 23:01:31
>>65氏
Set r = ActiveSheet.Range("A4")
Workbooks.Open (Range("a2").Value)
ここの箇所が思いつかなかった。THXです。
69:名無しさん@そうだ選挙にいこう
10/05/30 00:08:01
文字の下の下線なのですが
担当者___________________ってやりたい場合(担当者の下にも下線があります)スペースを入れると一時的に下線が引かれるのですが
他のセルをクリックすると消えてしまうのですがこのようなやり方は邪道なのでしょうか
70:66
10/05/30 00:16:10
>>67さん
ありがとうございました。$1個っていう使い方が・・・。
無知で申し訳なかったです。
71:名無しさん@そうだ選挙にいこう
10/05/30 01:51:20
>>68
ブックを指定しないのは気持ち悪いね。
エラー処理なしだと
Sub MCR_FindSheetName()
Dim tempSheet As Worksheet
Dim r As Range
Dim wb As Workbook
Set r = Range("A4")
Set wb = Workbooks.Open (Range("a2").Value)
For Each tempSheet In wb.Worksheets
r.Value = tempSheet.Name
Set r = r.Offset(1)
Next
End Sub
72:名無しさん@そうだ選挙にいこう
10/05/30 07:08:36
>>69
当方の2002では他のセル選択しても消えないけど。
73:名無しさん@そうだ選挙にいこう
10/05/30 12:16:39
VBAでセル内容を数式にしたいとき
cells(1,1).value="=sum(b2:b10)"
cells(1,1).formula="=sum(b2:b10)"
cells(1,1)="=sum(b2:b10)"
のどれも同じですよね?
なにか違いはあるのですか?
気になって夜も眠れません
74:名無しさん@そうだ選挙にいこう
10/05/30 12:21:46
あと
cells(1,1).FormulaR2D2="=sum(b2:b10)"
みたいなのもあるらしいが、区別すべきですか?
75:名無しさん@そうだ選挙にいこう
10/05/30 12:36:17
>>73
cells(1,1).value="=sum(b2:b10)"
の省略形が
cells(1,1)="=sum(b2:b10)"
なので、このふたつは全く同じ。
formula は知らん。
76:73
10/05/30 12:48:08
>>75
どうもです
どなたかformulaのこと知りませんか?
77:名無しさん@そうだ選挙にいこう
10/05/30 15:53:19
【1 OSの種類 .】 Windows xp home edition
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 IF関数 論理式 数式
--------------------------------------------------------------
エクセルの練習のために家計簿を作っており、以下のようなシートを作っています。
A B C
4 2010/6/1 =A4 =IF(A4="日","休日",IF(A4="土","休日",IF(A4="金","休前日","平日")))
5 2010/6/2 =A5 =IF(A5="日","休日",IF(A5="土","休日",IF(A5="金","休前日","平日")))
6 2010/6/3 =A6 =IF(A6="日","休日",IF(A6="土","休日",IF(A6="金","休前日","平日")))
7 2010/6/4 =A7 =IF(A7="日","休日",IF(A7="土","休日",IF(A7="金","休前日","平日")))
---------------------------------------------------------------------------
B列はユーザー定義で「aaa」にしており、自動的にA列の曜日が出るようになっています。
B列に「月」、「火」、「水」、「木」と表示されるときは、C列に「平日」を、
B列に「金」と表示されるときは、C列に「休前日」を、
B列に「土」、「日」と表示されるときは、C列に「休日」を表示するため、
C列に「=IF(A4="日","休日",IF(A4="土","休日",IF(A4="金","休前日","平日")))」を入力しましたが、
全て表示が「平日」になってしまいます。
どうすれば「平日」、「休前日」、「休日」を表示されるか教えてください。
78:名無しさん@そうだ選挙にいこう
10/05/30 16:28:46
>>77
A列もB列もシリアル値が入っているからね・・・
=IF(TEXT(A1,"aaa")="日","休日",IF(TEXT(A1,"aaa")="土","休日",IF(TEXT(A1,"aaa")="金","休前日","平日")))
でもweekday関数を使って
=IF(WEEKDAY(A1,2)>=6,"休日",IF(WEEKDAY(A1,2)=5,"休前日","平日"))
79:名無しさん@そうだ選挙にいこう
10/05/30 17:12:10
どうもありがとうございます。
シリアル値という概念をはじめて知りました。
80:名無しさん@そうだ選挙にいこう
10/05/30 17:27:26
>>73
Value は値を設定するプロパティ
Formula はA1形式の数式を設定するプロパティ
FormulaR2D2 では無く FormulaR1C1 はR1C1形式の数式を設定するプロパティ
そんで、Excelはプロパティを省略しても、ある程度区別してそれぞれのプロパティに
設定してくれるから違いが解りずらいけど
きちんと区別した方がいい
詳しくはヘルプをみた方が早い
81:名無しさん@そうだ選挙にいこう
10/05/30 18:17:20
凄く初歩的な質問ですみませんが、
B列に1から順番にint型の数字を追加する際に、
C列に「B列に0.9かけた値を表示する」という数式を作りたいと思っています。
ただ、B列に追加されるデータ数が未知であり、時が立つとどんどん追加されます。
この時、C列に上記の数式を実現するには、どのセルにどのような数式を足せばいいでしょうか?
excel2000を使ってます
82:名無しさん@そうだ選挙にいこう
10/05/30 18:21:37
>>81
うん?よく分からない
=IF(B1="","",B1*0.9)
下にコピー ってことじゃないよね?
83:名無しさん@そうだ選挙にいこう
10/05/30 18:52:33
>>82
説明が下手ですみません。
式自体はそうなるかもしれませんが、B列に追加されるデータ数がどんどん増える可変長なのです。
B1~BXまで、どんどんデータが追加されるとき、いちいちC列に>>82式をコピーしなくても、
自動的に、例えばB32にデータが入力されたらC32にB32*0.9の値が出力されるようにしたいのです
84:名無しさん@そうだ選挙にいこう
10/05/30 18:56:37
77氏ではないですが・・・
77の例で、B列を条件(1) [セルの値が] [次の値に等しい] [="土"] にして
書式のフォント色を青にしましたが色が変わりません。
設定ミスでしょうか?
85:名無しさん@そうだ選挙にいこう
10/05/30 19:06:43
>>84
だから・・ww
シリアル値が入っているからね・・・・
数式で
=TEXT(A1,"aaa")="土" とかにしてくれ
86:名無しさん@そうだ選挙にいこう
10/05/30 19:09:26
>>83
最初から>>82の式をあらかじめコピーしておいたらいいじゃん(´・ω・`)
B列に何も入力していなかったら、見た目はブランクだよ
87:名無しさん@そうだ選挙にいこう
10/05/30 19:15:18
>>86
アドバイスありがとうございます。
私も最初はそのように考えたのですが、データの数が100や200を超える予定であり、
かつ何個になるのか分からないので、どのようにすべきか悩んでおります…
88:名無しさん@そうだ選挙にいこう
10/05/30 19:26:55
>87
B65535まで式を入れておけば悩むことはない
89:名無しさん@そうだ選挙にいこう
10/05/30 19:55:55
>>85
㌧
90:名無しさん@そうだ選挙にいこう
10/05/30 20:41:48
>>83
VBAのワークシートチェンジを使う
分からないor勉強する気がないなら冗談でも何でも無く
>>86>>88しかない
まぁC列には色つけてからオートフィルタでもすれば式の入れ忘れはそうそうないだろう
後は0.9かけてなにがしたいかによる
例えば合計なら=sum(b:b)*0.9でいいし平均なら=sum(b:b)*0.9/count(b:b)だ
91:名無しさん@そうだ選挙にいこう
10/05/30 21:42:47
VBAでステートメントの辞書的な本で
初心者から中級者向けの本のおすすめを教えていただけませんか?
92:名無しさん@そうだ選挙にいこう
10/05/30 21:47:25
>>90
ありがとうございます。
やりたいことは、0.9かけて小数点以下を切った値を和算したいのです。
全体を足してから0.9かけると別の値になってしまうため、上記の方法を考えています
93:名無しさん@そうだ選挙にいこう
10/05/30 23:05:26
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 たぶん
【4 VBAでの回答の可否】 可
If Cells(i, 4).Value - Cells(i, 12).Value = 0 Then で分岐したら
条件に合わない例が出てきたので、値をみたら-0.00000になってました。
見た目は小数点5ケタの数値で0なのに、なんでこうなってしまうのでしょうか?
94:複乳
10/05/30 23:24:52
>>91
大抵の人は一冊テキトーに買って後は検索ってパターンが多いと思う
俺はかったことが無いけど
MSDN等を調べるか、やりたい事をぐぐったほうが早いと思う
ちなみにプログラム板にVBA専用のスレがある
>>92
配列数式かな
=SUM(INT(B1:B60000))
でCtrl+shift+enterで決定。配列数式の意味は検索して
>>93
多分それ、もっと少ない数じゃないか?-0.000000001とか
小数誤差とおもう。適当なところで切り捨てして比較した方が良いよ
If int(Cells(i, 4).Value*1000) - int(Cells(i, 12).Value*1000) = 0 Then
みたいな感じで
小数誤差の説明は長くなるのでぐぐってくれ
95:名無しさん@そうだ選挙にいこう
10/05/30 23:47:08
>>94
ありがとうございます。配列数式をググってみて、一応理解したつもりなのですが、
配列数式では配列内の各値を0.9倍して端数を切り捨てしたものを合計する、とは出来るのでしょうか?
96:名無しさん@そうだ選挙にいこう
10/05/31 00:13:24
配列数式をB1:B60000までというのもすごい発想。
>>95 できるけど、重くなるから。正直、良い方法とは思えない
97:名無しさん@そうだ選挙にいこう
10/05/31 07:20:11
>>96
B1:B60000じゃないだろ?
1個だと思うなぁ。
98:名無しさん@そうだ選挙にいこう
10/05/31 08:33:46
Windows7 32bit Excel2007を使用。
特定のキーを押せば、特定の文字を打ち込んだり、文字や背景の色を変えることって出来ますか?
例えば、F1を押せば「おはようございます」
F2を押せば「こんにちわ」 F3なら「こんばんわ」
F4を押せば背景が赤く F5なら背景が青く F6なら背景が緑
F7を押せば文字が赤く F8を押せば文字が青く
といった感じにです。
99:名無しさん@そうだ選挙にいこう
10/05/31 08:43:37
>>95
配列で60000まで指定するよりは
=SUMPRODUCT(INT(OFFSET(B1,0,0,COUNTA(B:B),1)*0.9))
とかの方がいいと思うけれど、offsetも重くなるかな。それとこの式の意味が分からないと間違いの元だしね
100:名無しさん@そうだ選挙にいこう
10/05/31 08:46:46
>>98
ファンクションキーはすでに割り当てられているから
URLリンク(office.microsoft.com)
もうちょっと違うキーに割り当てることもできるけど、たぶん操作が難しくなるだけだと思うよ
101:複乳
10/05/31 10:07:41
>>95
それが配列数式の{=SUM(INT(B1:B60000))}だよ。
ちなみにどこでもいいから一箇所に入れるだけでいい
>>96
そうはいうがvba無しで逐一作業列を作らずに合計を出すには配列数式使わずに
どうすればいいの、と思ったら>>99があったか
offsetは揮発性だけど重さ的には似たようなもんじゃないか。
最高でも60000個少々の足し算だ
102:名無しさん@そうだ選挙にいこう
10/05/31 10:53:00
>>101
SUMPRODUCTも実質的には配列数式だよ。
重さもこのケースでは配列数式と全く変わらないし。
SUMPRODUCTがほんのちょびっと軽くなるのは右辺をカンマで区切った場合だけ。
重さ軽さはどうでも無駄を嫌うのであればINDEXを使うべきだよ。
=SUMPRODUCT(INT(B1:INDEX(B:B,COUNTA(B:B))*0.9))
=SUM(INT(B1:INDEX(B:B,COUNTA(B:B))*0.9))の配列数式。
どっちでもいい。
揮発性じゃないがブックを開いた時にも再計算する。
ブックオープン時以外ではもちろんB列を変更した時だけ再計算。
OFFSETはどこのセルいじくっても再計算だから無駄。
無駄の消費に喜びを感じてる人はどうぞ。
103:名無しさん@そうだ選挙にいこう
10/05/31 11:11:01
>>102の方法がスマートだね。ただ、原点に帰ると、作業列を使った方がいいよ
無理に配列を使わなくても、作業列があった方が後からわかりやすいし
104:名無しさん@そうだ選挙にいこう
10/05/31 11:28:21
>>103
102だが原点に帰ればまったくそのとおり。
A列の1個のセルを変更した場合、作業列なら0.9倍するのはその右の1個の計算式だけ。
配列数式なら全データを0.9倍する。
合計するコストは同じだが、0.9倍するコストは作業列が少ない。
105:名無しさん@そうだ選挙にいこう
10/05/31 20:09:36
質問です。
excelで普通の棒グラフを作成する場合、通常ですと下記のようになりますが
(均等に棒線が描かれる)
200 ■ ■ ■ ■
150 ■ ■ ■ ■
100 ■ ■ ■ ■
A B C D
このようにしたい場合はどうすれば良いですか?
(ABは同じ比較対象で、CDは同じ比較対象。だがAとCは離したい)
200 ■ ■ ■ ■
150 ■ ■ ■ ■
100 ■ ■ ■ ■
A B C D
106:名無しさん@そうだ選挙にいこう
10/05/31 20:41:18
>105
A,B,E,C,D の5個のデータを用意してEには値0を設定する方法じゃダメですか?
107:名無しさん@そうだ選挙にいこう
10/05/31 20:42:54
普通にBとCを離せばいいんじゃね?
108:名無しさん@そうだ選挙にいこう
10/05/31 20:43:30
データ0にして標題空白
109:名無しさん@そうだ選挙にいこう
10/05/31 21:04:25
>>106
ありがとうございます。それでやってみます。
AとB、CとDのグラフをぴったり横にくっつけるのは可能でしょうか?
110:106
10/05/31 21:16:41
>109
グラフの棒の間隔はグラフ描画サイズと項目数に依存ので、いろいろ調整してみてください
場合によっては、値0の項目が1個じゃなくて複数必要になるかも
111:58
10/05/31 22:09:35
>>60 61 62 63様へ
レスどうもありがとうございました。おかげ様で解決致しました。
本当に感謝しております。
112:名無しさん@そうだ選挙にいこう
10/05/31 22:17:24
2007のファイルを2003で変換して開く時に、なぜか読み取り専用で開かれ、ファイル名が「XL000000001」になってしまった。
拡張子はxlsx、xlsmの2つを試したけど、とにかく数字が増えていく。
今までこんな現象を見たことがないんだけど、どういうことでしょう???
113:名無しさん@そうだ選挙にいこう
10/06/01 06:44:47
>>111
データ系列を見直した方がいいかも。
114:名無しさん@そうだ選挙にいこう
10/06/01 18:43:38
>>91
ちょっと古いけど、
ExelVBAハンドブック
西沢夢路
オススメ!
115:名無しさん@そうだ選挙にいこう
10/06/01 23:24:17
このような表があって、特定の行のG~L列の値をA列の最下行へコピペし、
D~Fまでの数値だけ符号を反転させるマクロの書き方についてです。
A B C D E F G H I J K L M N
10 AAA ああ 1 0.11 0.22 0.33 0.44 EEE うう 2 0.44 0.55 0.66 0.77
11 BBB いい 1 0.12 0.23 0.34 0.45 FFF ええ 1 0.45 0.56 0.67 0.78
12
13
例えば、行 = 10 のときは、こんな感じに。
A B C D E F G H I J K L M N
10 AAA ああ 1 0.11 0.22 0.33 0.44 EEE うう 2 0.44 0.55 0.66 0.77
11 BBB いい 1 0.12 0.23 0.34 0.45 FFF ええ 1 0.45 0.56 0.67 0.78
12 EEE うう 2 -0.44 -0.55 -0.66 -0.77
13
で、書いたのがこれです。もうちょっとスマートな書き方があれば教えてくだちい。
Range(Cells(行, 8), Cells(行, 10)).Copy Destination:=Range("A65536").End(xlUp).Offset(1, 0)
Range("A65536").End(xlUp).Offset(0, 3).Value = Cells(行, 11).Value * -1
Range("A65536").End(xlUp).Offset(0, 4).Value = Cells(行, 12).Value * -1
Range("A65536").End(xlUp).Offset(0, 5).Value = Cells(行, 13).Value * -1
Range("A65536").End(xlUp).Offset(0, 6).Value = Cells(行, 14).Value * -1
116:名無しさん@そうだ選挙にいこう
10/06/02 01:21:24
エクセル2003で行を削減すると最終行に罫線が勝手にコピーされてしまい、行の挿入ができなくなってしまいます。
これを防止するにはどうすればいいでしょうか?
117:複乳
10/06/02 08:00:01
>>115
その行程度ならそれでもいいと思うけど
Sub fukunyu()
Dim 行, saigo, i
行 = 10
'最終行は変数に入れる
saigo = Range("A65536").End(xlUp).Row + 1
'最初に全部コピーしてから
Range(Cells(saigo, 1), Cells(saigo, 6)).Value = Range(Cells(行, 8), Cells(行, 14)).Value
'マイナスに
For i = 4 To 7
Cells(saigo, i) = -Cells(saigo, i)
Next
End Sub
>>116
質問の意味がよく分からない
削減じゃなくて削除と思うけど罫線がコピーされることはない
最初から入ってるんじゃないの
118:名無しさん@そうだ選挙にいこう
10/06/02 16:00:47
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 EXCEL 特定文字 乱数
1 3 4 5の4つの数字を使い4桁の数字を作りたいと思っています
1111
1113
1114
1115
1131
1133
1134
1135
と言う風にする関数等は用意されていない物でしょうか?
119:名無しさん@そうだ選挙にいこう
10/06/02 16:18:11
>118
for~nextの4重ループと、ループ変数の値(1,2,3,4)を(1,3,4,5)に置き換える処理で簡単にできますよ。
ちょっと待ってて
120:名無しさん@そうだ選挙にいこう
10/06/02 16:19:30
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可、できるだけ無い方が助かります
【5 検索キーワード 】 複数条件、SUMIF、IF、SUM
URLリンク(www.dotup.org)
上記の画像のような状態で、
受験者の回答と正解を比較して、真なら配点を追加、偽なら0を追加という風な作業を問題数の数だけ行い、
最終的に合計点を求めて出力したいのですが、何かいい方法はないでしょうか?
色々調べてみたのですがExcelに慣れておらずまったくできませんでした。
よければアドバイスください。
121:名無しさん@そうだ選挙にいこう
10/06/02 16:22:20
>>119
そうか!置き換えればいいのか
2を5にすればいいんですな
122:119
10/06/02 16:42:29
作ってみた
Option Explicit
Dim h As Integer, i As Integer, j As Integer, k As Integer
Dim suretsu As Variant, tate As Integer
Sub ex118()
suretsu = Array(1, 3, 4, 5)
tate = 1
For h = 0 To 3
For i = 0 To 3
For j = 0 To 3
For k = 0 To 3
Cells(tate, 1).Value = _
1000 * suretsu(h) + 100 * suretsu(i) + 10 * suretsu(j) + suretsu(k)
tate = tate + 1
Next k
Next j
Next i
Next h
MsgBox ((tate - 1) & "件のデータを書き込みました")
End Sub
123:名無しさん@そうだ選挙にいこう
10/06/02 17:08:32
>120
途中まで作ってみた。要領がわかったら続きはご自分でどうぞ。
もっとスマートな方法もあると思うので、詳しい方よろしく。配列数式がどうのこうのという方法です。
受験番号1の人の問題番号1~3についての得点の計算方法です。
=(C8=$C$3)*$C$4+(D8=$D$3)*$D$4+(E8=$E$3)*$E$4
(C8=$C$3)の部分は論理式と言って、真か偽ですが、掛け算の片方のときは1か0になります。
回答が正解と一致していれば$C$4の値を×1したもの($C$4の値そのまま)になります。
不正解なら0になります。これを10個つなげればいいわけです。
問題番号7、8の部分も完全一致したときだけ得点になります。片方だけ一致で5点とかの条件が付く
場合には計算式だけでは無理かと思います。
124:名無しさん@そうだ選挙にいこう
10/06/02 19:31:33
test
125:名無しさん@そうだ選挙にいこう
10/06/02 19:36:20
お、アク禁解除されてた。
testカキコ失礼しました。
>118
8桁の2進数に直して、2桁づつ
00→1 01→3 10→4 11→5
に置き換える というのは?
126:123
10/06/02 20:05:21
>120
もっとスマートな方法です。
=SUMPRODUCT((C8:L8=$C$3:$L$3)*$C$4:$L$4)
C8:L8 とか $C$3:$L$3 などのセル範囲を使って論理式や計算を表すのが配列数式です。
127:115
10/06/02 23:22:36
>>117
簡略して書いたので、実際にはもっと長いです。
-Cells(saigo, i)って略せるんですね(@_@
128:名無しさん@そうだ選挙にいこう
10/06/03 01:07:50
セルにコメントを書くマクロですが、【あ】のところが
Cells(i, 4).AddComment Text:="" & OLD_QTYだと動くのに、
Cells(i, 4).AddComment Text:=OLD_QTYだと止まってしまいます。
これは何故でしょうか?
OLD_QTY = Cells(i, 4).Value '数字
If Not Cells(i, 4).Comment Is Nothing Then
Cells(i, 4).ClearComments
End If
【あ】
129:名無しさん@そうだ選挙にいこう
10/06/03 01:20:48
お願いいたします。
エクセルで受注表を作成しているのですが、途中データコピーなどで
いろいろなブックからシートコピーをしました。
で、作成し終わってコピーしてきたシートを削除したのですが
その後、立ち上げるたびに「リンク更新 はいorいいえ」を聞いてきます。
現在リンクを必要としない状態にしましたのでメッセージが出ないようにしたいのですが
どのようにしたらいいのでしょうか?
編集→リンクの設定でみると確かにリンク先が記録されているのですが、
間違いなく現在利用していません。
ツール→オプションにてメッセージが出ないようにしてみましたが、開くかキャンセルするか
のウインドーがいちいち立ち上がるので、このやり方では無かったです。
どなたかよろしくお願いいたします。
130:名無しさん@そうだ選挙にいこう
10/06/03 02:02:50
Application.AskToUpdateLinks = False
131:名無しさん@そうだ選挙にいこう
10/06/03 06:31:52
>>129
いらないなら、リンクを削除すれば?値だけが残るよ
132:名無しさん@そうだ選挙にいこう
10/06/03 08:02:01
>>128
鳴らない
マクロ書くときはsub~endsubで書いて
>>129
リンクされている
[ を検索、無ければ新しいシートに必要なところだけコピー
133:名無しさん@そうだ選挙にいこう
10/06/03 08:57:46
ありがとうございます。
全シート数式表示にしてチェックしたのですが、リンクされている
セルが見つからず、削除できません。
どうやって検索するのですか?
>>130
私への回答ですか?どうするのかよく分かりません。
すいません
134:複乳
10/06/03 09:18:38
>>133
URLリンク(www.eurus.dti.ne.jp)
検索で見つからないなら>>132の通り新規シートに必要なところだけコピー
135:名無しさん@そうだ選挙にいこう
10/06/03 09:34:12
>>134
早い回答ありがとうございます
会社に着いたらやってみます
136:名無しさん@そうだ選挙にいこう
10/06/03 13:21:45
A列に動物の名前がランダムで入っているとして、
キリンは2個あるから背景を青、カバとクジャクは3個あるから背景を緑みたいに
列に存在する個数ごとに色分けすることは出来ますか?
137:名無しさん@そうだ選挙にいこう
10/06/03 13:48:45
>136
A列選択、条件付き書式で
数式が =COUNTIF(A:A,A1)=2
で書式→パターンを青に
条件を追加して =3 の時、緑に設定
138:名無しさん@そうだ選挙にいこう
10/06/03 14:24:46
>118
そういう関数はないから下のFunctionを標準モジュールに
置いてから、=dec2quat(int(rand()*256)) とか記述汁。
Function dec2quat(arg As Integer) As String
Dim n(4)
If arg < 0 Or arg > 255 Then
dec2quat = "Error"
Else
For i = 0 To 3
n(i) = arg Mod 4
If n(i) > 0 Then n(i) = n(i) + 2 Else n(i) = 1
dec2quat = n(i) & dec2quat
arg = arg \ 4
Next
End If
End Function
139:136
10/06/03 16:04:51
>>137
出来ました! どうもありがとう。
140:名無しさん@そうだ選挙にいこう
10/06/03 20:20:50
Sub 鳴らないと答えた132()
i = 3
OLD_QTY = Cells(i, 4).Value '数字
Cells(i, 4).Value = Range("A1").Value
If Not Cells(i, 4).Comment Is Nothing Then
Cells(i, 4).ClearComments
End If
Cells(i, 4).AddComment Text:=OLD_QTY
Cells(i, 4).AddComment Text:="" & OLD_QTY
End Sub
141:名無しさん@そうだ選挙にいこう
10/06/03 21:23:33
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 データ 抽出
以下のように、メンバー全員分の最高得点だけを抽出したいです
A B
1 伊藤 60
2 田村 78
3 東山 90
4 田村 82
5 伊藤 88
6 東山 80
A B
1 伊藤 88
2 田村 82
3 東山 90
超初心者ですみませんが、よろしくお願いします。
142:名無しさん@そうだ選挙にいこう
10/06/03 22:00:55
抽出は、関数でできなくもないけれど、マクロより難しくなる。
メンバー抽出だけはマクロの記録とかでやってみれば?
143:名無しさん@そうだ選挙にいこう
10/06/03 22:46:31
>>141
人数が多い場合は関数でやってはいけない。
特に配列数式はヴァカ。
考え方としては名前を最優先するキー、次に優先するキーに点数を降順にソートして
名前が上と違うものを抽出。
ピボットテーブルで集計方法を最大値にすればこの考え方でやっていることになる。
144:名無しさん@そうだ選挙にいこう
10/06/03 22:49:26
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】
【5 検索キーワード 】
田中の数がひとつ増えたら、佐藤の数がひとつ減る
田中の数がひとつ減ったら、佐藤の数がひとつ増える
ようするに
田中,と佐藤の合計がいつも同じになるようにしたいんですけど
できますか?
田中 佐藤
12 10
田中マイナス3 ↓
田中 佐藤
9 13
145:名無しさん@そうだ選挙にいこう
10/06/03 23:27:17
>>144
入力するセルと表示するセルが同じセルならVBAじゃなければ無理。
VBAが使えなければ諦めることだな。
146:144
10/06/03 23:28:50
>>145
ありがと
VBAというものを勉強してきます。
147:Cherry ◆d/pQlCc6hA
10/06/03 23:59:42
なんか会社で使ってるExcelファイル、
ワークシートのタブがみえなくなったんですけど・・・
どうやったらなおりますか??
148:名無しさん@そうだ選挙にいこう
10/06/04 01:20:37
>>134
会社でファイルを開くとエラーメッセージが出ないのは会社PCには、そのリンク先ブックが
あるからで、USBメモリに保存して家PCで開こうとするとリンク更新はい、いいえが出るのは
リンク先ブックがないから、ということでOKですか?
で、家PCがExcel2000なので、シート毎しか検索できず、教えていただいたリンク先検索を
35シート全てでやってみましたが「見つかりませんでした。
こうなると、どれか分からないので全シートコピーして新しいシートにしなければメッセージが
出続けるのでしょうか?
できれば、行列幅も変わってしまうのでなんとか避けたいのですが・・・
行列幅も丸々そのままコピーできる方法はありますか?また、そんな丸々コピーでは
またリンクも引き継がれませんか?
149:名無しさん@そうだ選挙にいこう
10/06/04 01:23:42
ちなみに、会社PCで「編集」→「リンクの設定」をしてみるとリンク先が無いという感じで、
「リンクの設定」自体が色が薄くクリックできません
が、しかし家PCだとリンク先ブックが5つほど表示されます。
150:名無しさん@そうだ選挙にいこう
10/06/04 03:40:24
>>147
ツール⇒オプション⇒表示シートで、
シート見出しにチェックを入れる
151:Cherry ◆d/pQlCc6hA
10/06/04 06:06:57
>>150さん
なるほど、ありがとうございます。
でもわざわざこの操作でチェック外すようなことしないんだけど、
他の操作でも非表示になることがあるのかしらん。
152:名無しさん@そうだ選挙にいこう
10/06/04 06:15:15
>>151
オプションはうつることがあるから。
他の非表示のを開いてうつったのかもしれない。
あと、有名どころでは、自動計算のオプションは「ある操作」でチェックが外れたりするね
153:複乳
10/06/04 09:19:29
>>149
>>130はマクロ。VBAでぐぐれといいたいがぐぐった↓
URLリンク(detail.chiebukuro.yahoo.co.jp)
後はリンクが変に残っているのか、オブジェクトにリンクが設定されているかかなぁ
シートのコピーはシートタブを右クリックして「移動またはコピー」を選べばシート丸ごとコピーできる
1シートずつ別ブックにコピー、保存、開くでリンクの有無を確認
もしあればシートごとコピーじゃなく数式をコピーする
そうやって35回繰り返し、ブックの名前を変えればリンクの無いブックの出来上がり
154:名無しさん@そうだ選挙にいこう
10/06/04 09:33:41
>>153
すごくわかりやすくコピー&チェック教えていただき助かります
これならできそうです
155:名無しさん@そうだ選挙にいこう
10/06/04 22:51:58
Excelで逆ポーランドって使えるんですか
156:名無しさん@そうだ選挙にいこう
10/06/05 00:00:56
>152
>自動計算のオプションは「ある操作」でチェックが外れたりする
もったいぶらなくても「複数シート選択:作業グループ」のことでしょ?
157:名無しさん@そうだ選挙にいこう
10/06/05 00:07:37
>>132
Sub test()
i = 3
OLD_QTY = Cells(i, 4).Value '数字
Cells(i, 4).Value = Range("A1").Value
If Not Cells(i, 4).Comment Is Nothing Then
Cells(i, 4).ClearComments
End If
Cells(i, 4).AddComment Text:=OLD_QTY
'Cells(i, 4).AddComment Text:="" & OLD_QTY
End Sub
実行時エラー1004って出るよ。
お前も試してみたらどうだ?
158:複乳
10/06/05 01:47:47
>>157
Sub test()
Dim OLD_QTY As String
i = 3
と文字列として定義すればエラーで無いね
159:名無しさん@そうだ選挙にいこう
10/06/05 10:12:11
D_Q
160:名無しさん@そうだ選挙にいこう
10/06/05 15:49:07
>>158
OLD_QTY って変数名から推測すると、
Dim OLD_QTY As Long(またはSingle)じゃね?
Cells(i, 4).AddComment Text:=CStr(OLD_QTY)
161:名無しさん@そうだ選挙にいこう
10/06/05 21:14:09
検索でコピペが使えないのが不便。だれかコピペが使えるようにするアドオン作って。
162:名無しさん@そうだ選挙にいこう
10/06/05 21:30:21
>>161
?できるよ?
163:名無しさん@そうだ選挙にいこう
10/06/05 21:58:50
1
10
3
33
5
a
e
あ
ゑ
乳
■
↑を並べ替えると↓になります。
1
3
5
10
33
■
a
e
あ
乳
ゑ
"■"は2バイト文字なのに、なんで"a"より上になるの?
"ゑ"はひらがななのに、なんで"乳"より下になるの?
164:名無しさん@そうだ選挙にいこう
10/06/05 22:26:55
乳が上に来てるのはふりがなを使ってるからだな
165:名無しさん@そうだ選挙にいこう
10/06/05 23:02:17
はぁ?
166:名無しさん@そうだ選挙にいこう
10/06/06 00:12:52
(;´Д`)ハァハァ
167:名無しさん@そうだ選挙にいこう
10/06/06 05:53:09
ふぅ・・・
168:名無しさん@そうだ選挙にいこう
10/06/06 14:21:53
OS Windows XP Home Edition SP2
Excel 2007
VBAは使えません
URLリンク(www.age2.tv)
これはFOMのテキストのものなんですけど、
この中から一人の会員番号を基に利用項目と利用金額を抽出し、
別のシートへ利用明細を作成したい場合、どの関数を使えばいいのでしょうか?
169:名無しさん@そうだ選挙にいこう
10/06/06 14:31:23
>>168
関数はない。まあ、馬鹿みたいにマニアっぽくすれば出来ないことはないけど。
抽出は関数の不得意技。
vba覚えた方が早いくらい。フィルターで抽出してコピペをしてそれをマクロの記録にとっておくとか。
170:168
10/06/06 14:42:29
やっぱりフィルターしてコピペしかないですか?
今、IFの周辺の関数を習いはじめたところで、
条件にあった項目を抽出して一度に表示できたら便利だろうな
って思ったのですが・・・
171:名無しさん@そうだ選挙にいこう
10/06/06 15:31:02
>>170
この手のはAccess使っちまうからようわからんが
ピボットが得意そうな分野じゃね?
172:名無しさん@そうだ選挙にいこう
10/06/06 15:40:42
【1 OSの種類 .】 WindowsXP-Pro
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 はい(今回は使わない)
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 Excel2000 横軸 縦軸
セルの内容を横軸縦軸に配分する方法が分かりません。
目標はBの列をX軸に、Dの列をY軸にすることで、D自体は D=A*B+C ですが、
下記のように選択して
URLリンク(uproda11.2ch-library.com)
グラフ(折れ線)ボタンを押すと以下のようになります。
URLリンク(uproda11.2ch-library.com)
本当はピンの重さがX軸に組み込まれて赤色の線のみにしたいのですが
出来ません。
どうすべきでしょうか?
173:名無しさん@そうだ選挙にいこう
10/06/06 15:41:14
例えばA1に抽出条件(会員番号)があったとして該当の日付を上から抽出しようとすると
=IF(COUNTIF(C:C,$A$1)>=ROW(A1),INDEX(B:B,SMALL(IF(($C$3:$C$100)=$A$1,ROW($C$3:$C$100),10^10),ROW(A1)),0),"")
CTRL+SHIFT+ENTER の同時押しで配列数式に
下にコピー。
もうちょっとスマートにはできると思うし、作業列を設ければもう少し楽にはできるとは思うけど
174:名無しさん@そうだ選挙にいこう
10/06/06 18:27:32
>>172
青い方の線を選択してクリアしたらどう?
175:163
10/06/06 20:26:08
163ですが、マジレスきぼんです!
176:複乳
10/06/06 20:52:28
>>175
エクセルの並び替えは数字アルファベット日本語(フリガナ)順
記号は数字とアルファベットの間になるんじゃないの。試せば
177:名無しさん@そうだ選挙にいこう
10/06/06 21:05:12
>>175
マジレスですが、デフォではExcelはふりがな優先で並べかえられます。
だから、どんなふりがなが入っているかによって、並べ替えの順番は変わる。
ゑ 乳 に関しては当方の環境では並び替えても ゑ 乳 の順番で並んでいます(ふりがなが何も入っていない)
■に関しては不思議だね。まあ、並び替えについては「ー」なんかは変な特性もあるからね・・・
178:163
10/06/06 21:50:03
>>176-177
ふりがなって、B列には何も入ってないんですけど・・・
IMEの単語/用例登録もしていません。
179:163
10/06/06 21:53:50
ついでに質問
数字、アルファベット、漢字が混在した列を並び替えたとき昇順で一番下になる文字は何?
180:名無しさん@そうだ選挙にいこう
10/06/06 22:04:08
【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel07
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】vlookup 部分一致
表1と表2があるとします。
項目C(項目AとBのセル結合)を検索キーにし、
表2から「完全に一致しているもの」「部分的に一致しているもの」を項目Dに表示させるとします。
完全一致している場合は"○"で表示、部分的に一致している場合は"110B"というように検索キーと共通しているところがあれば表示させます。
完全一致の場合はvlookupとif関数でやれそうなのですが、 部分一致の場合、いいアイデアが浮かんできません…
稚拙な説明でわかりにくいと思いますが、よろしくお願いいたします。
(表1:項目Dは最終的に関数を使い、下記のように表示させたい)
項目A 項目B 項目C 項目D
110 A 110A 110B
111 A 111A ○
112 A 112A 112B
113 A 113A 113D
114 A 114A #N/A
(表2)
111A
110B
116A
112B
113D
181:名無しさん@そうだ選挙にいこう
10/06/06 22:13:40
>>180
表1がA1~あるとして、表2がF列にあるとして、
=IF(COUNTIF(F:F,C4),"○",IF(MATCH(A4&"?",F:F,0),INDEX(F:F,MATCH(A4&"?",F:F,0),0)))
部分一致っていうのは、項目Aの部分が入っているという認識ですが、あってる?
182:名無しさん@そうだ選挙にいこう
10/06/06 22:15:42
>>181
OKです。
183:名無しさん@そうだ選挙にいこう
10/06/06 22:17:58
【1 OSの種類 .】 Windows vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 使えません
【4 VBAでの回答の可否】 できれば避けていただきたいですが、VBAでしかできないということでしたらお願いします。
【5 検索キーワード 】 フィルタオプション 文字列 抽出 検索 COUNTIF OR FIND SEARCH等
以下のような表が約50000行あり、そこから複数の特定の文字列を含むデータを抽出し、別シートにまとめなければなりません。
A B C列以降略
04ps-v01シーケンサ 3040
05ps-v01ボックス* 5230
05pr-v01シーケンサ 5120
05ps-v02シーケンサ 6840
05ps-v02シーケンサ 5990
05ps-r02ボックス 6300
05ps-v03シーケンサ 10290
21ps-v02ボックス 760
21vv-r11ルート 850
21vv-r12ルート 1050
★21vs-r11ルート** 340
例えばA列に対し、
「"v02"または"r11"を含む」…条件1
かつ「"ps"または"vv"を含む」…条件2
かつ「"05"または"21"を含む」…条件3
かつ「"21"と"ps"と"ボックス"を同時に含むものを除く」…条件4
という条件で検索をかけなければいけない状況です。
(実際は、一つの条件に含まれる項目数は10個前後で、「AまたはBまたはC…またはJを含む」といった具合に長くなります)
条件1が検索できればあとは条件4以外繰り返しでなんとかなると思うのですが、最初からつまづいてしまいました。
(続きます)
184:名無しさん@そうだ選挙にいこう
10/06/06 22:18:45
通常のフィルタでは条件を3項目以上に増やせないからフィルタオプションの設定をせよということなので
空欄のセルの下に検索条件の式を書き、2セル合わせて検索条件範囲に指定しました。
先ほどまで条件式を思考錯誤しながら編集していたところです。
今のところ試したのは以下のような式です。
=OR(A2="*v02*",A2="*r11*")
=OR(A2=*"v02"*,A2=*"r11"*)
=OR(FIND("v02",商品名),FIND("r11",商品名))
=OR(COUNTIF(商品名,"v02")>0,COUNTIF(商品名,"r11")>0)
文字列が認識されなかったり、ANDで検索したのと同じ結果が出てしまったり、
結果が1行も出てこなかったり、といった具合で全くうまくいきませんでした。
もしよろしかったらどなたかご教示のほどよろしくお願い致します。
長文失礼致しました。
185:複乳
10/06/06 23:49:15
>>178 漢字を入力した時点でふりがな登録はされている。コピーしたらない場合もある
>>179 全部の漢字入力して並び替えればわかるよ
186:複乳
10/06/06 23:53:10
>>183
自分でもどうかとおもうようなものだが・・一応機能するので
A1に上の表の04ps-v01シーケンサ が入ってるとする
以下C1-F1はそれぞれ条件1-4を表す。
C1=IF(OR(NOT(ISERROR(FIND("v02",$A1))),NOT(ISERROR(FIND("v02",$A1)))),1,"")
D1=IF(OR(NOT(ISERROR(FIND("ps",$A1))),NOT(ISERROR(FIND("vv",$A1)))),1,"")
E1=IF(OR(NOT(ISERROR(FIND("05",$A1))),NOT(ISERROR(FIND("21",$A1)))),1,"")
F1=IF(AND(NOT(ISERROR(FIND("21",$A1))),NOT(ISERROR(FIND("ps",$A1))),NOT(ISERROR(FIND("ボックス",$A1)))),-100000,"")
J1=IF(SUM(C1:I1)>0,$A1,"")
それぞれ下にオートフィルすれば条件に当てはまるものだけが出てくると思う
一応説明する。C1の NOT(ISERROR(FIND("v02",$A1))) これ
FIND関数は見つかれば文字列、見つからなければエラー値を返す。FALSEじゃないことに要注意な。エラー値はTRUEでもFALSEでも無い
ISERROR関数はエラーかどうかの判定。エラーならTRUEを返す。つまりTRUEなら"v02"が見つかっていない
NOT関数はTRUEとFALSEを逆転させる。つまりTRUEなら"v02"が見つかっている(逆のままでもいいんだが俺がわかりにくいというだけで使っている)
つまりv02があればTRUEが返り、無いならFALSE。後はORでくくってIF判定に持ち込んでいる
で、IFで判定してTRUEなら1を返し、条件4のように除外するバア愛は-100000だ(本当は全体に0をかけるべきなんだがめんどくさかった)
まーテキトーに変えれば使えるだろう
今気づいたけど条件1-3ってまとめれるな。まとめれるとこはまとめたほうがいいぞ・・
「"v02"または"r11"または"ps"または"vv"または"05"または"21"を含む」…条件1
だな。まぁ、ええけど
187:名無しさん@そうだ選挙にいこう
10/06/07 00:00:37
はじめまして。下記の方法が可能かどうか教えてください。
例えばフォルダ内にエクセルシートを作成すると、おなじみのエクセルのアイコンが表示されますよね。
このアイコンをそれぞれ特定の画像表示に変更することは可能でしょうか?
といいますのも、読書をし終わった後に要点をエクセルでまとめており、
その書籍の表紙を個々に画像で表示できれば視覚的に探しやすくなると思いました。
PCにはあまり詳しくないため、とんでもない事を言ってるのかもしれませんが、
この方法が可能かどうか教えていただきたく思います。
よろしくお願いします。
188:名無しさん@そうだ選挙にいこう
10/06/07 00:03:47
すみません。187の質問ですがテンプレート忘れました。
【1 OSの種類 .】 Windows Xp sp3
【2 Excelのバージョン 】 Excel 07
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 がんばります
【5 検索キーワード 】
189:複乳
10/06/07 00:16:34
>>187-188
個別には無理だったと思う
ショートカット、フォルダなら可能なのでそれをうまく使うしか無いかな
やるならKH IconMagic98ってソフトを使えばいい
アイコン 変更 でぐぐれば情報は色々見つかるわ
190:172
10/06/07 00:22:24
>>174
すいません。X軸は0から始めたいので不可です。
これは人に教えるので、出来るだけ簡単な方法を探しています。
191:名無しさん@そうだ選挙にいこう
10/06/07 00:45:54
【1 OSの種類 .】 WindowsXP SP3
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 セル内 数 足す
A1セルに書かれた「abc[5], defg[3], hi[2], jklmn[10]」
のようなカンマで区切られた複数種類の文字列の中の
[ ]で囲われた数字の和を、A2セルに「20」というように
書き出す方法はありますか?
ありましたらどうかお教えください。よろしくお願いします。
192:名無しさん@そうだ選挙にいこう
10/06/07 05:56:37
>>191
Function mysep(varDat As Variant) As Long
Dim varBuf As Variant
Dim i As Long
Dim ans As Long
varBuf = Split(varDat, ",", , vbBinaryCompare)
For i = 0 To UBound(varBuf)
ans = ans + CLng(Mid(Left(varBuf(i), Len(varBuf(i)) - 1), InStr(1, varBuf(i), "[", vbBinaryCompare) + 1))
Next i
mysep = ans
End Function
こんな感じでユーザー関数を作ったほうがスマートじゃない?
193:名無しさん@そうだ選挙にいこう
10/06/07 09:18:15
>191
A1をA2にコピー
]*[ を + に置換
] を "" に置換
*[ を = に置換
194:名無しさん@そうだ選挙にいこう
10/06/07 09:22:30
>172,190
最初のデータ範囲がどちらも数値なので、Excelは2系列(線が2本)のグラフを作ろうとしたようですね。
X軸にしたい方のデータを数値から文字にすることで希望のグラフができます。
E1セルに =B1&"" 、F1セルに =D1 を入力して、11行目までフィルコピーします。
E列の &"" で文字列になります。
後は E1:F11 を選択してグラフ作成するだけです。
データをいじることができない場合はちょっとややこしいですが、次に説明する方法で可能です。
195:194
10/06/07 09:25:26
>172,190
データはいじらない方法です。(ただし、当方Excel2003なので、このとおりにできないかも)
1 D1:D11を選択し、グラフアイコンをクリック、折れ線グラフを選択
2 [次へ]をクリック
→ グラフウィザードには、X軸は1~10の(仮の一連番号)で線が1本のグラフが表示される
3 「系列」タブをクリックする
4 下の方の「項目軸ラベルに使用(T):」の欄の右端部分をクリック
5 B2:B11を選択して、欄の右端部分をクリック
→「項目軸ラベルに使用(T):」の欄の内容が =Sheet1!$B$2:$B$11 になる
6 [次へ]をクリック
→ グラフウィザードには、X軸は0~9で線が1本のグラフが表示される
7 「タイトルとラベル」のタブをクリック
8 「X/項目軸(C):」の欄(現在空欄)に ビンの重さ を入力する
9 [次へ]をクリック
10 グラフの場所を希望に応じて設定のうえ[完了(F)]をクリック → グラフ描画
196:複乳
10/06/07 09:37:01
そこまでするなら
E2=D2-C2
でピンの重さだけの列作ってそれでグラフにしたほうが早くない
197:194
10/06/07 10:07:58
>196
最初、E列に =B1&"" とし、D1:E11の範囲でグラフを作ろうとしたけど、
Excelは左側(D列)をX軸、右側(E列)をグラフデータとみなそうとし、E列が文字列
なもんだから、折れ線が表示できなかったんです。
198:183
10/06/07 10:14:40
>>186 どうもありがとうございます!
ISERROR関数というものがあるのですね。勉強になりました。
原理は理解できたと思うので、応用してうまくやってみます。
見ず知らずの赤の他人なのに、わざわざ丁寧に書いていただいてありがとうございました!
199:名無しさん@そうだ選挙にいこう
10/06/07 10:20:41
【1 OSの種類 .】 WindowsXP home sp3
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 excel 保存 数値
エクセルで表計算をしていたら、セルに数値を入力しても合計の数値が変わらず、
保存をした時に数値が反映されるという妙な現象が起こっております。
会社のPC全てで同時期に同じ現象が起こってしまい、原因がわからず困っております。
1台を共有ではなく、全てのPCで1ライセンスずつ個別にプリインストールされております。
ある日突然このような現象が起こってしまい、全く原因不明です。
同じような現象が起こった方おりますでしょうか?
解決法をご存じの方がいらっしゃいましたら、是非ご教授頂きたく存じます。
200:名無しさん@そうだ選挙にいこう
10/06/07 10:30:38
>199
>152,156にもちょこっと書いてありますが、複数シートを選択するとなぜか自動再計算が解除されます。
(ただし、Excel2003しか使ってないので2007でも再現するかどうかは不明)
このページをみてください
URLリンク(refuge06.blog54.fc2.com)
魂の避難所 -パソコン関連トラブル解決メモ-
201:199
10/06/07 11:05:21
>>200
ご教授ありがとうございます。解決し、大変助かりました。
誠にありがとうございました。
202:複乳
10/06/07 12:28:53
>>197
こんな漢字?
URLリンク(www1.axfc.net)
&""を付けて文字列にしても数値にされてるような感じがする
というわけで&"-"をつけて完全に文字列にし、ピンの重さ列も用意
それでグラフかな
めったにグラフ作らないかrあもっと楽な方法があったりするかも
203:163
10/06/07 19:34:34
>>185
全部の漢字を入力するにはどうすればいいの?
204:複乳
10/06/07 20:02:05
>>203
一つずつ打って行けばイイジャン
205:名無しさん@そうだ選挙にいこう
10/06/07 20:06:08
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel 2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 sum エクセル
A1に あ B1に 1 があります
sumだと=sum(a1:b1)でエラーがでないのに=a1+b1だとエラーが出るのはナゼ?
206:複乳
10/06/07 20:10:25
>>205
その検索結果の一つ目に書いてるんだが
207:名無しさん@そうだ選挙にいこう
10/06/07 20:11:18
>>205
sumは文字列を除いて足してくれる関数だから。
というか、これはExcelの仕様です
208:名無しさん@そうだ選挙にいこう
10/06/07 20:24:59
手書きで文字など書き込めますか
書類作成時にどうしてもある記号が必要なんですがペンタブあればできるってことはないですよね・・・
OSの種類ってのはXPですが、今手元に使用するはずのパソコンがないのであとはわかりません
209:名無しさん@そうだ選挙にいこう
10/06/07 20:29:07
>208
Excel以前の問題だ。
周りにPCのこと知ってるヤツはいないか?
PCを少しでも理解しているヤツなら分かると思う。
210:複乳
10/06/07 20:30:06
>>208
「きごう」を変換した中にない?
ないなら外字登録
URLリンク(office.microsoft.com)
か、その記号を教えてくれればなんとかできるかも
211:163
10/06/07 20:30:15
>>204
おばちゃん、もっと具体的に教えてよ
212:名無しさん@そうだ選挙にいこう
10/06/07 20:34:22
>>209>>210
すみません。PCそれなりに詳しい人いたんですがわかんなかったんです。
記号変換は調べてみたんですがなかったんです
○の中を半分とか、3/4くらい塗りつぶす感じのなんですが
がんばっていろいろ試してみたのに「ずれてる」「ちゃんとしてくれ」とか相手先に言われてもうどうしていいか
もともとパソコンスキル必要ない仕事だったのに泣きたいです
213:複乳
10/06/07 20:35:36
>>211
漢字は入力できる?出来ないなら出直してきな
まず漢字をA1からA65536に入力、A列で並び替え
A1からA65535を消し、再度入力
そして最後にA列の一番下に残るのが並び替えで最後に来る漢字さ
終わったら私にも教えてね
214:複乳
10/06/07 20:36:40
>>212
何の記号だそれ?存在しないものなら図形で作る方が早いと思うけど
215:名無しさん@そうだ選挙にいこう
10/06/07 20:38:20
>208,212
アクセサリの「ペイント」で自分で絵を描いてGIFか何かで保存して貼り付けるしかないと思います。
描きたい記号に似た文字ををなるべく大きいサイズで表示して画面コピーしてからペイントにて加工する、
とか。
これ以上はスレ違いになるので、「スレたてるまでもない質問に答えるスレ」
スレリンク(bsoft板)l50
へどうぞ。
216:名無しさん@そうだ選挙にいこう
10/06/07 20:39:10
>>211
繰り返し文使って、chrで出力すればいいんじゃないか。
217:名無しさん@そうだ選挙にいこう
10/06/07 20:40:38
>>214
記号というとちょっと違ったかもしれませんね
ご丁寧にどうもです
図形っていうので手書き作成できるんでしょうか
明日ちょっとやってみます
>>215
どうもありがとう
作って貼り付けたこともあるんだけど「ずれてる」と一蹴されましたどうすりゃいいのさ
愚痴ってすみません。本当にありがとうございました
明日またもう一度いろいろ試してみます
218:複乳
10/06/07 20:44:20
>>217
ちょっとまっとけ
219:複乳
10/06/07 20:46:26
>>217
A1に入力してある。これをコピーして使うといい
URLリンク(www1.axfc.net)
220:215
10/06/07 20:48:43
>217
>作って貼り付けたこともあるんだけど「ずれてる」と一蹴されました
作った図形と、元々のセルの中の文字が「画面上ではきれいに並んでいるけど、
印刷したら重なったり、離れたり」っていうことかな?
エクセルは画面に表示された通りに印刷されることは、99%ありません。
例:画面上はセル内の十数文字が切れることなく表示されているのに、印刷すると
右端が切れたり、改行してしまったり
こういうときは、印刷プレビューで確認するといいです。
221:名無しさん@そうだ選挙にいこう
10/06/07 20:53:21
>>217
ちょっと待って!!!!
それ、特殊記号!!!!! 手描きじゃないよ!!!!!
222:名無しさん@そうだ選挙にいこう
10/06/07 20:55:31
>203
ATOKでもMSIMEでもいいから「文字パレット」を表示させればあとはダブルクリック+[Enter]の繰り返しです。ガンガレ!
223:複乳
10/06/07 20:57:06
>>222
その手があったか!
おまえ、あたまいいな!
224:名無しさん@そうだ選挙にいこう
10/06/07 20:59:15
>>218
ありがとう。本当にありがとう。でも真ん中塗りつぶしじゃないのw
明日もう一度なんとかしてみます
ダメなら逆切れ気味に「これ以上無理ですってば!!」ってメールでも送るw
>>220
ちゃんと印刷して確かめたんだけどダメだって言われた頑張ります
225:222
10/06/07 20:59:25
>223
ありがとう。ところで、>219は何なんですか? 今、自分はExcel使える環境じゃないので教えてください。
226:163
10/06/07 21:15:00
>>213
全部の漢字を入力する方法を教えてよ。
並び替えのやり方そのものは163の質問で結果を出してるんだし、普通の人ならわかるでしょ?
227:名無しさん@そうだ選挙にいこう
10/06/07 21:16:54
>>224
それUnicodeにしかないよ
出すのは文字コードで
IMEならIMEパッドで探して
228:163
10/06/07 21:17:38
>>222
文字パレット?
IMEを見たけどありませんでした・・・
229:名無しさん@そうだ選挙にいこう
10/06/07 21:31:49
>>163
スタート→すべてのプログラム→アクセサリ→システムツール→文字コード表
設定:MS Pゴシックで文字表をカーソル下へみっていってごらん。
お望みのフォントが見つかったらエクセルへコピー&ペーストすればよろし。
230:229
10/06/07 21:34:49
ごめん>>208宛ですた。
231:222
10/06/07 21:37:32
>228
MSIMEだと IMEパッド>文字一覧 になります。
それと、ダブルクリックじゃなくてクリックでいいですが、変換途中の状態になるので
[Enter]で確定+[Enter]でセル移動になります。
(>222はATOKでの話でした)
232:複乳
10/06/07 21:38:03
○の中を半分とか、3/4くらい塗りつぶす感じの記号がよく分からないんだが・・
下半分が黒い記号とか?
>>225
蛇の目の記号
URLリンク(detail.chiebukuro.yahoo.co.jp)
>>226>>213
233:複乳
10/06/07 21:47:31
>>224
URLリンク(www1.axfc.net)
どれだよわかんねーよ・・
後は外字かオートシェイプだな。なんとなくオートシェイプが無難な気がする。
234:名無しさん@そうだ選挙にいこう
10/06/07 21:53:10
縦横比がちょっと変ですが、20×20のマトリクスを作りました。
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
○○○○○○○○○○○○○○○○○○○○
どんな記号を作りたいの?
235:名無しさん@そうだ選挙にいこう
10/06/07 22:06:04
こういうのじゃね?
Unicodeだから????ってなるかもしれないけど。
URLリンク(www.dotup.org)
pw:en
236:名無しさん@そうだ選挙にいこう
10/06/07 22:08:29
そもそも丸の大きさもわかんないし。
Excelのスクショにペイントで丸を書いて、どんなふうにしたいのか示してよ。
ていうか、Excelを使う必要があるの?
別のソフトならもっと簡単にできるかもよ。
237:名無しさん@そうだ選挙にいこう
10/06/07 23:23:23
マクロに書いたコメント文だけを抜き出すにはどうすればいいでしょう?
Sub test()
Dim A As Long
'A列の最下行
A = Range("A65536").End(xlup).Row
'メッセージを出す
MsgBox "A=" & A
End Sub
これをSheet2に貼り付けて
A列の最下行
メッセージを出す
にする。(コメント前にあるスペースは残し、「'」は消す)
238:複乳
10/06/07 23:40:39
>>237
sheet2のA1:A7にはりつけたとして
B1=IF(LEFT(SUBSTITUTE(A1," ",""),1)="'",SUBSTITUTE(A1,"'",""),"")
下にオートフィル
VBEからも直接触れるらしいが欲知らない
239:fon
10/06/07 23:57:54
windows7です
A1~A14にルート2の1,41421356…を1マスずつオートフィルを使って入力するのにはどのような数式をA1に入力すればよいのでしょうか?
よろしくお願いします
240:複乳
10/06/08 00:07:53
>>239
=SQRT(2)
の結果でもみながら入力した方が早いと思うが
B1=SQRT(2)*10000000000000
A1=MID($B$1,ROW(),1)
下にオートフィルタ
241:fon
10/06/08 00:15:50
すみませんが、できませんでした。
242:名無しさん@そうだ選挙にいこう
10/06/08 00:27:56
>>241
B1に=SQRT(2)
B1の書式を0.00000000000
A1=1
A2=MID(B$1,ROW()+1,1)
A3からA14までオートフィル
243:fon
10/06/08 00:34:12
どうもでした。。
244:名無しさん@そうだ選挙にいこう
10/06/08 01:14:20
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 Excel IPv6 2進数 16進数 計算
16進数を2進数に変換したいのですが、hex2bin だと、#NUM! が出て計算してくれません…
16ビットな16進数(1~65535)を2進数に変換してくれる関数とか、他に無いでしょうか?
128ビットまるごとだと、なおうれす
245:名無しさん@そうだ選挙にいこう
10/06/08 02:07:08
>>244
ヘルプは見た?
引数に与えられる16進数の最大値は1FFまで
だから200以上はエラーになる
246:名無しさん@そうだ選挙にいこう
10/06/08 08:04:49
>>245
見てはいなかったですが、確認はしています。
他に無いでしょうか?
247:名無しさん@そうだ選挙にいこう
10/06/08 09:01:07
n進数の考え方なんてそんなに難しくないから
VBA使えるなら自分で作れそうなもんだけどな。
IPv6で検索してる所を見ると他にやりたい事がありそう。
ひとりごとでした。
248:名無しさん@そうだ選挙にいこう
10/06/08 09:01:32
>>244
0~FFFFまでなら
=HEX2BIN(LEFT(RIGHT("0000"&A1,4),2),8)&HEX2BIN(RIGHT(A1,2),8)
参考にしたページ
URLリンク(www.excel.studio-kazu.jp)
249:名無しさん@そうだ選挙にいこう
10/06/08 09:04:25
128ビットって大きな数過ぎて正確には扱えないよね
250:名無しさん@そうだ選挙にいこう
10/06/08 09:33:12
えっ
251:名無しさん@そうだ選挙にいこう
10/06/08 13:18:38
>>248
なるほど。
素直に16ビットで扱うことは諦めて、8ビットにわけて考えることにします
ありがとうございました m(__)m
あ…そういう前提だから9ビットまでしか対応してないのかもですね
で、IPv6は…正引きや逆引き、プレフィックスその他もろもろ
チェックするアドインでも作ろう…として、最初に躓きましたw
車輪の再発明は好きじゃないので、あれば利用したいなと。
PTRの設定、早速1文字ミスったので…orz
252:複乳
10/06/08 14:33:23
量が少ないならwindows付属の電卓でいいんじゃないの
表示→関数電卓を選べば2/16進数の計算もできるよ
253:名無しさん@そうだ選挙にいこう
10/06/08 16:23:48
16進変換なんて32butまでならVBAですぐ作れるじゃん
自分で作らなくても検索すればすぐ出てくるからコピペでもいいし
254:名無しさん@そうだ選挙にいこう
10/06/08 18:20:25
ひとつのセルに入力された結果を見て
アタリ
ハズレ
空欄(入力待ち)
の3種類の表示を使い分けるにはどうすればいいですか?
255:名無しさん@そうだ選挙にいこう
10/06/08 18:40:56
>254
A1セルの内容によって表示を変える式は2通りあります。
その1 アタリと表示したいA1の内容を式の中に直接書き込む場合
=IF(A1="","",IF(A1="○○○","アタリ","ハズレ")) ○○○の部分を適当に変える
アタリとなる内容が数字の場合は =IF(A1="","",IF(A1=999,"アタリ","ハズレ")) などの
ように、""は付けない
その2 アタリと表示したいA1の内容を別のセル(例:C1セル)に書き込んでおく場合
=IF(A1="","",IF(A1=C1,"アタリ","ハズレ")) C1セルにアタリとなる内容を入力しておく
C1セルに入力した内容が見えないように文字色を白にしておくといいです。
256:名無しさん@そうだ選挙にいこう
10/06/08 20:33:50
>>238
ありがとうございますた。
257:名無しさん@そうだ選挙にいこう
10/06/08 20:44:46
【1 OSの種類 .】 WindowsXPで製作(Vistaも使用)
【2 Excelのバージョン 】 Excel 2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可能
【5 検索キーワード 】 修復
助けてください。
VBAでマクロを作っていたのですが、製作途中である日突然ファイルが開けなくなりました。
ファイルを開くと砂時計が続き、VBAも開けません。強制終了しか方法がありません。
それが原因かわかりませんが、前日の終了間際に同じ名前のプロシージャーが二つあり、エラー表示が
出ていることを確認しています。修復して開こうと試みましたが、”ファイルへのダメージが深刻であり”と表示され
修復できません。なんとか元のファイルを直すことは出来ないでしょうか・・
258:名無しさん@そうだ選挙にいこう
10/06/08 21:24:25
昨日記号が作れないと助けを求めたものです
みなさんご親切にどうもありがとうございました。
>>233
の左から三つ目です。これがもうちょっと黒い部分が多かったり少なかったりの記号なんですが・・
図形のフリーハンドっていうのがあったので枠囲って塗りつぶしでなんとかしました
多分これでどうにかなってると思・・・いたいw
あとついでに質問させてください
うまく説明できないのですが、画面いっぱいにカーソル移動させた時、画面が動かないんです
たとえば・・20列目までは画面に映ってる時に、↓キーで21列目に移動させても画面がすすまないんです。
25列目くらいに移動して初めて21列目が見れるよう(画面移動して)になる
図形をいじってたらいきなりこうなって打ちにくくて困ってます。ちなみに2007です
259:名無しさん@そうだ選挙にいこう
10/06/08 21:37:53
>>258
スクロールロックキー を押してしまったんじゃないかい?
もう一度Scroll Lockを押せばOK
260:複乳
10/06/08 21:51:39
>>258
そんな文字はなかったような
下は>>259じゃ無ければウィンドウ枠の固定かも
>>257
エクセル ファイル 壊れた
でぐぐる。やり方は色々ある
OOo使うのが一番復旧しやすい気がする
バイナリエディッタでも見れる可能性はある
まぁー多分、作り直した方が早いよ
261:258
10/06/08 21:55:07
ありがとう。明日見てみます
262:名無しさん@そうだ選挙にいこう
10/06/08 22:18:47
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 関数 桁 参照
基本的な質問ですいません。
データ列の上N桁を読み込んで、別に用意したテーブルの項目名をあてはめることは可能ですか?
たとえば、
「データ列」 「テーブル」
002** → 002 北海道札幌市
120** → 120 東京都足立区
530** → 530 大阪市北区
のような。
実際はデータ列は5,000行~30,000行程度×10シート、テーブルは100行程度のボリュームがあります。
また上N桁は2桁、3桁のように決まっていません。上2桁~上5桁までばらつきます。
vlookupでは無理のようでどの関数で処理すればいいのか分かりませんでした。
263:名無しさん@そうだ選挙にいこう
10/06/08 22:23:35
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】否
超初心者です。
ページレイアウトタブにある「行番号」を表示させて学習していたら
作成時はもちろん新規作成を出すと必ず行番号1が表示されるようになり
常に行番号の▼を「なし」とクリックしないといけない状態になってしまい
面倒くさくて困っています。
この1が出ないようにするにはどうすればいいでしょうか?
よろしくお願いいたします。<m(__)m>